
Jedna od vrlo korisnih osobina MySQL-a je to što ima podršku za različite storage engine. Na žalost tu osobinu ljudi obično ne koriste kako treba te su im ili sve tabele MyISAM ili InnoDB a za ostale potencijalne storage engine nisu ni čuli.
Jedan od relativno novijih storage engine-a je i RethinkDB koji je namenjen ultra brzim tabelama koje se čuvaju na SSD-u (solid state disk). Performanse u odnosu na MyISAM su zastrašujuće dobre (neuporedive sa ostalim storage engine-ima).
Više možete pročitati na RethinkDB wiki stranama.
Da li ima negde round-up storage engine-a za MySQL koji opisuje koji je dobar za sta?
Ako nema, eto ideje za sledeci clanak (kad ugrabis vremena :) )
Vanja
Nema da ja znam … cak ni mi interno u knowledge base-u nemamo neki „finalni spisak“ … imamo spisak storage engine-a (van ovih standardnih mysql-ovih) za koje pruzamo podrsku i to je to ..
Odlicna ideja za clanak :) samo … tesko da mogu da ih popisem sve, a i ne bi pisao o nekima koje nikad nisam probao .. tako da, mozda uspem jedan dan da napravim spisak onih koje sam probao
ja sam testirao na win server 2008 ubacivanje 10 M slogova u mysql bazu i to još k tome na virtualnoj mašini, trajalo je oko 3 minute ali je slog bio dužine 20 znakova.ali to sam radio sa load data.
fast load kod oracle ide oko 10 M slogova / 10 minuta
na innodb 10 M slogova ide oko 7 minuta
i to na disku 5400 o/min
a ovo je 60min /2,5 min *2 M=48
„ovo je 60min /2,5 min *2 M=48“
Ne valja ti racunica … da je grafik vremena za insertovanje podataka linearan onda mozda i nekako … ali ako pogledas grafik je za myisam prilicno linearan (odnost vreme/broj inserta) dok za ovaj novi storage engine nije! tako da, gledajuci ovaj grafik, RethinkDB ce odraditi insert na 10M slogova u 3 minuta dok ce myisam to isto odraditi za 15.
Test sa char(20) tabelom i nije mnogo validan (osim ako to nije bas ono za sta testiras bazu), da li tabela ima primary key, kog je tipa, koliko indexa ima ..
Bogdan, to znači koliko vidim na grafu da broj slogova kod inserta raste logoritamski u odnosu na vrijeme…..
graf nije dovoljno trajan da bi bio siguran da je y = t(x) = log(x*n) ali tako deluje na prvi pogled
evo je jedna „bajata“ lista storage engine-a
http://www.shinguz.ch/MySQL/storage_engines.html
hm, ovde (http://solutions.mysql.com/engines.html) ni ovde (http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html) nema RethinkDB engine-a, tj. nema „specijalizovanih“
pametna navigacija na de.mysql.com :)
na dev.mysql.com su samo storage engine-i koje mi pravimo .. a solutions strana nije bas najsvezija
ovo je spisak koji ja imam … nije potpun ali to je sto je:
MySQL/SUN
* MyISAM
* InnoDB
* Archive
* CSV
* Falcon
* Maria
* Merge
* DB2 for i/5 OS Plugin
* Memory/Heap
* Federated
* NDB/Cluster
* BDB (discontinued)
* Gemini (discontinued)
OSTALI:
* InnoDB Plugin ORACLE
* solidDB SolidTech in memory storage engine – purchased by IBM
* PrimeBaseXT PrimeBase Streaming engine
* MyBS PrimeBase BLOB engine
* PBXT PrimeBase Transactional storage engine
* OpenOLAP sourceforge storage engine for olap cubes – stalled since 2006
* RitmarkFS Ritmark File System storage engine
* BrightHouse InfoBright Data Warehouse storage engine
* NitroEDB NitroSecurity High Performance storage engine
* DDengine ddengine
* ScaleDB annc A Scalable and High Performance Transactional Engine for MySQL – OLTP / Data Warehouse
* RethinkDB RethinkDB MyISAM like storage engine ment to be used on solid state disks
* Sphinx Sphinx Tech Inc. external fulltext index accessible from MySQL
* IBMDB2I DB2 FAQ
* NitroEDB NitroSecurity