Volby key value databazy

oss

Volby key value databazy
« kdy: 22. 11. 2020, 18:33:07 »
Hladam nahradu za Cassandru, za nieco co nie je zavisle na Jave, je to multiplatfromove a aj to vie bezat z konatineru.

Nejake odpoucania?

Hladam nieco co uklada na disk, hodnoty od 10kB do 5MB, podpora replikacie a hlavne perzistencia.


Mlocik97

  • ****
  • 366
  • In love with Linux
    • Zobrazit profil
    • E-mail
Re:Volby key value databazy
« Odpověď #1 kdy: 22. 11. 2020, 18:47:42 »
redis (áno vie ukladať aj na disk)

AoK

  • ***
  • 171
    • Zobrazit profil
Re:Volby key value databazy
« Odpověď #2 kdy: 22. 11. 2020, 19:16:04 »
hm, velikost databáze? Počet čtecích a zapisovacých operací? Počet souběžných klientů? Asynchronní nebo synchronní replikace? Odolnost proti výpadku a očekávaná dostupnost? Prostě spousta důležitých otázek.

Mrkni ale na couchbase, myslím, že splní očekávání, za cassandru ho nahrazujeme poměrně často, ani samotný postgresql není špatná volba a zvládne velké objemy i provoz, mariadb/mysql opět může být někdy vhodná volba, dá se to postavit i nad elasticsearch (ale je to java).

V pár případech jsem použil i sqllite přímo z aplikačního procesu, dobře škáluje, dokáže běžet z lambdy na síťovém disku, při dobrém návrhu tabulek to dělá zázraky.

Běh v kontejneru je obecně problém pro jakoukoliv databázi kvůli měkkému ukládání dat do SW FS vrstvy, kdy se často nepropaguje fsync, nedají se dobře používat memory mapped soubory, nutný pinning s konkrétním storage nebo naopak při použití síťového uložiště se zvyšují výrazně latence nebo snižuje spolehlivostl Za mě to není výhra, ale spíše spousta práce navíc.

cjohn

Re:Volby key value databazy
« Odpověď #3 kdy: 22. 11. 2020, 23:19:17 »
Scylla DB - drop in nahrada Cassandry napisana v C++, takze by to mala byt iba jednoducha nahrada, bez nejakych dodatocnych uprav v kode.

oss

Re:Volby key value databazy
« Odpověď #4 kdy: 23. 11. 2020, 08:55:48 »
redis (áno vie ukladať aj na disk)

Nie. Nie je vhodna.

Scylla DB - drop in nahrada Cassandry napisana v C++, takze by to mala byt iba jednoducha nahrada, bez nejakych dodatocnych uprav v kode.

Nie je multiplatformova.



oss

Re:Volby key value databazy
« Odpověď #5 kdy: 23. 11. 2020, 09:04:01 »
hm, velikost databáze? Počet čtecích a zapisovacých operací? Počet souběžných klientů? Asynchronní nebo synchronní replikace? Odolnost proti výpadku a očekávaná dostupnost? Prostě spousta důležitých otázek.

Mrkni ale na couchbase, myslím, že splní očekávání, za cassandru ho nahrazujeme poměrně často, ani samotný postgresql není špatná volba a zvládne velké objemy i provoz, mariadb/mysql opět může být někdy vhodná volba, dá se to postavit i nad elasticsearch (ale je to java).

V pár případech jsem použil i sqllite přímo z aplikačního procesu, dobře škáluje, dokáže běžet z lambdy na síťovém disku, při dobrém návrhu tabulek to dělá zázraky.

Běh v kontejneru je obecně problém pro jakoukoliv databázi kvůli měkkému ukládání dat do SW FS vrstvy, kdy se často nepropaguje fsync, nedají se dobře používat memory mapped soubory, nutný pinning s konkrétním storage nebo naopak při použití síťového uložiště se zvyšují výrazně latence nebo snižuje spolehlivostl Za mě to není výhra, ale spíše spousta práce navíc.

Velkost od niekolko GB a predpoklada sa stali rast.
Citanie a zapisovanie 1-ku jednej, pocet kleintov sa este nevie, radsej synchronu replikaciu ako asynchronnu, ale ani jedno nie je pronblem.

