IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Jak vybrat správný typ databáze pro webovou aplikaci?

V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Argo5
Člen
Avatar
Argo5:8.10.2020 13:03

Ahoj. Zajímalo by mě podle čeho si vybíráte databázi. U jakých projektech (aplikacích) je lepší použít klasické relační databáze (MySQL,...) a kdy je zase rozumnější využít NoSQL (MongoDB,...) databáze?

Chci docílit: Konkrétně by mě zajímalo jaký typ použít v případě vývoje sociální sítě a rezervačního systému (např. parking, hotel,...). Předem děkuji za reakce.

 
Odpovědět
8.10.2020 13:03
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9.10.2020 7:55

Spis ti poradi asi nekso jiny s vice zkusenostmi.

Podle toho s jakymi jsi zvykly pracovat, Vetsina db splnuje pozadavky, ktere popisujes pro spoustu lidi online.
Zajimavym resenim, pro chatovani, muze byt chat + db primo v pameti. Problem je, kdyz nekdo vypne pc, tak prijdes o celou db, nez to zazalohujes, treba blesk. Nevim, ktera z tech db jde takto nastavit, mozna by slo takto prenastavit db, ktera uklada do souboru nebo si napsat vlastni. Presunutim do pameti bys mohl ziskat az 5x takovou rychlost, obslouzit 5x tolik uzivatelu.
Dale to samozrejme zalezi na pouziti a tvem programu Kdyz to udelas dobre, 500 online neni problem, kdyz spatne, tak mas jen 300 a pak zacinaji potize. Kdyz to das do pameti, tak by tam meli byt jeste dalsi upravy programu (proste eliminovat co nejvice zasahu, zmen v tom, co odesle uzivatel nebo se ma zobrazit). Jinak prilis vykonu neziskas. Max 150-300%.

Pr:
Treba chaty v pameti ukladaji html kod nebo json cele zpravy. Neni pak nutne delat konverzi, protoze insert delas jednou, ale select treba 50x pro. A pri kazdem select bys musel mit kod, ktery z te array udela neco rozumneho. Kdezto takto odesilas uz primo vysledek.

timestamp | kdo | komu | text - normal db, uzivateli posilas
123 | 456 | 789 | abc
{timestamp :'123', kdo:'456', komu:'789', text:'abc'}, ktere musis generovat treba pres php

Ale u db v pameti tabulka vypada takto:

timestamp | kdo | komu | text - normal db, uzivateli posilas
123 | 456 | 789 | {timestamp :'123', kdo:'456', komu:'789', text:'abc'}

Cili, operaci s php/asp/java vynechavas. Navic, misto php se pro insert/select pouziva c++ kod, ktery je rychlejsi o 30-50%.

 
Nahoru Odpovědět
9.10.2020 7:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.