Mají tabulkové databáze v dnešní době smysl?

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #15 kdy: 07. 09. 2018, 19:57:01 »
Ta tabulkova evidence v dobach kartotek mela stejnou motivaci jako ty databaze: "Rychle se dostat k datum ktera chci".
Ne vždy byla důležitá „rychlost hledání“. Třeba pro účetní záznamy je přirozené zapisovat je chronologicky tak, jak přicházejí – A to zrovna rychlosti hledání často nepomáhá. Proto se pak ty záznamy přepisovaly v jiném uspořádání – ale zase do tabulek.

Videl jsem v nedavne dobe dve aplikace (jedna stara 20 let, druha relativne moderni) u obou byla databaze vlastne jen datastore a synchronizace mezi nody. Jakmile se data vytahla tak se pracovalo se stromovou strukturou v pameti a v db byl lock az do doby nez se uzivatel rozhodl ukladat.
To, že se někde používají stromové struktury, přece ale neznamená, že se používají všude, ani že nikde nejsou data přirozeně uspořádaná do tabulek.

Obe to jsou bankovni aplikace a podle me obe jsou ten typicky use case evidence (ucty, firmy, osoby...).
To by mne zajímalo to konkrétní použití. Jasně, někdy jsou to třeba spíš dokumenty s nějakými vazbami – třeba firma, ta má nějaké vlastnosti, na firmu jsou navázaní lidé, ti mají zase nějaké vlastnosti. Ale třeba evidovat finanční transakce ve stromové struktuře mi moc smysl nedává.


RAM, SSD - jsou také tabulkové databáze
« Odpověď #16 kdy: 07. 09. 2018, 20:13:19 »
Hele, proč ta RAM nebo SSD nemají tedy úložné místo organizováno do grafů či objektů, když je to tak lepší? Proč i ta RAM a SSD jedou v alokačních blocích? Není to nápověda, proč je univerzálnější a nejpoužitelnější organizovat data a datové úložiště do tabulek?


Mongo

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #17 kdy: 07. 09. 2018, 20:17:35 »
Maji tabulkove databaze na novych projektech smysl?

Zavisi od projektu. Uz jen z povahy tveho dotazu vyplyva, ze si s daty neuzivas moc dlouho. Relacni DB byly, jsou a budou. Jsou pomerne lehke na pochopeni, SQL jazyk taky a kdyz se spravna cast business logiky resi uz rovnou v DB (stored procedures, olap atd.) tak na to se backendove jazyky stezi muzou chytat jak rychlosti tak pametovymi naroky. Sortnout milion radku v DB je porad levou zadni a jsou tam roky piplane algoritmy psane snad rovnou v ASM. Bavime se tedy o poradnych relacnich databazich (Oracle, MSSQL, PostgreSQL) a ne o hrackach typu MySQL ci SQLite.

Migroval nekdo z vas existujici reseni z oraclu nebo jine tabulkove databaze na neco jineho?

Jasne. Pro nektere typy ukolu - typycky nejake bezne webariny typu redakcni system jsou vyhodnejsi NoSQL reseni, nebo rovnou cloudove datove sluzby (amazon web services). Prevod takove datove struktury je pomerne primocara zalezitost a existuje milion podpurnych toolu.

Souhlasite, ze rychlost/pomalost rotacnich disku je jediny duvod proc takove databaze existuji?

To je takove tvrzeni pro tvrzeni. I kdyz dnes uz neni problem do servru narvat 512GB RAM porad nektere ulohy muzou karteziansky vybouchnout a budes swapovat do aleluja tak jako tak. Proste optimalizovat to pro pouziti na harddisku ma svoje pozitiva. Mezi nami, rychlost disku u DB je tak predposledni co te trapi. Maximalne tak pri obnove zalohy  8)