couchbase mi nezachutila.
postgresql robi problemy pri vetsich objemoch dat takisto aj jeho replikacia, podla vstekeho co som cital sa na moj scenar nehodi.
mariadb/mysql - to mozem ukladat data do CSV-cka a vysledok bude richlejsi bezpecnejsi a tranzakcnejsi, tuto parodiu na databazu uz nechcem ani vidiet.

elasticsearch - rad straca data, takze to ani nahodou.

V pár případech jsem použil i sqllite přímo z aplikačního procesu, dobře škáluje, dokáže běžet z lambdy na síťovém disku, při dobrém návrhu tabulek to dělá zázraky.

Bol by som zvedavy ako sa to da dosiahnut? Hlavne tym navrhom tabuliek.

A co sa tyka kontainerov, tak tie len na vyvoj. Nasadene to bude na Windows serveroch, mozno  CentOS 8.

AoK

  • ***
  • 171
    • Zobrazit profil
Re:Volby key value databazy
« Odpověď #6 kdy: 23. 11. 2020, 20:12:27 »
nazývat mysql/mariadb jako parodii na databázi je už trochu moc, mají své specifika, ale třeba neztrácí data jako elastic :). Tokumx či xtradb engine je třeba velice dobrý. Zajímavá a stabilní varianta je použití mariadb + galera + myrocks, vše jsem viděl a provozoval ve velkých instancích v kritických systémech, neřekl bych, že s tím je více práce než s tradičním Oraclem, umí toho méně, ale nepotřebuje to drahé licence.

A co něco jako Kudu (https://kudu.apache.org/)? RAFT používá na cluster, je to primárně OLAP, ale i tak by to pro tvoje účely mohlo být ok, v ČR už to máme v několika produkcích, údržba je relativně snadná.

Těch možností je poměrně velké množství, jsou tisíce technologií na uložiště, tak tady člověk může jen střílet naslepo.

K sqllite, pokud to chceš mít replikované, musíš to hodit na nějaky distribuovaný fs, dobře to vypadá třeba nad beegfs. Je potřeba si dát trochu práce s návrhem partitioningu a vyhnout se velkým alterům online. Takovéhle řešení používáme na edge serverech pro různé LB, routery, IPS/IDS systémy, dnes to bývá součástí nějakých velkých SIEM, hlavně je to velice dobře debugovatelné, jednoduché, bez řešení problém s tcp.


BoneFlute

  • *****
  • 1 513
    • Zobrazit profil
Re:Volby key value databazy
« Odpověď #7 kdy: 24. 11. 2020, 17:01:45 »
nazývat mysql/mariadb jako parodii na databázi je už trochu moc

MySQL používám, má svá use-case (rychlost, známost), ale když hejtujem:

Kód: [Vybrat]
SELECT a.foo, a.goo, "FIRST" AS type FROM t1 AS a WHERE ...
UNION ALL
SELECT b.foo, b.goo, "SECOND" AS type FROM t2 AS a WHERE ...

vám to funguje bez full scan?

AoK

  • ***
  • 171
    • Zobrazit profil
Re:Volby key value databazy
« Odpověď #8 kdy: 24. 11. 2020, 19:16:09 »
nazývat mysql/mariadb jako parodii na databázi je už trochu moc

MySQL používám, má svá use-case (rychlost, známost), ale když hejtujem:

Kód: [Vybrat]
SELECT a.foo, a.goo, "FIRST" AS type FROM t1 AS a WHERE ...
UNION ALL
SELECT b.foo, b.goo, "SECOND" AS type FROM t2 AS a WHERE ...

vám to funguje bez full scan?

ale podobné nečekané chování najdeš snad u každé databáze, ne? Neříkám, že je hvězdičková, naopak podpora sql je v mysql/mariadb proti např. pg dost žalostná, ale každá databáze má své slabé/silné stránky a hodnotit se musí spíše k danému use case.

Re:Volby key value databazy
« Odpověď #9 kdy: 24. 11. 2020, 19:18:49 »
skus Mongo

Re:Volby key value databazy
« Odpověď #10 kdy: 24. 11. 2020, 22:11:31 »
ale podobné nečekané chování najdeš snad u každé databáze, ne? Neříkám, že je hvězdičková, naopak podpora sql je v mysql/mariadb proti např. pg dost žalostná, ale každá databáze má své slabé/silné stránky a hodnotit se musí spíše k danému use case.

Ano, nicméně Mysql má těch pastí víc právě kvůli tomu, že hůř podporuje SQL. Postgres je na tom lépe. Pro nový projekt bych o Mysql neuvažoval, ledaže by se v daném prostředí používala jako kanonická technologie a zavádět jinou db by bylo příliš nákladné.

oss

Re:Volby key value databazy
« Odpověď #11 kdy: Dnes v 08:13:40 »
skus Mongo

Mongo nie je key value databza, nie, ze by nesiel znasilnit, ale hladam naozaj key value databazu.

nazývat mysql/mariadb jako parodii na databázi je už trochu moc, mají své specifika, ale třeba neztrácí data jako elastic :). Tokumx či xtradb engine je třeba velice dobrý. Zajímavá a stabilní varianta je použití mariadb + galera + myrocks, vše jsem viděl a provozoval ve velkých instancích v kritických systémech, neřekl bych, že s tím je více práce než s tradičním Oraclem, umí toho méně, ale nepotřebuje to drahé licence.

