> Ad jazyk: ano, myslím jazyk pro „stored procedures“. A mimo CouchDB jak jsou na tom ostatní k-v storages?
Počkat! Já myslel že to _víš_, když to tak rezolutně tvdíš :)
Ty nosql databáze, které trochu znám já, nic jako „stored procedures“ nemají. A ani views Couche nemají striktně vzato nic společného s DB views nebo stored procs. Ten koncept je úplně jiný, „pojďme zaflákat HDD místo CPU“, atd.
MongoDB má queries a indexy, Redis má specifické API. Je to jiný svět. Navíc např. pro oba tyto dva existuje množství wrapperů pro programovací jazyky, takže v Ruby lze i nad Redisem (!) postavit plnohodnotný ActiveRecord-compatible model.
> Jestli se nemýlím, tak Apache foundation nenabízí „podporu“. Takovou tu podporu, co si můžeš zaplatit u Oracle, MySQL AB, popřípadě Microsoftu
Aha, tak prosím napiš raději že ta a ta nosq databáze nemá „placenou podporu“. To je relevantní. Někoho to zajímá, někomu je to jedno. Mně je to třeba úplně a totálně jedno :) Mně zajímá, že mi do pěti minut poradí autor software na IRC kanálu, a když ten spí, tak mi poradí jiný kolega.
> To, že schema-less k-v storage umožňuje uložit autory, blogposty a komentáře, ještě zdaleka(!) neznamá, že to tak je nejčistší možné řešení. Obdobně by šlo ukládat autory-články-komentáře do XML souboru a není to žádný argument pro opuštění ukládání relačních dat do relační databáze.
A není to ani argument pro to, ukládat je do relační databáze. Modelovat vztah článek-komentář můžu pomocí JSON stejně jako pomocí vztahu 1:N. Nebo pomocí chytře napsaného map/reduce v couchi nebo query v redisu, a tak dále.
Nic na světě „od přírody“ nevede k ukládání „ve třetí normální formě“.
> Naopak velmi často přechod z SQL na k-v může být (minimálně pocitově) obdobou přechodu z 3. normální formy na 1., tedy věc, ze které každý slušný programátor dostane osypky a začne se poohlížet po zbrani.
Hmm. Na to tu není prostor. Prakticky každý velký hráč na webu dneska denormalizuje jako o život, kvůli škálování, rychlosti, apod. (Google q=CAP+theorem, q=high+availability, atd)
> To není o tom, na co si kdo zvyknul. To je matematika, povaha dat, povaha přírody. Nějaká data jsou uspořádaná, mají předem danou strukturu a relace, pak jsou tady data, která třeba předem danou strukturu nemají a jsou nenávazná na nic dalšího. To není o zvyku, ale o naprosto racionálním vyhodnocení CO se pokoušíme KAM zapsat. Nehledám tady „nějaké možné“, ale „nejlepší možné“ řešení a to je imho velký rozdíl.
> Ad hostingy a nástroje a že jsou tu spoustu let. … proč po těch X letech se několik databází tak dobře drží na trhu?
Protože zvyk je železná košile. Ale ona ta dominance *SQL prostě skončí, a nejen u velikých hráčů. Když přišly Rails a Django, tak se taky všichni smáli a dneska je to v ASP.NET MVC okopírované i s komentáři nad metodami v controlleru.
> … s čím (minimálně v PHP) vývojáři v Česku pracují. A povětšinou je to ne ORM, ale nějaký bastlobjekt s metodami: connect close query queryToArray queryToRow queryToSingle …
Právě. Řečeno nyní ve spěchu bez obalu: mapují si nesmysly z MySQL na nějakou nativní strukturu jazyka, aby s tím mohli inteligentně pracovat. V MongoDB by jim bylo líp. Třeba na to někdy taky přijdou.