» »

MemSQL

MemSQL

Kurzweil ::

Zadnje čase na vsakem drugem koraku opazim, da se hvali MemSQL podatkovne baze. Se najde kdo, ki je zadevo v praksi preizkusil? Predvsem pa me seveda zanima zanesljivost, varnost, podpora in predvsem hitrost katero sami tako ponosno prikazujejo oz. oglašujejo. Iz dneva v dan me razni benchmarki ne prepričajo, ker so zaradi takšnih in drugačnih razlogov dostikrat pristranski oz. jim ne zaupam več (kot denimo trailerji pri filmih), na spodnjem videu je kratka predstavitve.

http://vimeo.com/44087431

pegasus ::

Hvali se vse kar obstaja, kar ne pomeni, da je tudi dobro zate. Predvsem moraš najprej razumeti, kaj tvoj problem je, kako ga rešuješ, kje imaš potencialna ozka grla, šele potem greš gruntat, če ti neka tehnologija lahko pomaga in kako.

Kurzweil ::

Prav zaradi te hvale in delegiranih benchmarkov pa sprašujem, če kdo to uporablja, v kakšne nemene, kaj so težave oz. na splošno kakšno je mnenje. Pri bazah ni neke strašne znanosti, vsak bi rad zanesljivost, varnost in hitrost s katero pa se hvalijo in jo v nekaj primerih tudi relativno pošteno dokažejo. In če me že ravno vprašaš zakaj apeliram na to bazo oz. po njej sprašujem, ker bi naj bila v prednnosti pri obdelavi do 80.000 queryjev na sekundo. Torej iščem nekaj kar v čimkrajšem času sprocesira oz. servira čimveč queryjev.

Je pa MemSQL sicer projekt dveh osebkov, ki sta tvorila jedro pri razvoju Facebooka, zato imam nekaj malega upanja, pa ne da tako zelo visoko cenim in ljubim Facebook.

Lahko pa tudi drugače vprašam, katera je generalno gledano za vas najbolj stabilna, varna in hitra/odzivna podatkovna baza? Seveda ne govorim o Oraclu, ampak o nečem, kar je dostopno mikro developerjem.

pegasus ::

Fact: query != query ... torej 80k/s *kakšnih* queryjev? Enakih kot jih imaš v tvoji aplikaciji?

Večina ljudi prisega na postgres. MySQL ima svoje štose, a je tudi še kar popularen. Če ne rabiš relacij, imaš na izbiro še nekaj drugih tehnologij in izdelkov.

Kurzweil ::

Če bi bila baza tako preprosta, bi bilo bolj ali manj vseeno katere baze izberem, torej precej je relacij, entitet, vpisov in poizvedb po njih (queryijev). Sicer pa še en razlog za kaj sprašujem po MemSQL je, da me zanimajo tudi alternative. Za postgreSQL in MySQL vem že od samih začetkov, pravtako sta ti dve bazi na napih faksih edini, ki se ju omeni po 1-2. predvanju na faksu, pa zelo dvomim da ni vsaj enakovredne, če ne boljše alternative.

pegasus ::

Splošnonamenskih alternativ ni prav veliko, a za specifične probleme obstajajo specifične rešitve, ki so ponavadi boljše od generične ponudbe.

Zato začniva še enkrat od začetka: kakšen problem rešuješ, kako ga rešuješ, kje imaš potencialna ozka grla? Verjamem, da ti bo generična relacijska baza v 99% primerih dovolj dobra. Kar ta forum poglej, spodaj teče postgres, se ti zdi prepočasen?

BigWhale ::

V resnici rabis testno implementacijo ali pa en set benchmark testov, ki vsaj priblizno ponazorijo delovanje tvoje aplikacije. Takole cez palec pa ne mores vedetiu ali bo neka baza delala bolje kot druga.

Kurzweil ::