A co něco jako Kudu (https://kudu.apache.org/)? RAFT používá na cluster, je to primárně OLAP, ale i tak by to pro tvoje účely mohlo být ok, v ČR už to máme v několika produkcích, údržba je relativně snadná.

Těch možností je poměrně velké množství, jsou tisíce technologií na uložiště, tak tady člověk může jen střílet naslepo.

K sqllite, pokud to chceš mít replikované, musíš to hodit na nějaky distribuovaný fs, dobře to vypadá třeba nad beegfs. Je potřeba si dát trochu práce s návrhem partitioningu a vyhnout se velkým alterům online. Takovéhle řešení používáme na edge serverech pro různé LB, routery, IPS/IDS systémy, dnes to bývá součástí nějakých velkých SIEM, hlavně je to velice dobře debugovatelné, jednoduché, bez řešení problém s tcp.



Hej, tych kecy value databaz je tak vela, ze uz dva tyzdne nemozem najst taku, co by fungovala a splnala moje poziadavky. 90% toho co je na nete, je nedokoncena verzia Redisu (vsetko v RAM), pritom ja potrebujem len nieco lahke, multiplatfromove na perzistenciu.

A ti co si myslite, ze MySQL je databaza odporucam toto (osobne mam este horsie skunosti, akonahle clovek potrebjue v MySQL JOIN cez tri tabulky tak skoncil, alebo indexy ci cokolvek viac advanced, preto kazdy, kto skusi inu databazu tak sa k MySQL uz nevrati)
https://www.youtube.com/watch?v=W02MPPufQs8

Re:Volby key value databazy
« Odpověď #12 kdy: Dnes v 09:15:11 »
Hej, tych kecy value databaz je tak vela, ze uz dva tyzdne nemozem najst taku, co by fungovala a splnala moje poziadavky. 90% toho co je na nete, je nedokoncena verzia Redisu (vsetko v RAM), pritom ja potrebujem len nieco lahke, multiplatfromove na perzistenciu.
On je trochu problém, že všechny vaše požadavky neznáme. Požadavky, které jste napsal, Cassandra splňuje – vy ji ale z nějakého důvodu nechcete. Ten důvod my ale neznáme. Těžko pak něco radit.

Nejucelenější mně známý přehled NoSQL databází: https://dbdb.io

Re:Volby key value databazy
« Odpověď #13 kdy: Dnes v 11:08:51 »
ale hladam naozaj key value databazu.
...
akonahle clovek potrebjue v MySQL JOIN cez tri tabulky tak skoncil, alebo indexy ci cokolvek viac advanced

Zrovna tady pri pouziti spravneho engine muze byt MySQL fakt dobra volba. Ale kdo vi co vlastne chces kdyz ti Redis nevoni a Cassandra neni dost dobra.
Děkuji za možnost editace příspěvku.

Kit

  • *****
  • 523
    • Zobrazit profil
    • E-mail
Re:Volby key value databazy
« Odpověď #14 kdy: Dnes v 12:38:48 »
Souborový systém.