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

Olda

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #195 kdy: 17. 09. 2018, 17:38:36 »
Neznam jedine ERP ktere pouziva NoSQL/dokumentovou/objektovou databazi.

ABAS ERP


qwertz

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #196 kdy: 17. 09. 2018, 17:53:40 »
Mohl bi mi autor tohoto vlákna vysvětlit ...

Ale fuj co jsem to napsal.  ;D ;D ;D

Kit

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #197 kdy: 17. 09. 2018, 19:26:29 »
Dovedl bych si představit mixovanou DB, kde si budu moct zvolit, zda do "tabulky" budu ukládat klasické řádky nebo objekty definované nějak složitěji jako strom (interně ať si to uloží jak chce).

Zkus se podívat na Redis, ten používá kolekce.

A dotaz by buď vracel klasický plochý result (tabulku), nebo seznam objektů (nebo spíš jejich properties) filtrovaný přes klasický SQL dotaz podle jejich properties.   

Ať zvolíš SQL nebo NoSQL, vždy se najde řešení. NoSQL má sice jednodušší návrh, ale o to pracnější je ukládání i dolování dat. Je to podobné, jako když z programovacího jazyka odebereš typehinty - dělat se s tím dá, ale ve složitějších aplikacích se snáze ztratíš.

Naprosto zbytečné je však ORM. Pokud chci SQL + ORM, tak vlastně chci NoSQL. Osobně však preferuji SQL, protože toho umí mnohem víc a to velice elegantně.

Akiz

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #198 kdy: 17. 09. 2018, 20:22:33 »
Mne se libi kompromis v podobe PostgreSQL + JSONB.
Nahradi to Mongo a furt se to muze chovat jako relacni DB - tam kde to je vyhodny.

Jinak se mi zda, ze mistr narazel hlavne na to, ze je otrava a zbytecnost vytahavat data z relacni databaze pomoci nejakyho DSL, abyste z toho ziskali hash-mapu, ktera v podstate odpovida nativnim strukturam v ruznych NO / NEW SQL databazich. Nic vic, nic min.


BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #199 kdy: 17. 09. 2018, 21:51:25 »
ze je otrava a zbytecnost vytahavat data z relacni databaze pomoci nejakyho DSL, abyste z toho ziskali hash-mapu, ktera v podstate odpovida nativnim strukturam v ruznych NO / NEW SQL databazich.

Naopak. To DSL tam považuji za stěžejní.

Jak tu už Pavel Stěhule zmínil, SQL jsou z principu globální. Což je věc, která v mnoha případech není šikovná.

Vezměme si jako příklad ReactJS. Možnost vytvořit komponentu, která se dá importovat jako knihovna a pak ji použiju kde potřebuju je fantastická. Rozhodnutí, že data mají jeden centrální stav rozhodně schvaluju. Jenže pak potřebuješ, aby ty načítané komponenty měli vlastní SQL, kterým budou vytahovat data. Aby šli komponovat stejně snadno, jako jdou skládat ty komponenty. Což tradičním SQL dost dobře nejde, protože u něj musíš jednou napsat komplet předem. To není pohodlné. Chtělo by to aby si poskládat komponenty, a z nich si následně extrahovat jejich datové poždavky do jednoho.

Proto se buď vytvoří NoSQL, nebo ORM jako nadstavba nad SQL. Úvaha zcela logická, akorád IMHO se moc nedaří to dotáhnout do něčeho použitelného. Zkouší se GraphQL, ale zda je to ono, to se neodvažuji posoudit.
« Poslední změna: 17. 09. 2018, 21:55:40 od BoneFlute »


Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #200 kdy: 18. 09. 2018, 08:02:39 »
Zkouší se GraphQL, ale zda je to ono, to se neodvažuji posoudit.
Tohle tady nepadlo poprvé, takže raději k tomu něco napíšu.

GraphQL není nic jako "SQL pro grafové databáze" a celkově vůbec nic srovnatelného s SQL. Troufám si říci že to dokonce není ani plnohodnotný dotazovací jazyk (přestože to o sobě tvrdí v názvu).
GrahQL je jazyk umožňující popsat, jakou podmnožinu datové struktury dostane volající nazpět (pole a vazby). GraphQL sám neumožňuje popsat, jaké záznamy se vlastně vrátí (tj. filtrovat). Samozřejmě tuto funkcionalitu lze nad GraphQL postavit pomocí argumentů, ale to zcela na invenci implementátora, zda a jak něco takového udělá.

Jinými slovy: v porovnání s SQL máte v GraphQL jen prosté sloupečky a (outer) joiny. Žádný WHERE nebo ORDER (natož pak GROUP BY).

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #201 kdy: 18. 09. 2018, 13:25:01 »
Jinými slovy: v porovnání s SQL máte v GraphQL jen prosté sloupečky a (outer) joiny. Žádný WHERE nebo ORDER (natož pak GROUP BY).
Jsem si toho vědom. Nemám s tím problém.

JS

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #202 kdy: 18. 09. 2018, 14:27:30 »
GraphQL není nic jako "SQL pro grafové databáze" a celkově vůbec nic srovnatelného s SQL.