Da dam kar konkreten primer, kar se baze tiče, bom na kratko kolikor je mogoče, ker lahko o tem pišem roman. Gre za uporabnike (ID, username, password, datum registracije, datum zadnjega logina, IP zadnjega logina in registracije,...) v strukturi so torej ekipe, igralci, trenerji, stadioni, finance, sporočila, tekme, lige, statstika, play by play teks, transferji, sponzorji... še morje drugega, seveda ne bom pri vsaki stvari pisal vsega, kot primer ima samo igralec v entiteti 16 tipov podatkov (igralcev pa sem zgeneriral 300.000), ki se nenehno procesirajo na več tisoč tekmah naenkrat in obenem se generira stran s statistiko. Torej ogromno poizvedb in veliko "udrihanja" po bazi in ogromno relacij. Sistem je seveda že povsem razdelan in je na bazi hobija, oz. je časa za razvoj veliko, tako da gre z roko v roki za učenje, hobi in dolgoročno za projekt, ki je že dogovorjen (oz. pogodba za prejšne nosilce poteče čez dobro leto in pol). Ne iščem odrešitelja, samo mnenja katere platforme izbrati. Še vedno je bilo najboljše slišati mnenje ljudi iz prakse, po možnosti čim bolj objektivnih ljudi, kar preberem na netu v veliki večini verjamem, ko pa gre za malce bolj resno stvar pa raje stvar v popolnost razdelam, južnjaki pravjo bolje sprečit, nego lečit.

blackbfm ::

v čem je sploh problem, a imaš kakšen bottleneck na obstoječi bazi al ne?

jz trenutno pomagam pri razvoju appa ki uporablja ~800 tabel na postgreju, shitload podatkov...stvar laufa bp, tako pravijo:)

Kurzweil ::

Ni nobene težave, zgolj želja, da bi delovalo čim hitreje pa četudi komu na oko neopazno. Gre za to, da v času tekme je že tako največ ljudi online in je aktivnost že tako povečana, med samimi tekmami, to je recimo 3x tedensko po 2h pa je ta aplikacija obremenjena verjetno bolj kot katerikoli bančni sistem v Sloveniji. Seveda je kvaliteten hosting tu ključnega pomena, ampak jaz vedno pravim, na faktor na katerega lahko vplivam, je treba zbrusit do konca.

@blackbfm, s matero bazo pa delaš?

pegasus ::

Saj je napisal, postgres.
Premature optimization is the root of all evil. Spiši svoj app, ga stestiraj funkcionalno in performančno in šele če ne dosega željenega, začni peglat.

BigWhale ::

Kurzweil je izjavil:

med samimi tekmami, to je recimo 3x tedensko po 2h pa je ta aplikacija obremenjena verjetno bolj kot katerikoli bančni sistem v Sloveniji.


Dude, start talking numbers. Koliko DB requestov je to?

Stvar je povsem preprosta. DB model naredis tako, da imas ustrezne podatke pravilno de-normalizirane, da se izognes morebitnim joinom. Ce gre vecinoma za iskanje in branje iz baze, potem poskrbis za ustrezen cache in to je to. RAM je poceni, privosci si ga. :) PostgreSQL je dovolj dober prakticno za vse. V bistvu ljudje ugotavljajo, da se jim razni switchi na NoSQL baze niso splacali in bi bilo bolje, da ce bi samo konfiguracijo SQL serverja mal posraufal. :)

Lej, v najboljsih casih Slashdota je to zadevo furalo en kup Perl skript in MySQL. :)

prozac ::

prej kot menjavo baze bi pogledu keri kveriji se izvajajo najpogosteje in kateri so najbolj potratni potem bi pa tam začel z optimizacijo qverijev, relacij, dodajanjem indeksov, hintov,... če se da bi v naprej pripravil kake vmesne rezultate (staging, sinhronizacijo...). Šele na koncu bi se lotil menjave baze. Za to bi moral biti res dober razlog.

vorantz ::

prozac je izjavil:

prej kot menjavo baze bi pogledu keri kveriji se izvajajo najpogosteje in kateri so najbolj potratni potem bi pa tam zaÄel z optimizacijo qverijev, relacij, dodajanjem indeksov, hintov,... Äe se da bi v naprej pripravil kake vmesne rezultate (staging, sinhronizacijo...). Ĺ ele na koncu bi se lotil menjave baze. Za to bi moral biti res dober razlog.


+1

Ce ne znas zoptimizirat queryja ti bo povsod delal pocasi


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

MySQL ali kaj drugega?

Oddelek: Programiranje
102106 (1424)          
»

ASP in direktni query v MySQL

Oddelek: Programiranje
101613 (1507) BBB
»

Koliko časa za osvojitev PL/SQL?

Oddelek: Programiranje
121790 (1531) kopernik
»

kako do mysql v win2k z IIS?

Oddelek: Programiranje
121566 (1423) webblod
»

apache+[kater sistem baz]

Oddelek: Programiranje
121618 (1467) Loki

Več podobnih tem