HOVD 2016 - Kedvenc adatbázis-kezelő

Címkék

amazon dynamodb
1% (4 szavazat)
apache derby, java db, h2, sqlite
3% (23 szavazat)
db2
2% (13 szavazat)
firebird
1% (8 szavazat)
mariadb, mysql, percona server
48% (344 szavazat)
microsoft sql server
7% (47 szavazat)
mongodb
6% (41 szavazat)
oracle
5% (37 szavazat)
postgresql
26% (188 szavazat)
solr, elastic search
2% (12 szavazat)
Összes szavazat: 717

Hozzászólások

nosql-ek kozott a mongo vezet toronymagasan. nagyszeru.

20+ eve dolgozom adatbazisokkal, keves ekkora ganyt lattam, foleg, ha uzemeltetesrol van szo, bar van nehany eset, amikor latom ertelmet talan, de inkabb nem, sajna nalunk is van es elkovettem azt a hibat, hogy megtanultam, most szivhatok vele en...
ez persze csak az en velemenyem (nem a linkelt cikk), ettol meg lehet szeretni, nincs azzal semmi baj, csak nekem nem tetszik

elhiszem, hogy a fejlesztok szeretik, mert nem kell semat tervezni, aztan az elso futasnal valos meretu adatbazisnal rajonnek, hogy nagyon is kell, akkor is, ha a sema dinamikus (ami nem keverendo ossze a sema nelkuliseggel)

egy pelda a sok kozul, hogy miert ne:
http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongod…

az megvan, hogy a nosql azt jelenti, hogy nem sql? :-)
Es az megvan, hogy a no-sql meg nem azt jelenti hogy nincs sema? Csak annyit, hogy a lekerdezes nem SQL-el tortenik. Egeszen pontosan "Not Only SQL."
Bar ertem en, hogy felrevezeto annak aki csak SQL-t latott eddig mint "adatbazist", es most itt egy "uj" dolog. Lets call it nosql! :) Biztos "csipobol tuzelt" a nevadoja. Kb annyi ertelme van mint az "organikus" termek elnevezesnek az itteni boltokban.
A nosql kicsit szerencsetlen nev, feltehetoen olyan valakitol, aki azt hitte hogy a sema miatt van SQL. :) Valoszinu valami "ujsagirotol", aki nem csak a hackert keveri ossze a cracker-el, hanem meg sok egyeb mast is.
SQL kepes lehet kezelni dinamikus semat, semmi nem tarja vissza tole. Vagy nem tabla alapu szerkezetet is lehet SQL-el lekerdezni, csak az implementacion mulik.

Es bizony a MongoDB DB-nek is van semaja, csak dinamikus. Minden dokumentun lehet teljesen kulonbozo. Igaz, akkor az egesznek nem sok ertelme van (ugrott a sharding (no shard key), az indexeknek semmi ertelme, stb.) Ha megnezed, szerintem minden Mongo "adatbazis" "tablanak" van valamilyen alap semaja, amelyhez extra "mezok" tartoznak egyes dokumentumoknal. Talan egy jo pelda a session adatok tarolasa, ahol az elobbi eset nyilvanvalo. Es talan, ez az egyetlen ertelmes felhasznalasi esete a MongoDB-nek. (szemely szerint, akkor is mast valasztanek). Es persze a MongoDB is rendelkezhetne SQL felulettel, de a JSON cool-abb volt, feltehetoen. Es akkor nem lehetne nosql-nek hivi tiszta szivvel.

Adatbazis nem csak "SQL" letezik, sot az SQL (Structured Query Language = strukturalt lekerdezesi nyelv) nem adatbazis, csak egy adat lekerdezesi lehetoseg. Van adatbazis, amely tobb fele lekerdezesi feluletet is bistosit (pl: PROGRESS kettot is 4GL es SQL, vagy az altalam emlitett Cassandra is tamogatott kettot egy idoben, talan meg most is vissza kapcsolhato a regi).
Semaja nem "SQL" adatbasisoknak is van / lehet. Az SQL csak segit, hogy ne szivj mindenfele CRC (stb.) hibaval csak azert, mert modositottal valamit (lasd kezdeti PROGRESS 4GL es egyeb "legacy" cucc). En meg emlekszem a banki szoftver ujraforditasara object code-bol, mert az egyik tablan csinaltunk egy uj indexet (vagy valami hasonlo ostoba ok miatt).

Egyebkent meg B.U.E.K. Otthon mar Uj Ev van. :)

Üzemeltetői szemszögből kész rémálom a Cassandra. Ha fut, akkor nem romlik el, de ha valamiért újra kell indítani.. ó jaj. "Csak ne legyen korrupt, csak ne legyen korrupt, csak ne..."

Ősszel volt egy megállás (szerencsére pont nem hozzám tartozott), amire még a Datastax-os fazon is vakarta a fejét.

hat az gaz
a Cassandra-t megy csak tanulom, nem uzemeltetem nagyban
amit eddig lattam az biztato
a korrupcio nem oldhato meg megfelelo replikacios faktorral?
mi volt a korrupcio oka? mar, ha nem kenyes az info, miattam ne kerulj bajba

ami nekem hianyzik a Cassandra-bol (es egyebkent problema sok open source dologgal (out of the box), amit eddig lattam, beleertve mongo-t is), egy megfelelo mentes / visszaallitas ( a dump / extract egy vicc )
kulonosen egy elosztott DB-nel
remelem, csak ido kerdese,
neked, mar jott volna, ha egy node-ot visszaallitassz a hinted handoff meg felhuzza aktualis allapotra az adott node-ot
en nekilattam egyszer, de a JAVA nem az erossegem, es programozokent sem dolgoztam mar vagy 10 eve, de ottletem van, hogy hogyan kellene mennie.

kerdes persze, hogy mikent hasznaljak a dolgot, ha kovetik a javaslatot, akkor nincs a Cassandra-ban olyan tarolva, ami csak ott van (system of record), ez all a Mongo cucc-ra is (Ok egyebkent fel is hivjak erre a figyelmet az oktatason. Volt szerencsem vegig menni az online verzion, meg egy hivatalos mongo treningen).

B.U.E.K.!

Az előzményeket nem tudom pontosan, mivel már csak akkor sikítottak, mikor már ötletük sem volt a problémára. Utólag nézve a dolgokat olyasmi lehetett, hogy valaki szerint túl sok CPU-t evett túl sokáig a Cassandra és kill -9 `pidof java`. Ez nyilván korrupciót okozó tevékenység :), de volt rá példa, hogy egy sima reboot után is teker-teker-teker majd összeomlik. A logokban adatfájl korrupcióra panaszkodik. Volt memória foglalásos hibánk is Cassandra-val, ami az adatfájlok felolvasásakor keletkezett (izgi, mert bőven elég memória van a gépben).

Az adott példány adatfájljai közt lett egy korrupt, szóval a többiekre ez nem volt hatással. Az viszont kínos, hogy várunk az elindulásra 10-30 percet, majd valahol félúton összecsuklik az adatfájlok felolvasása közben. A megoldás végül az lett az idő szorítása miatt, hogy minden adatfájlt töröltünk, majd lefutott a replikáció a (még) jól működő node-okról. Utáltam a "megoldást", tiszta gányolás az egész..

A mentés + visszaállítás toolra hatalmas +1, nincs egy normális eszköz. Szerintem ez a probléma a Netflix-nél is előjött, ha csináltak rá jó tool-t, akkor közzétehetnék. :D

VoltDB-vel van valakinek tapasztalata?