Suma sumarum, kazda aplikace ma svoje specifika. Nekde chroustas porad cisla, nekde jen drzis hierarchickou strukturu, nekde se DB pouziva v podstate jen jako uloziste ci sofistikovanejsi souborovy system. Relacni DB jsou roky overeny univerzal vhodny na skoro vsechno a jen tak nezmizi. Tim nechci rici, ze jine typy DB nejsou potreba, prave naopak, vitam je. Ale nepujdes s traktorem zavodit ani s formulou orat pole.

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #18 kdy: 07. 09. 2018, 20:45:06 »
Vlastnosti rotačních disků (rychlé sekvenční čtení, pomalé čtení s náhodným přístupem) byl asi jen jeden z faktorů proč se rozšířily relační SQL databáze.

1. Relace (tabulky) jsou vlastně množiny, což je jednodušší abstrakce než stromy (grafy). 1D tabulka má tu výhodu, že se s ní dobře jednoduše mentálně pracuje. Když pracujete s fakturou, zajímají vás položky faktury a už vás nezajímají složky, kde je faktura zařazena. Pokud pracuji s fakturami, tak mne nezajímají položky faktur, atd. Relační model není tak obecný jako síťový, ale je dostatečně silný, a velice jednoduchý.

2. Relační databáze byly navrženy pro uživatele - umožňují neprogramátorům pracovat s daty. Tuto vlastnost konkurenční systémy nikdy ve větším měřítku nenabídly - a je to dáno možnostmi a názorností a jednoduchostí relačního modelu. Ono ručně pracovat se stromy pro laika není to pravé ořechové.

3. Relační model byl doplněný o SQL - opět jednoduchý, ale dostatečně silný nástroj. A standardizace, byť ne vždy dokonalá je neskutečně silný nástroj. Pokud umíte pracovat s Mongem, umíte pracovat s Mongem, ale už nikoliv s čímkoliv jiným. Pokud umíte SQL, tak vytvoříte tabulky a dotazy na Oracle, MSSQL, MySQL, Postgresu, SQLite. Na určité úrovni nemusíte řešit detaily a základy jsou stejné. Univerzální dotazovací jazyk nabídly pouze relační SQL databáze. Resp. byly pokusy i u dalších modelů, ale bez výraznějšího rozšíření.

4. Tabulka je implementačně halda. Struktura, která se jednoduše implementuje. Navíc v kombinaci s indexy, kterých můžete mít k haldě tolik kolik potřebujete můžete mít rychlý přístup přes různé atributy. Halda (případně pole) je velice efektivní struktura. Na uložení stromu potřebuje výrazně více paměti.

Ve výsledku je důležitá abstrakce a SQL. Obojí umožňuje pracovat s daty komukoliv. Jestli v reálu data budou uložená na SSD nebo v RAMce, jestli budou uložená v poli, v hash mapě nebo v nějaké stromové struktuře je úplně jedno .. v momentě, kdy bude dost RAM, abych data uložil na disk. Co vždy ale bude důležité, že kdokoliv, kdo má práva a trochu znalostí se může na data podívat z Excelu, z libovolné aplikace a není omezen programátorem.
 

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #19 kdy: 07. 09. 2018, 21:38:34 »
Řekl bych, že částečně měl pravdu, ale mnohdy se to prostě kombinuje.
Jádro je v normální SQL databázi a je docela malé, zbytek dat je napojen do NoSQL. Hlavně je třeba si uvědomit, že takové systémy jsou docela složité na správu. Jsou vhodné jen tam, kde to má smysl.

PostgreSQL velmi slušně dohnal ORACLE
MySQL je trošku jinde obzvlášť co se clusteringu týče

Pokud se chcete zasmát, jednou jsem něco řešil a z úst ORACLE se ozvalo "no na to ORACLE DB nestačí, ale můžeme použít něco jiného" :-) MySQL NDB Cluster.
S tou implementací SQL je to pravda, protože Cassandra se taky snaží tvářit podobně, i když to prostě není SQL.

SQLite pořád bude mít smysl, Postgres taky a pak MySQL jako cluster a nebo rovnou NoSQL každé je ale dobré na něco jiného.

Narovinu ten Excel je stále také použitelný :) prostě na něco ano. Na každou práci je dobré použít vhodný nástroj. Vyložený univerzál prostě neexistuje.
Tabulky prostě byly a budou.
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci


Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #20 kdy: 07. 09. 2018, 21:54:54 »
Maji tabulkove databaze na novych projektech smysl?

