Visitor:
Můžeš prosím rozvést (nejlépe s příkladem) větu: "Pokud distribuuji program linkující MySQL, tak musí být pod GPL nebo musí použít placenou verzi."
Pokud mám eShop, který prodávám a běží na databázi MySQL, tak musím ten eShop mít pod GPL, nebo musím si MySQL koupit?
Visitor:
A co třeba klasický prodej eShopu zákaznikovi, kterému to rozjedu na nějakém hostingu? (prostě klasika)
Jinak se mi zdá zajímavé, že je rozdíl, jestli MySQL nainstaluji bokem a pak mu k tomu hodím shop a nebo pokud mu prodám shop včetně MySQL. Co třeba varianta prodávám eShop + MySQL instalaci ale neprodávám MySQL server? Na to co to je se mi to zdá až příliš zamotané :)
Lukáš Stareček:
Je pravda, že MySQL se postupně vylepšuje, ale některé mýty nejsou mýty. Z mého úhlu pohledu je to jen hloupé (bez urážky) úložiště dat, které se hodí pro jednoduché aplikace. Pro složitější systémy se nehodí a ani na to není stavěná, ikdyž se o to vývojáři snaží. Pro jednoduché a středně složité weby je ale MySQL dobrou volbou. Co mám konkrétni připomínky k prezentaci, tak:
1. Jeden ze zakladatelů MySQL odešel, protože pod SUNem vydali verzi 5.1, která v sobě dle jeho slov obsahovala několik vážných chyb, které mohou způsobit ztrátu dat. Dle jeho slov tedy není, pravda že se MySQL vydává bez vážných chyb.
2. Papírově vypadají funkce obdobně jako u jiných vyspělých DB, ale když se člověk začte podrobněji do manuálu, zjistí, že to má háčky. Ano, MySQL má cizí klíče, ano, má triggery, ale v manuálu ve výčtu omezení je mj. uvedeno, triggery nejsou spuštěny cizím klíčem viz
http://dev.mysql.com/doc/refman/5.4/en/stor…-restrictions.html . Opravdu směšné a něco to vypovídá o implementaci MySQL...
3. Autoincrement je poměrně hezká věc, která má nepříjemné efekty. Např. že 0 se inkrementuje => 0 je vyloučena z oboru hodnot => Nutnost speciálního přepínače SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
4. Fulltext je více méně směšný z hlediska funkce i výkonu. Pokud to někdo z fulltextem myslí opravdu vážně, tak použije něco jako je Lucene, Xapian, Sphinx atp. Nutno podotknout, že ostatní DB na tom nejsou lépe. Fultext je prostě lepší řešit speciálně na to určeným nástrojem.
5. Dle benchmarků exceluje při netransakčním zpracování. Při transakčním je ale pomalejší než vyspělé DB. Tak stejně při velkém vytížení konkurenčními procesy. Kdesi jsem četl, že je to dáno způsobem zamykání kritických sekcí (semafory?) a že by museli přepsat kus jádra aby to změnili.
No a z mých zkušeností si ještě postesknu, že MySQL má dost chabý optimizer/query planner.
Co je na MySQL velmi sympatické je její jednoduchost a pokud si ji udrží, bude mít své místo mezi DB. Na robustnější DB ale stále nedosahuje a určitě nějakou dobu ještě nedosáhne.
Toť můj názor a zkušenosti s MySQL.
Diskuse je zrušena z důvodu spamu.