Mozna autor myslel SPARQL, to je tusim pro grafove databaze. S GraphQL se mi to taky plete.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #203 kdy: 18. 09. 2018, 14:38:22 »
GraphQL není nic jako "SQL pro grafové databáze" a celkově vůbec nic srovnatelného s SQL.

Mozna autor myslel SPARQL, to je tusim pro grafove databaze. S GraphQL se mi to taky plete.

Já si o GraphQL nemyslím, že by to nemělo chybu. Ale líbila se mi ta myšlenka. A to jsem komentoval.

Se SPARQL se budu muset seznámit, díky za tip :-)

black3r

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #204 kdy: 18. 09. 2018, 22:04:23 »
Jinými slovy: v porovnání s SQL máte v GraphQL jen prosté sloupečky a (outer) joiny. Žádný WHERE nebo ORDER (natož pak GROUP BY).

Ano, v jazyku GraphQL pre to neexistuje specificky konstrukt.., ale v zavislosti od toho, ku akej databaze sa pripajas, si od nej mozes vediet vypytat vyfiltrovane, zoradene, alebo agregovane data...,

niektori ludia by povedali, ze v tom je krasa graphql, ze je take jednoduche.., ini ludia sa naucia graphql, lebo musia, a potom su zhrozeni, ked ho chcu pouzit s niecim inym :D

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #205 kdy: 18. 09. 2018, 22:18:05 »
Jinými slovy: v porovnání s SQL máte v GraphQL jen prosté sloupečky a (outer) joiny. Žádný WHERE nebo ORDER (natož pak GROUP BY).

Ano, v jazyku GraphQL pre to neexistuje specificky konstrukt.., ale v zavislosti od toho, ku akej databaze sa pripajas, si od nej mozes vediet vypytat vyfiltrovane, zoradene, alebo agregovane data...,

niektori ludia by povedali, ze v tom je krasa graphql, ze je take jednoduche.., ini ludia sa naucia graphql, lebo musia, a potom su zhrozeni, ked ho chcu pouzit s niecim inym :D

Přesně tak.

Ostatně ono GROUP BY je skvělá věc, protože relační algebra. Ale že by to bylo něco, co bych chtěl běžně dávat k dispozici jako API? To spíš ne.

Kit

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #206 kdy: 19. 09. 2018, 16:34:32 »
Cachovanie je dobra vec na rozne ciselniky ktore sa nemenia casto. Robit 300 sql requestov v jednom http requeste aby som zobrazil jednu tabulku, to je taky php pristup, ale inak totalna kravina. Ohladom platnosti dat, kazda normalna DB vie posielat eventy.

Proč bych měl dělat 300 sql requestů v jednom http requestu, když mi stačí jeden i bez cache?

Kit

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #207 kdy: 19. 09. 2018, 16:41:52 »
Já se obávám, že zde mnoho přítomných stále nepochopilo, že mít objektový model a relační DB bez ORM jaksi z podstaty nejde - někak se ty relace musejí měnit na objekty a naopak, a to bez ohledu na realizaci. Ano, nemusíte používat knihovní ORM, pak si překlady musíte udělat sami, ale to je právě to ORM. A nebo se na ORM vyserete a povedete model v aplikaci v n-ticích či samostatných hodnotách, to ale nemá s OOP nic společného.

Jestli to nebude tim, ze proste na modelovani globalne konzistentnich dat (= splnujicich globalne nejakou podminku) neni OOP prilis vhodne.

OOP je na to vhodné, ale data je lepší nemít v objektech, ale v kolekcích. Tím se vyhneme zastaralému AD a místo něj s elegancí přejdeme na modrerní DM.

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #208 kdy: 19. 09. 2018, 23:11:39 »
Já se obávám, že zde mnoho přítomných stále nepochopilo, že mít objektový model a relační DB bez ORM jaksi z podstaty nejde - někak se ty relace musejí měnit na objekty a naopak, a to bez ohledu na realizaci. Ano, nemusíte používat knihovní ORM, pak si překlady musíte udělat sami, ale to je právě to ORM. A nebo se na ORM vyserete a povedete model v aplikaci v n-ticích či samostatných hodnotách, to ale nemá s OOP nic společného.

Jestli to nebude tim, ze proste na modelovani globalne konzistentnich dat (= splnujicich globalne nejakou podminku) neni OOP prilis vhodne.

OOP je na to vhodné, ale data je lepší nemít v objektech, ale v kolekcích. Tím se vyhneme zastaralému AD a místo něj s elegancí přejdeme na modrerní DM.

Tuším nějakou Kitovinu :-) Ale můžeš to trochu rozvést? A nevím co je DM, AD.

Kit

Re:Mají tabulkové databáze v dnešní době smysl?
« Odpověď #209 kdy: 20. 09. 2018, 02:40:12 »
OOP je na to vhodné, ale data je lepší nemít v objektech, ale v kolekcích. Tím se vyhneme zastaralému AD a místo něj s elegancí přejdeme na modrerní DM.
Tuším nějakou Kitovinu :-) Ale můžeš to trochu rozvést? A nevím co je DM, AD.

Sorry mělo to být AR jako Active Record vs. Data Mapper.