Zavisi od projektu. Uz jen z povahy tveho dotazu vyplyva, ze si s daty neuzivas moc dlouho. ...
Definuj dlouho :-)

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #21 kdy: 07. 09. 2018, 21:55:00 »
Ještě tu nezaznělo, že i SQL databáze se stále vyvíjejí, takže reagují na nástup SSD i na nástup NoSQL přístupů. Podívejte se na články pana Stěhule tady na rootu o novinkách v Postgres, je to dobrý příklad.

Pak existují databáze, které umožňují kombinovat sql, grafový, dokumentový a objektový přístup. Jejich prostudováním můžete také získat představu o vhodnosti či nevhodnosti jednotlivých přístupů pro daný účel.

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #22 kdy: 07. 09. 2018, 22:01:08 »
Vlastnosti rotačních disků (rychlé sekvenční čtení, pomalé čtení s náhodným přístupem) byl asi jen jeden z faktorů proč se rozšířily relační SQL databáze.

1. Relace (tabulky) jsou vlastně množiny, což je jednodušší abstrakce než stromy (grafy). 1D tabulka má tu výhodu, že se s ní dobře jednoduše mentálně pracuje. Když pracujete s fakturou, zajímají vás položky faktury a už vás nezajímají složky, kde je faktura zařazena. Pokud pracuji s fakturami, tak mne nezajímají položky faktur, atd. Relační model není tak obecný jako síťový, ale je dostatečně silný, a velice jednoduchý.

2. Relační databáze byly navrženy pro uživatele - umožňují neprogramátorům pracovat s daty. Tuto vlastnost konkurenční systémy nikdy ve větším měřítku nenabídly - a je to dáno možnostmi a názorností a jednoduchostí relačního modelu. Ono ručně pracovat se stromy pro laika není to pravé ořechové.

3. Relační model byl doplněný o SQL - opět jednoduchý, ale dostatečně silný nástroj. A standardizace, byť ne vždy dokonalá je neskutečně silný nástroj. Pokud umíte pracovat s Mongem, umíte pracovat s Mongem, ale už nikoliv s čímkoliv jiným. Pokud umíte SQL, tak vytvoříte tabulky a dotazy na Oracle, MSSQL, MySQL, Postgresu, SQLite. Na určité úrovni nemusíte řešit detaily a základy jsou stejné. Univerzální dotazovací jazyk nabídly pouze relační SQL databáze. Resp. byly pokusy i u dalších modelů, ale bez výraznějšího rozšíření.

4. Tabulka je implementačně halda. Struktura, která se jednoduše implementuje. Navíc v kombinaci s indexy, kterých můžete mít k haldě tolik kolik potřebujete můžete mít rychlý přístup přes různé atributy. Halda (případně pole) je velice efektivní struktura. Na uložení stromu potřebuje výrazně více paměti.

Ve výsledku je důležitá abstrakce a SQL. Obojí umožňuje pracovat s daty komukoliv. Jestli v reálu data budou uložená na SSD nebo v RAMce, jestli budou uložená v poli, v hash mapě nebo v nějaké stromové struktuře je úplně jedno .. v momentě, kdy bude dost RAM, abych data uložil na disk. Co vždy ale bude důležité, že kdokoliv, kdo má práva a trochu znalostí se může na data podívat z Excelu, z libovolné aplikace a není omezen programátorem.

Hmm tak ted nevim... :-)
Na jednu stranu jsem rad, ze se ozval odbornik.
Na druhou stranu prave kvuli tvemu hobby muze byt tvuj nazor zkresleny.

Neuvedomuju si, ze bych potkal uzivaka kterej by umel aspon zaklad SQL, nebo si napojit excel na databazi.
Mozna mam jen smulu.


fortranista

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #23 kdy: 07. 09. 2018, 22:19:59 »
Citace
Myslim, ze kdyz ma nekdo takovou praxi jako on tak uz ma vuci hype imunitu. Je to videt i v tom videu kdyz srovnava ruzne jazyky.

