Sql vagy nosql
SQL vagy NoSQL - ez itt a kérdés 8
- 27.03.17 11:15 •
- ru_vds •
- • # 324936
- • Habrahabr
- fordítás •
- 23 •
- 17100
- mint a Forbes, csak jobb.
Mindannyian tudjuk, hogy a világ adatbázis-technológia, két fő területen: SQL és NoSQL, relációs és nem relációs adatbázis. A különbség a kettő között rejlik, hogy hogyan vannak kialakítva, hogy milyen típusú adatok fenntartják a tárolt információt.
A relációs adatbázisok áruház strukturált adatok, amelyek általában képviselt valós tárgyak. Például, lehet, hogy információt a személy vagy a tartalmát a kosárba az áru a boltban, csoportosítva asztalok, amelynek formáját adják a tervezési fázisban tárolására.
Nem relációs adatbázisok vannak elrendezve másképp. Például, a dokumentum-orientált adatbázisok információkat tárolnak formájában hierarchikus adatszerkezetek. Beszélhetünk az objektumokat tetszőleges attribútumok. Mi egy relációs adatbázis van osztva több, egymással összefüggő táblázatok nem relációs tárolható formában holisztikus jellegű.
Belső különböző adatbázis-kezelő rendszerek befolyásolja a sajátosságait velük dolgozni. Például nem relációs adatbázis alkalmasabb méretezés.
Hogyan válasszuk ki a technológiát? A válasz erre a kérdésre függ az adott projektre.
A választás az SQL-adatbázis
Nincs olyan adatbázis, amely minden igényt kielégítő. Éppen ezért sok vállalat használja relációs és nem relációs adatbázis különböző feladatokat. Míg NoSQL-adatbázisok váltak népszerűvé miatt nagy sebességű teljesítményt és a jó skálázhatóság, bizonyos helyzetekben, akkor előnyös lehet a strukturált SQL-boltban. Két oka, hogy adhat okot, hogy kiválassza az SQL-adatbázis:
- Annak szükségességét, hogy az adatbázisban való megfelelés ACID (Atomicity, összhang, Isolation, tartósság - atomicitás, következetesség, elszigeteltség, tartósság). Ez csökkenti annak valószínűségét, egy váratlan viselkedése a rendszer, és annak biztosítására, adatbázis integritását. Megvalósítani hasonló kemény meghatározzák, hogyan ügyletek kölcsönhatásba az adatbázis. Ez eltér a megközelítést alkalmazott NoSQL-bázisok, hogy adja meg a sarkalatos rugalmasságot és sebességet, nem 100% adatok integritását.
A választott NoSQL-adatbázisok
Ha úgy gondolja, hogy az adatbázis lehet egy szűk egy projekt munkája alapján a nagy mennyiségű információ, meg kell nézni felé NoSQL-adatbázisok, amelyek lehetővé teszik, hogy mit nem tud a relációs adatbázisok.
Íme jellemzők, amelyek miatt a népszerűsége NoSQL adatbázisok, mint MongoDB, CouchDB, Cassandra, HBase:
- Tárolása nagy mennyiségű strukturálatlan adatokat. NoSQL Database nem korlátozza az típusú tárolt adatokat. Sőt, ha szükséges, a folyamat, akkor új adattípusok.
A következő szakaszban, megbeszéljük néhány különbség SQL és NoSQL technológiákat. Nevezetesen, az első pillantást egy egyszerű példát, amely megmutatja az alapvető különbség a két megközelítés a szervezet az adatbázis, akkor fogunk beszélni a skálázhatóság és adatindexelést. De végül nagy várakozás egy példán CRM-rendszer, amelynek szüksége van a nagy teljesítményű adattároló.
SQL és NoSQL
Kezdjük néhány kulcsfontosságú fogalmak a relációs és nem relációs adatbázisok. Alább látható egy adatbázist, amely információkat tartalmaz a kapcsolatokat. Variant egy - besskhemnaya struktúra formájában egy grafikon, jellemző NoSQL-készítés. Variant b mutatja ugyanazt az adatot is képviselteti magát, strukturált, egy tipikus SQL.
Két jelentési lehetőség
Besskhemnost azt jelenti, hogy két dokumentum NoSQL adatszerkezet nem kell ugyanazon a területen, és tárolhatja az adatokat a különböző típusokat. Például egy sor tárgyak, egy sor területen, amelyek nem felelnek meg.
Amikor a relációs megközelítés az adatokat el kell tárolni egy előre megtervezett szerkezet, amelyből az adatok későbbi letöltésre. Például a JOIN kezelőt, ha egy minta két tábla:
Ennek fejlettebb kimutatására például előnyös, ha az SQL NoSQL, úgy egy adott alkalmazás adatbázisainak NoSQL-tömörítési algoritmusok. A probléma az, hogy egyes NoSQL-adatbázisok (pl CouchDB és HBase) állandóan alkotnak úgynevezett sstables - string asztalra kulcsértékre méret szerint rendezve gombot. Ezekben a táblázatokban, amelyek lemezen tárolt adatok érkeznek táblák memóriában tárolt, azok túlzsúfoltság és más helyzetekben. Intenzív használata adatbázis tábla létrehozása, idővel vezet az a tény, hogy az alrendszer input-output adattároló eszköz válik szűk az adatok olvasási műveletek. Ennek eredményeként, az olvasás, a NoSQL alapú lassabb, mint a rekord, hogy cáfolja az egyik fő előnye a nem-relációs adatbázisok. Ez annak érdekében, hogy csökkentsék ezt a hatást, NoSQL rendszereket használnak, a háttérben, az adatok tömörítési algoritmusok próbál kombinálni több asztalt egy. De önmagában ez a művelet nagyon erőforrás-igényes, a rendszer működik, nagy terhelés alatt.
skálázhatóság
Az egyik fő különbségeket tárgyaljuk technológiák, hogy NoSQL-adatbázis alkalmasabb méretezés. Például, van egy beépített MongoDB támogatást replikáció és sharding (vízszintes osztás adat), hogy a skálázhatóság. Míg skálázás támogatott SQL-adatbázisokat van szükség, mert sokkal több emberi és hardver erőforrásokat kiadásokat.
Típusa adattárház
A kérdés kerül hibásan kezdetben. Ennek eredményeként:
Itt vannak a jelei projektek, amelyek ideálisak SQL-adatbázis:
DB nem kell kiválasztani a projekt, és a feladatokat. Így vagy úgy, egy projekt lehet használni, mint egy relációs adatbázis, és az úgynevezett NoSQL.
A nagyon kérdését NoSQL állt napirendre, amikor a memória elérhetővé vált gigabájt
Van valami megzavarja ...
hogyan fogsz dolgozni az adatokat, ha nem tudja, hogy ott
Ön munkáját NoSQL adatbázis alkalmazás szinten van a küldő és a fogadó sorban?
„Az a tény, kemény adatstruktúra” - nincs más módja annak, hogy megmagyarázza a „előnye” NoSQL. Ez hogyan fog működni az adatokat, ha nem tudom, mi ez?
Miért adattároló dolgozni az adatokat? Ő okoz számukra, hogy fogadására, tárolására és szállít. Ezt a rendszert nem igényel speciális, kivéve optimalizálás.