no vidíš a já zase mohu smát, jak někdo považuje třeba mongodb za databázi a věří jejich lživým proklamacím a ujištěním.
Pg kupodivu není tak špatný jako nosql, do určité velikosti a počtu shardů. Výhoda je, že se na to můžeš spolehnout a víš jak se chová. Blbě ale funguje v kubernetu a na virtuálních discích, tam s tím trochu bojujeme. Provozumeme to třeba jako náhradu elasticu, 50 TB dat, cca dvě miliardy záznamů na jeden TB.
NoSQL začalo jako nějaká nevole proti extrémně pomalým a sql databázím pro akvizici dat, z počátku se obětovala spolehlivost a funkce, dnes ale už zase ty funkce a spolehlivost chceme, sql databáze se naučily být výrazně rychlejší.
Databáze se má volit podle use case a ne podle nějakého vnitřního přesvědčení.
Pg kupodivu není tak špatný jako nosql, do určité velikosti a počtu shardů.
Tohle je totální nepochopení celé problematice. Vůbec nejde jestli je nějaká databáze špatná nebo není tak špatná, jde o to co umí.
Používat relační databázi jako náhradu ElasticSearch, pro mě zní jako totální blbost, ale předpokládám, že to nemá s náhradou ElasticSearch nic společného a jedná se nějaký transakční logy nebo tak něco.
NoSQL začalo jako nějaká nevole proti extrémně pomalým a sql databázím pro akvizici dat, z počátku se obětovala spolehlivost a funkce, dnes ale už zase ty funkce a spolehlivost chceme, sql databáze se naučily být výrazně rychlejší.
Tohle je blábol. Jenom si prostě lidé uvědomili, že některé vlastnosti "klasických" relačních databází nejsou výhodné pro všechno a někdy je prostě rychlost, škálování a množství uložení dat lepší než mít 100% jistotu okamžitého zápisu. SQL a i NoSQL mají své výhody a nevýhody.
Tyhle prohlášení na mě působí jako od člověka, který všude vždy nacpe SQL databáze, protože to takhle už 20 let dělá (přece se nebude učit nic nového) a ani se nezamyslí, jestli by na to nebylo něco vhodnějšího.
Súhlasím a dodám že,
Osobne mi práve naopak príde že NoSQL vedia lepšie pokryť potreby na ktoré je určené SQL než naopak. A vlastne i preto sa NoSQL často nazýva aj "Not Only SQL". Ale všeobecne každá databáza má iné funkcionality a funguje jednoducho inak. Môžeme robiť benchmarky nad "najlepšie štrukturovanými dátami" pre danú databázu, a to porovnávať a nejaké orientačné výsledky, ktorá databáza je rýchla alebo pomalá to skutočne dá. Ale hovoriť všeobecne že každá SQL je lepšia/horšia v tom či onom než každá NoSQL, to je totálny nezmysel.
Aj SQL má význam používať, ale presne ako hovoríš, NoSQL to nenahradí. A určité funkcie SQL databáz nenahradí ani to NoSQL. Na jednu vec je lepšia SQL, na druhú NoSQL. Všeobecne preferujem viac NoSQL, a aj si myslím že je dnes vhodnejšia pre viac % prípadov než SQL, ale definitívne nie pre všetky. SQL má stále význam. No neviem si predstaviť z akejkoľvek SQL databázy urobiť key-value cache ako Redis alebo nahradiť nejaké featury z MongoDB.
Áno, cpať všetko do SQL je fakt nezmysel, a v prípade Big Data alebo streamingu je to priam šialenstvo. Podobne ako robiť komplexné relácie v nerelačnej databáze.
28. 1. 2025, 16:07 editováno autorem komentáře
Ono lze dělat spousty věcí, otázka je jestli to dává nějaký smysl. Technicky je možné kde-co, ale logicky - ano nosql vznikaly právě proto, že použití SQL je extrémně svazující při použití v clusterech. Pokud těch serverů bude 10... 100 a víc?
Zatlouct hřebík lze i šroubovákem, ale asi s ním nepůjdu mlátit hřeby na stavbu a tvářit se, že jsem fakt profesionál.
ale s tím si užiješ také dost práce, cassandra sice umí lineárně škálovat do desítek, stovek nodů, ale už u 60 jsme zažívali poměrně peklo, to udržet stabilní a dodržet SLA. Scylla je super, ale tam škálování je dost v plenkách.
S scyllou jsme ale narazili na omezení počty tabulek, partitions a pak i celkovou velikostí cluster.
U Cassandry si zase musíš být dost jistý co děláš, s pětkou se hodně věcí markantně vylepšilo, ale pořád končíš s tím, že pokud máš pár desítek TB dat, vlastně ten Pg není tak špatný.
Moji práci je právě tyhle uber super databáze připravit na produkci a nastavit ops pro provoz. K Pg se vždy rád vracím právě kvůli tomu, že když něco do dokumentace napíšou, že funguje, tak to i funguje, u scylladb podávají spousty zavádějících informací, u monga lžou atd.
Tady asi jde spíš o to, že vezmou dva koncepty a jejím spojením spojí jejich největší nevýhody. Následně to prodávají jako super cloud řešení.
Cassandra a reimplementace ScyllaDB má alespoň solidní návrh.
Jako upřímně mám z těch distribuovaných systémů docela hrůzu když si člověk představí jak to vlastně funguje, ale nikdy mě to nezklamalo. Odpověď na otázku "a fakt se nemůže nic stát" ve mě vzbuzuje potutelný smích.
mně se líbí u cassandry, že je nějak navrhnutá, autoři to neskrývají, jasně deklarují a dokumentují, horší už je, že to nečtlou klienti, kteří si jí vybírají na projekty, takže věčné problémy s řazením, indexy, mazáním a opakovanou změnu hodnot jsou na světě.
Pak velký problém jsou county a jejich CRDT, při desítkách nodů a občasných problémech na síti/komunikaci to dělá velkou neplechu. Nelze snadno zjistit nějaký rep lag a ops je dost náročné.
Souhlasím s myšlenkou, že extrémní hondba za distribuovanými systémy a pořád novým a novým chybovým SW je úsměvná. Každá rok nasazujeme do produkce novou distribuvanou databázi a přitom pořád vše raději řídíme obstarožním zookeeperem, protože ani po těch letech ve mě etcd nebo consul nevzbuzují dostatečnou důvěru, hlavně nějakou observabilita je ta tam.
Ale co, když klienty baví pořád přicházet s novými nápady, jak jim technologie změní jejich SW, rád jim s tím pomohu, rád se v těch databázích hrabu.
Nad postgresql je postaveno spousta databází.
TimescaleDB - timeseries databáze
YugabyteDB - kombinuje SQL a NoSQL v jednom produktu
Tak proč tolik hejtů, když je zřejmé, že myšlenka postavit tento typ databáze nad Postgresql je reálná a funkční. Dělá to na mě dojem, že se tu jen hledá důvod proč je to špatne, protože Microsoft. Chtělo by to trošku soudnosti a počkat si co z toho nakonec vyleze.
Protože mě Microsoft už dokázal, že jeho implementace Mongo API v Azure CosmosDB je šílená, tak proč bych měl věřit, že to zvládne lépe, když tohle z toho nejspíš vychází. Ale tenhle problém je skoro se vším co Azure nabízí. Ono to vždy vypadá hezky (na papíře) a co si budeme nalhávat MS to opravdu umí i hezky prodat, ale pak po čase z toho začnou vypadávat kostlivci a začne se roztáčet kolečko s jejich skvělým supportem.