Dá se to pochopit. Čím větší senzace obchodník či školitel říká - tím více vydělá.

Problém je, že hype a unáhlené předpovědi už postihují dříve seriózní obory. Například vědu a fyziku, viz zpráva o částici rychlejší než světlo.

To je ale docela nefér to takto podat zrovna v tomto případě. Já tu "kauzu" sledoval dost zblízka a do hype to tlačili novináři - dost drsně (například vytrháváním vět z kontextu). Všichni vědci to brali velmi seriózně, upozorňovali na to, že je to divné, že se to musí ověřit, očekávají nějakou chybu v měření a tak. Prakticky nikdo neříkal, jaká je to revoluce a že překonali Einsteina. Bohužel novináři to dost otáčeli.

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #24 kdy: 07. 09. 2018, 22:23:51 »
Citace
Na jednu stranu jsem rad, ze se ozval odbornik. Na druhou stranu prave kvuli tvemu hobby muze byt tvuj nazor zkresleny.

Proč by relační tabulkové databáze měly zahynout? Jednak se SQL databáze rozvíjejí. Jednak získat z relačních databází strom, graf, apod. je často spíše otázkou indexování a pak vhodného SQL dotazu.

Když chci strom/graf, tak si k tabulce X přidám druhou tabulku X_tree_index nebo X_graph_index, kde pomocí triggerů nebo ručně indexuji pár čísel, abych mohl jediným SQL dotazem načíst celou větev stromu či jiné časté operace. Mám už to jako takový "návrhový relační vzor".

Objektové databáze zase mají problém v tom, že se nikdo na světě neshodne, co vlastně objekty jsou, a jaké je to správné objektové pojetí. Pokud bude tisíc lidí mluvit o objetech, budete mít tisíc různých neslučitelných názorů, jak správně pojmout objekty. --- Pak další otázka, jak uděláte univerzální objektové API? Zase jak se kterým jazykem.

Citace
Neuvedomuju si, ze bych potkal uzivaka kterej by umel aspon zaklad SQL, nebo si napojit excel na databazi. Mozna mam jen smulu.

Ve Windows existují ODBC ovladače, a připojíte se skrze ně téměř do jakékoli databáze. Získat pak přístup z jakéhokoli program do jakékoli myslitelné databáze není problém. Jednoduchým způsobem tam můžete i svůj program napojit skoro kam chcete.

Excel má napojení na databázový zdroj přímo v hlavním menu Excelu. :-) Stačí to uživateli jen ukázat. :-) Nebo ještě lépe mu to nastavit. (I když pravda, já stále mám Microsoft Office 2003.)

Ještě užitečnější nástroj je, spíše byl, Microsoft Access. Pro zadávání dat přímo ideální.

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #25 kdy: 07. 09. 2018, 22:29:50 »
Citace
Na jednu stranu jsem rad, ze se ozval odbornik. Na druhou stranu prave kvuli tvemu hobby muze byt tvuj nazor zkresleny.

Proč by relační tabulkové databáze měly zahynout? ...

Vubec nerozumim tvemu zpusobu diskuze.

Kauza: Částice rychlejší než světlo
« Odpověď #26 kdy: 07. 09. 2018, 22:34:06 »
Citace
To je ale docela nefér to takto podat zrovna v tomto případě. Já tu "kauzu" sledoval dost zblízka a do hype to tlačili novináři - dost drsně (například vytrháváním vět z kontextu). Všichni vědci to brali velmi seriózně, upozorňovali na to, že je to divné, že se to musí ověřit, očekávají nějakou chybu v měření a tak. Prakticky nikdo neříkal, jaká je to revoluce a že překonali Einsteina. Bohužel novináři to dost otáčeli.

Ať chcete nebo ne, je to dnešní trend - bulvarizace. Dotýká se to dokonce i vědy.

Vědu a vědce bych nehájil, oni v tom nejsou nevinně. Sama vědecká obec si zvolila, že grafomanie (počet publikací/článků + citační index) bude pro vědu a vědce více, než kvalitní vědecká práce a kvalitní věda. Jinak řečeno, sama vědecká obec bez skrupulí přijala bulvární metody a pravidla.

