Guru testvereim a kernelekben.
Javaslatokat varok op.rendszer-adatbazis kezelo- programozasi nyelv kombinaciokra.
A fejleszteni kivant app 7X24-ben mukodne.
Nem ipari kornyezetben.
Erdekelne a velemenyetek.
Udv
lzskiss aka jimmyPhD
- 3115 megtekintés
Hozzászólások
azert tobb info nem artana a projektrol - sokat billent a merlegen.
- A hozzászóláshoz be kell jelentkezni
Pl. az erlang/OTP-t (meg hozza a mnesia nevu DBM-et) direkt ilyesmire talaltak ki, de nem artana tudni, hogy ez kb. mit fog csinalni, es milyen architekturat kepzelsz el hozza.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
redhat-oracle-java
- A hozzászóláshoz be kell jelentkezni
+1
redhat enterprise linux + oracle + javaEE, IBM JVM-el
Mission critical linux valyon él még?
Esetleg ADA ill. IBM DB2 játszhat még.
A 7X24 alatt ötkilences rendelkezésre állást értenek? Ilyen tényleg létezik, de ugye hajlandóak megfizetni az _igen_ borsos ártá. Ehhez külön szoftverfejlesztési modell kell, helyességbizonyítás ezerrel (pi kalkulus és barátai), átlagban minden programozó mellé tíz tesztelő és öt code auditor.
update: trusted solaris lemaradt
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
"Ehhez külön szoftverfejlesztési modell kell, helyességbizonyítás ezerrel (pi kalkulus és barátai)"
5 9-eshez? Nanemar.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
+1.
5-9 bullshit, azt barmibol ki lehet hozni. redundancia, redundancia, redundancia.
- A hozzászóláshoz be kell jelentkezni
És ha az app elhal egy adott bemenetre akkor mi leszen? gondolom nem csak attol Mission Critical mert mindig mennie kell, hanem mert mindig jol is kell működnie. Persze ide nekem a keresztetháromszöggel ha nem van igazam.
### ()__))____________)~~~ ###
#"Ha én veletek, ki ellenetek?"
#ASUS eee 900 Ubuntu 8.10 // fluxbox //
- A hozzászóláshoz be kell jelentkezni
funkcionalis helyessegbizonyitas nem trivi feladat, 5-9en tulmutat, IMHO
hogy magara a kerdesre valaszoljak: olyan fejlesztesi modellt kell hasznalni, es paradigmakat, hogy ne legyen ilyen :) pl continous integration, es normalis funcionalis teszteles + performancia teszteles.
- A hozzászóláshoz be kell jelentkezni
"És ha az app elhal egy adott bemenetre akkor mi leszen?"
Semmi, ujrainditjak (az exploitalassal probalkozok legnagyobb oromere ;) ).
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
Nem kell hozzá exploit, elég, ha bizonyos szabályos bemeneti mintára nem tesztelt a rendszer, és elhasal rajta. Láttam olyan rendszert, aminél az adatbázis tartalmazott három mezőt, melyekből legalább kettő fel volt töltve, és a három mezőbe elvileg nem kerülhetett azonos érték. Került. Ha TOAD-ból futtattam a query-t, simán lefutott, ha az appszerveren keresztül jött elvileg ugyanaz az kérés, akkor beledöglött. Elvileg tesztelték, gyakorlatilag me mi sz0ptunk vele egy csomót...
- A hozzászóláshoz be kell jelentkezni
Nem erre gondoltam, hanem hogy ez a kapasbol ujrainditgatas azzal a jelentekeny hatrannyal bir, hogy ha valaki meg szeretne torni az adott daemont, de az exploitja nem sikerult tokeletesen megbizhatora (vagy pl. beint az ASLR), akkor lehetosege van probalgatni, amig el nem talalja a jo visszateresi cimet, heap layout-ot, vagy masegyebet. Ellenben ha az adott daemon kapasbol ledoglik, es ugymarad, az nem csak a probalkozasokat limitalja, hanem jelentosen noveli annak az eselyet is, hogy a logolvasasben kevesbe jeleskedo rendszergazdanak is feltunjon a dolog.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
5-9 bullshit, azt barmibol ki lehet hozni. redundancia, redundancia, redundancia
lol, ugye azt vágod, hogy az 99.999%-os rendelkezésre állás évente ~ 1 perc leállást jelent
Ezt nem fogja a hobbi pc az asztal alatt hozni, akkor sem, ha tíz diszk van raid 1-ben.
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
LOL, matekból hányszor buktál?
- A hozzászóláshoz be kell jelentkezni
lehet tobb ilyet terveztem mar, mint Te [hiszed] :)
elosszor is, az 5-9 az evi 5.26 perc.
masodszor a dzsunka vas jo sw arch mellett nem problema (csak sok kell belole), persze jobb a normalis vas.
harmadszor: ki beszel itt raid1rol? nem torolheto rekordokrol, normalis dbrol beszelunk (master-master replikacio, elosztott tranzakciokezeles, foreign key mindenutt [egyszoval normalisan megtervezve]), aztan a keresek megoszlanak tobb frontend gep kozott..
de errol orakat lehetne meselni, mint ahogy szoktam is a megfelelo helyeken.
- A hozzászóláshoz be kell jelentkezni
egy ezred hangyányival kevesebb :) 5.256
részemről
ada +1
oracle +1
(talán trusted solaris +1)
- A hozzászóláshoz be kell jelentkezni
Minden olyan szoftwaretermek aminek koze van az IBM-hez kerulendo(draga es nem megbizhato, es a magyarorszagi csapat nem ert hozza), egyebkent redhat enterprise linux + oracle + javaEE -vel egyetertek, de nem ezektol lesz valami mission critical, hanem attol, hogy nagyon ertenek ezekhez a termekekhez. Tehat amihez nagyon ertenek a fejlesztok, uzemeltetok.
- A hozzászóláshoz be kell jelentkezni
igy van, ezt az egesz szar AIX -et meg dobjuk ki a kukaba....
ugyis csak szmeethalom HACAMPestul mindenestul
- A hozzászóláshoz be kell jelentkezni
:)
- A hozzászóláshoz be kell jelentkezni
kb
még a beryl se fut rajta
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Az AIX nem szoftwaretermek, olyan nincs hogy bemegyek az IBM boltba, és kerek 2 db AIX-ot, az AIX-ot a vassal adjak, es tenyleg megbizthato. En ugymond a dobozos termekekre gondoltam, hosszu evek tapasztalata, alapjan arra jutottam, hogy az IBM termekek soran hatalmas erofeszitesek es hosszu tunningolas nagy szakertelem, utan lehet olyan stabilitast és magbizhatosagot elerni, amit a tobbi termek alapbol tud.
- A hozzászóláshoz be kell jelentkezni
-java
- A hozzászóláshoz be kell jelentkezni
-1
- A hozzászóláshoz be kell jelentkezni
szerintem is -java
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
+1
glassfish ASel, vehettek ahoz is supportot.
- A hozzászóláshoz be kell jelentkezni
Pontosan. Aki Mission Criticalt akar, az meg is tudja fizetni az Oracle Licenszet. Nézz rá az Oracle MAA-ra is, mert a RAC és a Dataguard sokat segít a DB-s 99.9%-hoz.
- A hozzászóláshoz be kell jelentkezni
Tavfelugyeleti rendszerrol lenne szo.
Folyamatos uzem.
ADA nekem is szimpatikusnak tunik mondjuk.
Oracle az nekem hazai palya, de szeretnem valami koltseg es energiahatekony modon megoldani.
Koszonom egyebkent a hozzaszolasokat.
udv
lzskiss aka jimmyPhD
OpenBSD 4.1/i386
- A hozzászóláshoz be kell jelentkezni
Umm, bármiben?
Mert a nagy rendelkezésre állást úgy fogod elérni, hogy:
- a rendszered megvan több példányban, akár a Föld távoli pontjain, ha valamelyik ponton meghal, akkor még mindig ott van a többi
- az adataidat nem egy példányban fogod tárolni, hanem több példányban, és ha valahonnan elveszik, akkor még mindig megvan máshol
- operációs rendszerként lehetőleg többfélét is alkalmazol, valamelyik csak működni fog
- bármelyik programozási nyelvet is választod, ugyanazokat az elveket fogod követni a program megtervezésekor és kivitelezésekor, mint pl.:
- adatot soha nem törlünk, csak érvénytelenítünk (azaz az adatbázisnak nem küldünk DELETE SQL utasítást, esetleg extrém kritikusságú esetekben, pl. orvosi robotok esetében UPDATE-et sem)
- ha igazán kritikus a dolog, akkor pl. a bemeneti adatok validálását megcsináltatod három példányban három különböző csapattal modulként, és a modulok többségi szavazással döntik el, hogy elfogadják-e a bemeneti adatot egyáltalán (illetve extrém esetben mindegyik modulnak vétójoga van)
Meg hasonlók. Ajánlom az ő könyveit:
http://www.comp.lancs.ac.uk/computing/resources/IanS/
Vagy pl. ezt tőle:
http://www.comp.lancs.ac.uk/computing/resources/IanS/SE7/Presentations/…
- A hozzászóláshoz be kell jelentkezni
"
● The cost of producing fault free software is very
high. It is only cost-effective in exceptional
situations. It is often cheaper to accept software
faults and pay for their consequences than to
expend resources on developing fault-free software.
"
Kerdezonek vajon ilyen kell ?
Az egyszeru halandok szamlajank kezelese hasznalt banki rendszerek tobbsege eleri ezt a szintet ?
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
"Az egyszeru halandok szamlajank kezelese hasznalt banki rendszerek elerik ezt a szintet ?"
Nem, mert azok tul bonyolultak hozza. Olyasmire erdemes itt inkabb gondolni, ahol a szoftver hibaja kozvetlenul embereleteket veszelyeztet - fekrendszer-vezerles, repulogepen a fly-by-wire rendszer, es hasonlok.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
A sufnibank belso fejlesztesei meg a buvarbeka szintjet sem erik el, nemhogy ezt, de ahol sok penz mozog, ott kotelezo jelleggel hasznalnak ilyet - lasd a mastercard kozponti tranzakciokezelese.
- A hozzászóláshoz be kell jelentkezni
Érdekes...
Unit tesztekről, teszt-vezérelt fejlesztésről és acceptance tesztekről nem hallott itt senki?
- A hozzászóláshoz be kell jelentkezni
De nem az volt a kérdés.
- A hozzászóláshoz be kell jelentkezni
he, en ezt irtam fentebb. hogy ez IS kell. de ettol meg nem lesz HA az app :)
a TDD amugy zsakutca is lehet, nem kell bedolni neki! :)
- A hozzászóláshoz be kell jelentkezni
Milyen op. rendszer legyen az alap?
Red Hat Linux?
NetBSD?
Varom a szavazatokat:)
udv
Laszlo Zsolt Kiss aka jimmyPhD
OpenBSD 4.1/i386
- A hozzászóláshoz be kell jelentkezni
Mindkettő. Meg lehetőleg legyen hozzá Trusted Solaris és Windows Server 2008 is. Futtasd a programodat mindegyiken. Valamelyik majdcsak életben marad.
Ez most viccesnek tűnhet, de tényleg ez a megoldás...
- A hozzászóláshoz be kell jelentkezni
természetesen egy itaniumon futtatott openvms 8.3 at se hagyd ki :>
Core2Duo T7100, 2.5G, Ubuntu 8.04, 2.6.27.6
- A hozzászóláshoz be kell jelentkezni
Windoze?
Nem vagyok MSfanboy.
Nem is leszek.
X86-on kivuli alternativa?
Erdekelne van-e itt olyan aki fejlesztett hasonlo sw-t?
OpenBSD 4.1/i386
- A hozzászóláshoz be kell jelentkezni
lol.
"nem vagyok msfanboy, nemis leszek"
dehat nemertesz a tobbihez se azalapjan amiket kerdezel, akkor meg nem mindegy?
en fejlesztettem tobb ilyen projektet is (telekom), a diverz de szabvanyositott OS nem olyan rossz dolog, de "az ellen nem ved"
- A hozzászóláshoz be kell jelentkezni
Azert kerdezgetem kernelhivo testvereimet, hogy elkeruljem az altaluk mar elkovetett hibakat
tevedeseket.
Azt gondolom az egesz nyilt forraskod mozgalomnak talan a tapasztalatcsere az egyik legfontosabb
alappillere.
Egyebkent pedig annyit tennek meg hozza, hogy a bolcsesseg kezdete az alazat.
Udv
Laszlo Zsolt Kiss aka jimmyPhD
OpenBSD 4.1/i386
- A hozzászóláshoz be kell jelentkezni
> elkeruljem az altaluk mar elkovetett hibakat tevedeseket.
Semmi gond, lesznek majd újak, amikhez ezek az elkerülések vezetnek. :D
- A hozzászóláshoz be kell jelentkezni
Igen, x86 mellett legyen sparc IS.
Nem tudom lejött-e abból amit eddig írtam, de NEM azt javaslom, hogy futtasd a rendszeredet windowson, ahogy azt sem javaslom, hogy futtasd linuxon, és azt sem javaslom, hogy futtasd NetBSD-n. Ezzel szemben azt javaslom, hogy futtasd egyszerre több operációs rendszeren is a programodat, lehetőségek szerint úgy, hogy át tudják venni egymás feladatait, és az életben maradt node el tudja végezni a feladatokat. Így ha az összes linux bedől egy bug miatt, akkor a Solarisod életben fog maradni.
Ugyanezt javaslom az architektúrával is, az adatábisaiddal is és minden mással kapcsolatban is.
Feladat: van egy rendszered, ami 99%-os rendelkezésre állást biztosít. Van egy másik rendszered, aminek két változata van, az egyik 98%-os, a másik meg 97%-os rendelkezésre állást biztosít. Melyiknek nagyobb a valószínűsége az alábbiak közül:
- a 99%-os rendelkezésre állású rendszer egy adott pillanatban működik
- a 98%-os és a 97%-os rendelkezésre állású rendszer közül legalább az egyik egy adott pillanatban működik?
Ha nem tudod a választ a kérdésre, akkor mielőtt elkezded az operációs rendszerek, adatbázisok és programozási nyelvek témakörét feszegetni, azelőtt javaslom, hogy az ilyen jellegű kérdéseket rágd át alaposan.
- A hozzászóláshoz be kell jelentkezni
> van egy rendszered, ami 99%-os rendelkezésre állást biztosít. Van egy másik rendszered, aminek két változata van, az egyik 98%-os, a másik meg 97%-os rendelkezésre állást biztosít.
Hmmm. Arra azért kiváncsi lennék, hogy milyen számítások vezetnek arra, hogy jobb a 98%+97% -os rendszer, mint a 99%+99% -os.
> ha az összes linux bedől egy bug miatt
Saccolj rá valami valószínűséget, mert anélkül nem lehet figyelembe venni.
- A hozzászóláshoz be kell jelentkezni
A megoldás kulcsa, hogy két hajszálpontosan ugyanolyan oprendszer ugyanakkor fog összedőlni. Tegyük fel, hogy van olyan hiba, hogy február 29-én elszáll a rendszer, mert nem képes kezelni ezt a dátumot. Ha két ugyanolyan rendszered van, akkor mindkettő február 29-én fog meghalni, és nem marad, aki szolgáltasson. Ha két különböző rendszered van, akkor kevésbé valószínű, hogy ugyanaz a hiba jön ki rajtuk ugyanakkor. Így lesz a 99+99 kevesebb, mint a 98+97. De mondok egy vadabbat: a 99+99 kevesebb, mint a 99 - abban az esetben, ha csak és kizárólag ennek a komponensnek a rendelkezésre állását nézzük, mivel a 99+99-hez kell egy olyan modul is, ami tudja, hogy melyik modul él, és ez a plusz modul is meghibásodhat.
A linux kapcsán én saját magamnak évi 1 óra kieséssel szoktam számolni, ami 99.99%-os rendelkezésreállásnak felel meg. Annak a valószínűsége, hogy az összes linux egyszerre bedőljön nagyon alacsony, mondjuk 0.0001%. Viszont ha csak ezzel számolsz, akkor már el is érted az eredeti kérdésben szereplő rendelkezésre állást, azaz az összes többi komponensnek (hardware, adatbázis, saját fejlesztésű program (!!!)) magasabb rendelkezésre állást kell nyújtania. Ebben nem bíznék, hogy így lesz.
- A hozzászóláshoz be kell jelentkezni
> hogy az összes linux egyszerre bedőljön nagyon alacsony, mondjuk 0.0001%
OK, számolgassunk. Nekem az jött ki, hogy: 99.98990% > 99.940% Vagyis a két hajszálpontosan ugyanolyan 99% -os rendszer rendelkezésre állása nagyobb, mint a 98%+97% -os egymástól eltérő rendszer rendelkezésre állása.
Tegyük fel, hogy az egyszerre történő bedőlés miatt büntit kell fizetni, mondjuk 20M Ft-ot. Ezek szerint a bünti várható értéke: 20 Ft.
Jól számoltam?
- A hozzászóláshoz be kell jelentkezni
tárgytalan...
### ()__))____________)~~~ ###
#"Ha én veletek, ki ellenetek?"
#ASUS eee 900 Ubuntu 8.10 // fluxbox //
- A hozzászóláshoz be kell jelentkezni
Alaposan korbejartam azert a kerdeseket nyilvan.
Igaz, hogy jomagam a bsd alapu rendszerek haza tajan erzem igazan otthon magam.
Sok evig egy Tricord Enterprise 5000 server volt amit uzemeltettem, windoze futott rajta,
ennel egyedibbet eleg nehez talalni.
Van tudas mindenfele op. rendszerrel, adatbaziskezelovel, meg programozasi eszkozzel is.
Ezert elsosorban tapasztalaton alapulo kombinaciok erdekelnenek.
Udv:
Laszlo Zsolt Kiss aka jimmyPhD
OpenBSD 4.1/i386
- A hozzászóláshoz be kell jelentkezni
Én konkrétan redhat linux és windows server 2003 környezetben, java programmal csináltam hasonlót. Adatbázis az alkalmazás jellegéből adódóan nem kellett. Egyelőre megvan a rendelkezésre állás :-)
- A hozzászóláshoz be kell jelentkezni
Ha nem tudod a választ a kérdésre
nem tudhatod a korrelációs együttható ismerete nélkül (ami épp a naív válasz hibája).
a bedőlések nyilván nem független események.
- A hozzászóláshoz be kell jelentkezni
Szerintem próbálj meg a CentOS-t és a Glassfish V2-t, mert ha ez tetszik, akkor könnyedén tudsz rá kereskedelmi támogatást kapni.
- A hozzászóláshoz be kell jelentkezni
OpenBSD
- A hozzászóláshoz be kell jelentkezni
gentoo + mysql/postgreaql + C/C++
Tobb parameter pontosabb valaszt ad.
Mennyi love van vasra ? Mennyi munka ora van fejlesztesre? Milyen jelegu alkalmazasrol van szo, hanyas szintu fejlesztok fognak rajta dolgozni/hanyan...
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
lol
- A hozzászóláshoz be kell jelentkezni
+1
dehat turultol mit vartunk?
- A hozzászóláshoz be kell jelentkezni
Pedig a turulnak igaza vagyon.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
Szerintem próbálkozz virtualizált cluster megoldással, persze a fenti megoldásokkal együtt. Így jól skálázható rendszert kapsz, ami online hw migrálásra is képes lehet.
- A hozzászóláshoz be kell jelentkezni
C++ - abszolute - az alap! OS - ha nem is RedHat legalabb CentOS - nagyon bekonfiguralva - selinux kikapcsolva.
DB - hm, Oracle ha nagyon terhelt, ha csak light akko' mysql sem rossz.
- A hozzászóláshoz be kell jelentkezni
c++? AHAH
selinux kikapcsolva? lol :)
mysqlbol meg ember legyen a talpan, aki 5-9et kihozza.
ismet szagertonket olvashattak a parent postban :)
- A hozzászóláshoz be kell jelentkezni
tudnal irni egy-ket peldat, hogy mi az, ami miatt nem megoldhato a HA mysql alapokon?
itt a cegnel fut 1-2 helyen heartbeat+drbd+replikacio felallasban.
bar imho szebb lenne a drbd helyett valami nas/san.
Tyrael
- A hozzászóláshoz be kell jelentkezni
nem azt irtam, h nem megoldhato, csak hogy ketlem, hogy 9-5 kihozhato belole, akarmennyire is szeretem.
a master-master replikacio erosen hianyzik.
ha nem sw oldalrol nezzuk, egy vmware esx cluster sok geppel megoldja ezt a problemat, termeszetesen enterprise licencel, hogy legyen DRS meg vmotion. de hat ez nem az sw erdeme. :)
- A hozzászóláshoz be kell jelentkezni
a multi-master amugy sem olyan jo otlet a legtobb esetben a potencialis key-clashing miatt.
auto-incrementet meg csak csak meg lehet csinalni, de nem valami rugalmasan skalazhato az eljaras, es meg mindig nem nyujt megoldast az egyeb (primary, unique, foreign key) utkozesekre.
ha olyan sok az iras, hogy 1 vas nem birja el, akkor ketto sem fogja, plane ha vissza is replikalja mindenki mindenkire az osszes irast.
inkabb partitioning/sharding a megoldas.
ps: de persze mysql alatt is meg lehet csinalni a multi-master felallast, csak imho tobb hatranya, mint elonye van.
Tyrael
- A hozzászóláshoz be kell jelentkezni
elosztott tranzakciokkal a key-clashing (szerintem) kikerulheto, bar ez az izolacios szinttol is fugg
en mindig faztam a master-slave replikaciotol, mert ilyenkor a slave csak olvashato, raadasul a kliensnek tudnia kell rola (a mysql proxy meg nincs kesz, ugye?), aztan ha nem tud rola, es dnst allitasz akkor az meg ido. persze, csak epszilon. de ido.
- A hozzászóláshoz be kell jelentkezni
elosztott tranzakciok alatt az XA-t erted?
mondok peldat amire mi nem talaltunk megoldast:
geo cluster jelleggel kontinensenkent akarsz 1-1 mastert(most kezdesnek csak 2 szerverrel peldalozok), hogy ne kelljen nagy latencykkel dolgozni tengerentulrol. koztul multi-master replikacio.
van pl. 200ms replikacios lag a ket master kozott (ez nagyobb tavolsagoknal siman elofordulhat meg akkor is ha amugy nincs is terheles alatt a db szerver).
namost lefut amcsiban 1 keres, ami beszur egy tranzakcioval 1 rekordot:
megnezi hogy van-e mar ilyen, ha nincs beszurja, ha nem volt hiba tol 1 commitot.
mikor lefutott ez a tranzakcio amcsiban, meg 200 secig nem jelenik meg ez a rekord europaban, ergo ez ido alatt ott kis esellyel de beszurodhat egyedi kulccsal egy tok mas rekord, ami miatt inkonzisztens lesz a 2 db, masreszt meg elhasal a replikacio a duplicate key hibatol.
ezt ha jol emlekszem a facebook-os arcok sem tudtak kiokoskodni, ugyhogy ok is letettek a multi masterrol.
van mysql proxy, van hscale, spock proxy, de az applikacio szamara transzparens shardingrol nem tudok, de szepen megvalosithato, ha kizarolag orm alapokon hasznalod.
hscale-be igertek ezt a transzparens sharding dolgot, de meg nincs kesz, nem egyszeru feladat, es nem pici overheadje van, ha egy
select * from table where ... order by field limit 10, 100
tipusu query-t 5 vasrol kell osszeszedni (ez meg parhuzamosithato jol), de utana a reszeredmenyeket mergelni, rendezni, szurni kell. :/
utolso sorodnal a kliensnek tudnia kell rola alatt azt erted, hogy az app szamara nem teheto transzparensse a sharding? ez esetben a valaszom annyi, hogy nekem (meg :D) nem sikerult, de pont ezzel szorakoztam 1-2 hetet par honapja, es valszeg fogok is meg vele a jovoben.
szerk: elleptem aludni, majd holnap folyt kov.
Tyrael
- A hozzászóláshoz be kell jelentkezni
XAra gondoltam, igen.
megoldast hirtelen csak sw szinten tudok elkepzelni, vagy kiterjeszteni egy kicsit az XA -t. amugy ha mar engeded egy tranzakcionak hogy a dirty adatokhoz is hozzaferjen, akkor ott lehet ellenorizgetni dolgokat, es az belefer a 200msbe talan. persze az sws +reteg (vagy a tranzakciokontroller felokositasa) jobb otlet.
igen, azt ertem alatta, h transzparens shardingot akarok. :) meg transzparensen mindent. juzer lassa, hogy db.anyamkinja.hu, es ot ne erdekelje mas.
* en is aludnek, csak nem tudok. baratno mar nagyban alszik. holnap-ma meg 8kor keles. yay. :)
- A hozzászóláshoz be kell jelentkezni
Nem teszteltem oket, de nagyon reklamozzak, hogy ovek a csodaszer.
http://www.continuent.com/solutions/mysql-solutions/multi-site-clusteri…
Nem tudom a te konkret problemadra mennyire megoldas.
Ha valakinek van veluk tapasztalata erdeklne.
- A hozzászóláshoz be kell jelentkezni
"ha nem sw oldalrol nezzuk, egy vmware esx cluster sok geppel megoldja ezt a problemat"
... de a mysql-ndb-vel teljesen kizart. Funny. Bar, ugyis nagy divat ujabban a bootidobol farigcsalni a masodperceket.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
most nem tudom eldonteni, h komolyan irtad v nem. :)
az nbd nem megoldas, tudtommal a (minden i-re): min(fizikai_memoria_az_i._gepben) fuggveny eredmenye hatarozza meg a maximalis tablameretet (legalabbis 5.0ban igy volt)
update: kozben rajottem en is, h masra gondoltam. :)
- A hozzászóláshoz be kell jelentkezni
"most nem tudom eldonteni, h komolyan irtad v nem. :)"
Komolyan, bar ironikusan.
"az nbd nem megoldas, tudtommal a (minden i-re): min(fizikai_memoria_az_i._gepben) fuggveny eredmenye hatarozza meg a maximalis tablameretet (legalabbis 5.0ban igy volt)"
Es? HA szempontjabol tokeletesen irrelevans.
"update: kozben rajottem en is, h masra gondoltam. :)"
Ja, az jo, bar ezt meg en nem tudom hova rakni.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
csak szolok, hogy van a mysql-ben master-master replikacio :)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
"c++? AHAH"
Hat, inkabb mint a java.
"selinux kikapcsolva? lol :)"
Ki bizony, az a legjobb, amit az ember tehet vele, aztan mehet a helyere a grsec - bar jo kerdes, hogy hogy jon ez a HA-hoz.
"mysqlbol meg ember legyen a talpan, aki 5-9et kihozza."
ndb megvan?
"ismet szagertonket olvashattak a parent postban :)"
Tokeletesen egyetertek. :)
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
grsec? mission critical helyre? neviccelj mar. alap, hogy a disztrib altal szallitott kernelt hasznalom.
tolem szopathatod magad a c++al, csak lehet hogy en tized annyi munkaval 20x jobb rendelkezesreallasu rendszert hozok ossze, mint te cppvel.
- A hozzászóláshoz be kell jelentkezni
"grsec? mission critical helyre? neviccelj mar. alap, hogy a disztrib altal szallitott kernelt hasznalom."
Hat, lelked rajta.
"tolem szopathatod magad a c++al, csak lehet hogy en tized annyi munkaval 20x jobb rendelkezesreallasu rendszert hozok ossze, mint te cppvel."
Az a baj, hogy ez nem linearis. 5 9-est elhiszem, hogy konnyebb elerni javaval, de minel inkabb szigorodnak a kovetelmenyek, annal inkabb csokken az elonye. Aztan mar csak a hatranyai maradnak. :)
Bar, mint emlitettem, en sem C++-al allnek neki, de attol meg az sem "AHAH".
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
Érdekes, amit írsz.
Mindenesetre ha már a C++-szal akarsz 5 kilences kódot elérni, akkor a thread-eket lehet, hogy el kellene felejteni.
Legalábbis el kell rajta gondolkozni, hogy hogyan tervezed meg, hogy ne fagyjon és ne is haljon be (meg ha a haverod átveszi a fejlesztését, ő se tudjon nagy kalamajkát csinálni). A pointerezgetést is el kell felejteni és Managed Pointereket használni helyette (ha van rá referencia, akkor él, ha nincs, akkor meg felszabadul).
Szerintem akármilyen C++ programból nem lesz 5 kilences. Eleve úgy kell megtervezni már a kezdet kezdetén.
Meg az exception-ök dobálása előtt is el kell gondolkozni, hogy lesz-e aki végül elkapja...
A 100% branch coverage tesztelésnél meg gondolom alapfeltétel.
- A hozzászóláshoz be kell jelentkezni
> ha már a C++-szal akarsz 5 kilences kódot elérni, akkor a thread-eket lehet, hogy el kellene felejteni.
Érdekes gondolat. Java esetén is el kellene felejteni a thread-eket? Több processzoros gépet hogy kéne kihasználni, ha nem thread-ekkel? Aszinkron IO hiányában hogy lehet jó teljesítményt elérni thread-ek nélkül?
- A hozzászóláshoz be kell jelentkezni
A threadek teljesen kiszámíthatatlanná teszik a program futását.
Ha két mutexed van, az egyik szál megszerzi A-t, vár B-re, a másik B-t, vár A-ra, akkor kész a baj (java-ban is). Ha elfelejtesz lokkolni és az egyik szál felszabadít valamit, amit a másik használ, akkor is elszállhat.
Fejlesztettem már szerver alkalmazást és volt szerencsém olyan hibákhoz, amik 1 millió végrehajtott tranzakció után jöttek elő.
- ezek: vagy rossz szinkronizálás miatt voltak
- vagy a véges erőforrások felélése miatt (memória elfogy, fájl handle-k elfogynak,...)
A fent említett szinkronizálási problémák nem elfogadhatóak. Ha havonta fagy a program, már a hiba reprodukálásához is 1 hónap kell, ami a fejlesztést lehetetlenné teszi, de ahhoz pont elég, hogy az 5 kilences ne teljesüljön...
Sorokat érdemes használni (futószalag, queue, a szálak gyakorlatilag egymástól függetlenül tevékenykednek mindenféle szinkronizálás nélkül).
A GUI programozásnál Qt-ben gyakran van az, hogy többszálú programozás helyett félbehagyjuk az adott rész feldolgozását, de az eseménysor végére berakjuk a folytatást. Amikor összeszámolod egy könyvtár méretét, akkor mondjuk összeadod 100 file méretét, aztán kiszállsz. Az eseménysorban feldolgozódnak a billentyűzet, egéresemények, majd folytatod a következő 100-zal. Reagál a rendszer az egérre, a billentyűzetre is, miközben számol és mindezt csak 1 thread kezeli.
A skálázást meg úgy oldanám meg, hogy 1 szál kezeli mondjuk a páros tranzakciószámokat, a másik a páratlanokat,... Ebben az esetben maximálisan ki lesz a 2 processzorod használva és nem 50%-on futnak a lokkolgatások miatt.
- A hozzászóláshoz be kell jelentkezni
Egyreszt ugy kell megtervezni programot, hogy ilyen szitucaio ne forduljon elo.
Ha sorokat hasznalsz akkor is kell "lockolni", akkar megfelelo atomic utasitasokat hasznalva, neha megsporolhato kerneles (f/)mutexelgetes.
Ha nehezseget okoz free,delete hasznalta akkor javaslom mondjuk a perl -t , az eddig emlitett nyelveknel sok esetben sokkal gyorsabban lehet fejlesztni vele.
(mai szervereknel szerintem inkabb a 8 mag az atlag)
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
> Egyreszt ugy kell megtervezni programot, hogy ilyen szitucaio ne forduljon elo.
Így van. Szinkronizációs hibát tartalmazó programot nehezebb kijavítani, mint az elején megtervezni, hogy ki mikor lokkol. Lehetőleg kevés és rövid lokkolások legyenek (volt szerencsém látni olyan, hogy egyik szál ideje 90%-ában a lokkolás feloldására várt).
> Ha sorokat hasznalsz akkor is kell "lockolni"
Viszont sorokból vannak már kész, stabilra megírt komponensek. És jól ki is tesztelhető.
> Ha nehezseget okoz free,delete hasznalta
Az mindig nehézséget okoz, amikor egyszerre 10 ember dolgozik valamin. Kinek a felelőssége is felszabadítani? A legtöbb hiba ott jön elő, hogy az adatokat egymásnak adogatják és senki sem tudja, hogy most kell-e törölni, vagy nem. Ha meg még hiba is történik a feldolgozás közben, akkor több mint valószínű, hogy valami elfelejtődik.
Amikor szerveren dolgoztam TCP stack szerűséget írtam. A komponensek egymás között dobálgatták az üzeneteket, mindegyik természetesen lokkolt. A végeredmény az lett, hogy egy 4 magos gépen 1.5 processzort teljesen kiterhelt a lokkolgatások miatt.
Persze az sem megoldás, hogy minden üzenethez külön mutexet foglalunk le. Ez egyrészt időigényes, másrészt meg nincs kizárva, hogy a mutexek előbb vagy utóbb szintén elfogynak...
- A hozzászóláshoz be kell jelentkezni
Egyreszt mutexek szamat minimalizalni kell. A mutex nem olcso mulatsag, masreszt letrehozni es megsemiseteni meg dragabb, mint a lockolni /unlockolni, tervezeskor ezt az aprosagot nem art figyelembe venni. (futas kozben, ha egy mod van ra ne keletkezen mutex, indulaskor inkabb)
(Nem mindenutt kell recurzive mutex se, egyes nyelvek errol nem tudnak )
Most ez a skalazhatosag divat, de elofordulnak esetek, hogy tobbet art, mint hasznal, egyreszt bonyolultabb lesz a design, masreszt lehet pont a skalazhatosag beiptese miatt lesz akkora az erroforas igeny, hogy tenyleg keljen. (csak okosan)
A feledatot igyekezni kell ugy felosztani, hogy annak legyen feleloseg felszabaditani aki letrehozza.
En vagy megirom felszabaditast rogton foglalas melle "parban", vagy egy commentet teszek hozza, hogy eppen milyen elmebeteg modon akarom azt memoriat felszabaditani, vagy atmeretezgetni, vagy milyen jo okom van arra, hogy ne szabaditsam fel es milyen valtozasok eseten lesz ez rossz otlet.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Figy, nálunk nem hogy 5-9, hanem a 24/7 nonstop üzem is megvan MySQL-lel. Miért érzed úgy, hogy ez egy hatalmas kihívás lenne?
- A hozzászóláshoz be kell jelentkezni
nem 5-9, hanem 99.999 -- százalékos éves rendelkezésre állás, azaz bő 5 perc/év nem tervezett leállás van megengedve.
- A hozzászóláshoz be kell jelentkezni
Az előző desktop pécém öt évig ment folyamatosan. Látható tehát, hogy bármivel könnyedén teljesíthető ez az elvárás. :)
- A hozzászóláshoz be kell jelentkezni
Lehet, de tutira nem állt benned keresztben a kaki attól, hogy ha leáll, akkor annak mi lesz a következménye...
- A hozzászóláshoz be kell jelentkezni
A szoftver lenyege, hogy riasztasi esemeny ertsd betoresjelzes beerkezese eseten
20 masodpercen belul intezkedes tortenjen.
Es ugyfelnek nem igazan magyarazhatod, hogy bocs ujra kellett inditani a gepet,
meg hogy bug van itt ott.
Udv:
Laszlo Zsolt Kiss aka jimmyPhD
OpenBSD 4.1/i386
- A hozzászóláshoz be kell jelentkezni
érdekes
hálón jön, vagy célhw-n keresztül?
Tehát egy daemont akarsz irni, ami figyeli az eseményt, s küld egy sms-t/áramütést mér az operátorra és felvillantja 3x az adott monitor ledjét?
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Egy apro keresztkerdes: ki tudna Garantalni, hogy az altala felvazolt architectura es szoftverkornyezet a fenti kovetelmenyt? Kockare tenned a teljes vagyonod ezert az allitasert? ;) Ez tipikusan RT (soft/hard) feladat, annak minden kinjaval (tomegkiszolgalas, formalis modszerek (pi/rho calculus)). Ha nagyon energiahatekonyt, es megbizhatot akarsz, nezz szet rt-java + soc kornyeken - aztan harom kulonbozo megvalositas - tobbsegi szavazassal ;D
- A hozzászóláshoz be kell jelentkezni
> riasztasi esemeny ertsd betoresjelzes beerkezese eseten 20 masodpercen belul intezkedes tortenjen.
Egyszerű: bejön két riasztás, két útvonalon, két szerverre; a szervereken futó szoftverek nyilvántartják/továbbítják két útvonalon, két intézkedőnek. (Optimális esetben a 2 intézkedőnek 4 riasztás megy ki.)
Full redundáns, sok kilences :-)
- A hozzászóláshoz be kell jelentkezni
Ez nagyon tipikus esete annak, amit eddig magyaráztam, hogy csináld meg több példányban az egészet, és fussanak párhuzamosan :-)
- A hozzászóláshoz be kell jelentkezni
celhardwaren jon az info.
soros portokon:D
OpenBSD 4.1/i386
- A hozzászóláshoz be kell jelentkezni