ugrás a tartalomhoz

Adatbázis-kezelő nagy mennyiségű (statisztikai adat) tárolásához

webproghu · 2013. Dec. 5. (Cs), 15.59
Sziasztok!

Adatbázis-kezelő rendszert keresek nagy mennyiségű statisztikai adat tárolásához, hátha tud valaki ajánlani valamit, van tapasztalata a témában.

Összeszedtem pár pontban a követelményeket:
- alkalmas nagy mennyiségű adat tárolására, illetve nagy mennyiségű adat esetén is megbízhatóan működik
- gyors írás
- olvasás sebessége nem annyira fontos, de lehetőleg ne legyen túl lassú
- memóriában lehetőleg ne tárolja az adatokat, csak diszken
- lehetőleg jól skálázható
- lehetőleg létezzen hozzá natív PHP extension

Előre is köszönök minden tippet, segítséget!
 
1

Nagy mennyiség?

Poetro · 2013. Dec. 5. (Cs), 16.17
Mit jelent a nagy mennyiség? Millió, milliárd, több billió sor? Mit jelent számodra a jól skálázható? Mit jelent a gyors? Miért ne tároljon memóriában? Hogy akarsz belőle olvasni? Ha lemezre ír, akkor ugye jelentősen lassabb lesz az írás.
2

Mit jelent a nagy mennyiség?

webproghu · 2013. Dec. 5. (Cs), 17.32
Mit jelent a nagy mennyiség? Millió, milliárd, több billió sor?
100 millió sor környéke. Napi minimum 200.000 rekorddal növekszik.

Mit jelent számodra a jól skálázható?
A terhelés/adatmennyiség növekedése esetén lehetőleg leállás nélkül lehessen új node-okat beállítani.

Mit jelent a gyors?
Relatív. Nyilván arra akartam célozni, hogy az olvasás sebessége nem annyira fontos (viszonylag ritkán történik olvasási művelet), mint az írásé. Tehát inkább írási mint olvasási műveletekre legyen kihegyezve.

Miért ne tároljon memóriában?
Kérdésre kérdéssel válaszolok: miért tároljak sok GB-nyi adatot a memóriában, amikor nem akarok belőle gyakran olvasni?

Hogy akarsz belőle olvasni?
Az adatokból nem túl gyakori időközönként mapreduce job-ok statisztikákat generálnak (amik viszont már memóriában lesznek tárolva :).

Ha lemezre ír, akkor ugye jelentősen lassabb lesz az írás.
Én az adatok diszken való tárolásáról beszéltem, te pedig diszkre írásról. A kettő között azért lehet egy write buffer a memóriában. :) Az lenne a lényeg igazából, hogy az írási műveletek az írást végző applikáció részéről relatíve gyorsan történjenek meg, viszont maga a teljes adathalmaz ne a memóriában tárolódjon feleslegesen.
3

Cassandra, CouchDB, HBase

Poetro · 2013. Dec. 5. (Cs), 19.03
4

Relációs

Hidvégi Gábor · 2013. Dec. 5. (Cs), 19.37
PostgreSQL:
- kiforrott technológia (bármi problémád van, könnyen találsz rá megoldást)
- licenszelés (termék részeként eladhatod)

MySQL:
- kiforrott technológia
- az Archive motort pont erre találták ki