Vědci jsou hodnoceni podle toho, kolik toho napíší a vydají, nikoli podle kvality. Až zase uslyšíte z úst vědců třeba: "Karlova univerzita dělá nejlepší vědu, protože má nejvíce odborných článků" - tak to je přesně bulvární metrika, podle které jede dnešní vědecká obec.

Nejlepší vědec by dnes byl Honore de Balzac.

Jestliže jsou vědci tlačeni do co nejvíce písmenek, jinak mají problém a klesají v hodnocení, tak to není nic jiného než tlačení do vydávání nehotových a neověřených prací, zpráv a výstupů. Za to mohou vědci a vědecká obec sama, nikdo je do toho nenutil si to takto zavést.

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #27 kdy: 07. 09. 2018, 22:35:39 »
Citace
Na jednu stranu jsem rad, ze se ozval odbornik. Na druhou stranu prave kvuli tvemu hobby muze byt tvuj nazor zkresleny.

Proč by relační tabulkové databáze měly zahynout? ...

Vubec nerozumim tvemu zpusobu diskuze.

1) Prvotní otázka byla o tom, že tabulkové databáze mají zahynout.

2) Do toho byla tvá pochybnost, že odborník je příliš hájí a má zkreslený názor.

I přidal jsem další argument, proč má pravdu.

Mongo

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #28 kdy: 07. 09. 2018, 22:44:22 »
Maji tabulkove databaze na novych projektech smysl?

Zavisi od projektu. Uz jen z povahy tveho dotazu vyplyva, ze si s daty neuzivas moc dlouho. ...
Definuj dlouho :-)

pres 20 let :-D

Re:Maji tabulkove databaze v dnesni dobe smysl?
« Odpověď #29 kdy: 07. 09. 2018, 22:53:46 »
Ta tabulkova evidence v dobach kartotek mela stejnou motivaci jako ty databaze: "Rychle se dostat k datum ktera chci".
Ne vždy byla důležitá „rychlost hledání“. Třeba pro účetní záznamy je přirozené zapisovat je chronologicky tak, jak přicházejí – A to zrovna rychlosti hledání často nepomáhá. Proto se pak ty záznamy přepisovaly v jiném uspořádání – ale zase do tabulek.
OK to jsem asi prilis zjednodusil.

Videl jsem v nedavne dobe dve aplikace (jedna stara 20 let, druha relativne moderni) u obou byla databaze vlastne jen datastore a synchronizace mezi nody. Jakmile se data vytahla tak se pracovalo se stromovou strukturou v pameti a v db byl lock az do doby nez se uzivatel rozhodl ukladat.
To, že se někde používají stromové struktury, přece ale neznamená, že se používají všude, ani že nikde nejsou data přirozeně uspořádaná do tabulek.
Ano,ale tady mi na prvni pohled prislo, ze by davalo smysl vyuzit databazi prave kvuli konzistenci dat a transakcim.
A zajimala by me motivace architekta k takovemu reseni. A protoze jsem videl toho Boba povidat o necem podobnem tak mi to vrta v hlave a snazim se prijit na to co bud ja nebo Bob a ty dva architekti nevidime. (BTW. jsou fakt dva ruzni, kazdy jina narodnost a kazdy v jine bance)

Obe to jsou bankovni aplikace a podle me obe jsou ten typicky use case evidence (ucty, firmy, osoby...).
To by mne zajímalo to konkrétní použití. Jasně, někdy jsou to třeba spíš dokumenty s nějakými vazbami – třeba firma, ta má nějaké vlastnosti, na firmu jsou navázaní lidé, ti mají zase nějaké vlastnosti. Ale třeba evidovat finanční transakce ve stromové struktuře mi moc smysl nedává.
Credit risk management. Nejde o nejake real time transakce, spis kalkulace rizika spojeneho s poskytnutim pujcky.
Takze se ukladaji produkty, zaruky, data o firmach, platebni historie, ...
Odhadem je tam asi 500 tabulek.