Relációs VS nem relációs adatbázisok

Back Story:

A tanfolyamon két dolgot tanultam:

Relációs adatbázisok és nem relációs adatbázisok, de soha nem tanultam meg igazán a kettő közötti különbséget, ezért újra fel akartam éleszteni a kíváncsiságomat az adatbázisokkal és a kettő közötti különbségekkel kapcsolatban.

  • Az E. F Codd által 1970-ben definiált relációs adatbázis az adatok relációs modelljén alapuló digitális adatbázis. Az adatokat táblázatokban tárolják, amelyek sorokat (amelyek egy bejegyzést képviselnek) és oszlopokat (amelyek egy adott típusú információt tárolnak és rendeznek) tartalmaznak. A kapcsolatok elsődleges és idegen kulcsok segítségével jönnek létre.

Példa a relációs adatbázis modelljére

Nyelvek: SQL(Structured Query Language), MySQL, PostgreSQL, sqlite3

Előnyei:

  • Kezelhet sok összetett lekérdezést, adatbázis tranzakciókat és rutinszerű adatelemzést.
  • ACID(Atomity, Consistency, Isolation, Durability): Olyan tulajdonságok összessége, amelyek megbízható adatbázis tranzakciókat biztosítanak.

Hátrányok:

  • Nem tárolhat összetett vagy nagyon nagyméretű képeket, számokat, terveket és multimédiás termékeket
  • Nagyon költséges lehet a karbantartás és az új szerverek

Nagyszerű! De mi van akkor, ha az adatállományaink túl nagyok vagy strukturálatlanok?

Nem relációs adatbázis vagy NoSQL

Mi az a nem relációs adatbázis?

  • A nem relációs adatbázisok már az 1960-as évek végén léteztek, de a kifejezést csak 1998-ban használta Carlo Strozzi, aki a NoSQL fejlesztését vezette.
  • “A NoSQL (eredetileg a “nem SQL” vagy “nem relációs”) adatbázis olyan mechanizmust biztosít az adatok tárolására és visszakeresésére, amelyet a relációs adatbázisokban használt táblázatos kapcsolatoktól eltérő eszközökkel modelleznek.” – Wikipedia

A NoSQL adatbázisok típusai:

Column Store: A kulcstér fogalmát használja, amely a sorokat és oszlopokat tartalmazó oszlopcsaládokat tartalmazza az adatok tárolására és rendszerezésére.

Minden sor tartalmaz egy oszlopcsaládot

Adatbázis: Apache HBase, Cassandra

Key-Value Store: Asszociatív tömböt(map vagy szótár) használ alapvető adatmodellként. Az adatokat kulcs-érték párok gyűjteményeként reprezentálja, és egy kulcs legfeljebb egyszer jelenik meg a gyűjteményben. Tárolhat egy értéket, például egész számot, karakterláncot, JSON struktúrát vagy tömböt, valamint az értékre való hivatkozáshoz használt kulcsot.

Minden sornak saját azonosítója és értéke van

Adatbázis:

Gráf: Redis, Amazon DynamoDB

Gráf: Olyan adatbázis, amely gráfstruktúrákat használ az adatok ábrázolására és tárolására. Ez lehetővé teszi a felhasználók számára, hogy gyorsan bejárják az összes összekapcsolt értéket, és betekintést nyerjenek a kapcsolatokba.

All Movies Kevin Bacon acts in

Adatbázis: neo4J, OrientDB, Titan

Document-Oriented Database: A dokumentumorientált adatbázis vagy dokumentumtár olyan számítógépes program, amelyet dokumentumorientált információk, más néven félig strukturált adatok tárolására, visszakeresésére és kezelésére terveztek.

Adatbázis: MongoDB, Couchbase

Előnyei:

  • Nagy mennyiségű strukturált, félig strukturált és strukturálatlan adat
  • Objektumorientált programozás, amely könnyen használható és rugalmas (a MongoDB alapvetően javascriptben íródott)
  • Eredményes, skálázható architektúra a drága, monolitikus architektúra helyett

Hátrányai:

  • Kisebb támogatás, mivel a NoSQL adatbázisok általában nyílt forráskódúak
  • Adminisztráció: A NoSQL adatbázisok telepítése és karbantartása technikai jártasságot igényel.
  • Kisebb kiforrottság. A NoSQL-adatbázisok még mindig fejlődnek, és sok funkciót még mindig nem valósítottak meg.

Melyiket használjuk?

A vállalatok a hagyományos és a nem relációs adatbázisok keverékét használják az üzleti követelmények és igények kielégítésére.

Relációs adatbázis:

A hagyományos relációs adatbázisok nagyon jók az adattranzakciók biztonságban tartására és az információszerzéshez szükséges összetett lekérdezésekre. Azok a vállalatok, amelyek már strukturáltak és nem tapasztalnak hatalmas növekedést, valószínűleg ragaszkodnak a hagyományos adatbázisokhoz.

Nem relációs adatbázisok:

Nagyszerűek nagy mennyiségű adat tárolására, kevés struktúrával. A gyors ütemben növekvő vállalatok, mint például a startupok, több nemrelációs adatbázist használnak a skálázhatóság és a rugalmasság miatt. A felhővel párosítva a nem-relációs adatbázisok sok pénzt is megtakaríthatnak a vállalatoknak.

Adatokkal kapcsolatos érdekességek:

  1. Az adatok gyorsabban nőnek, mint valaha, és 2020-ra minden egyes emberre a Földön másodpercenként körülbelül 1,7 megabájtnyi új információ fog keletkezni.
  2. Addigra a felhalmozott digitális adatuniverzumunk a mai 4,4 zettabyte-ról körülbelül 44 zettabyte-ra, azaz 44 billió gigabájtra fog nőni.
  3. A videó- és fotóadatok hatalmas növekedését tapasztaljuk, ahol percenként akár 300 órányi videót töltenek fel csak a YouTube-ra.
  4. Az idén több mint 1,4 milliárd okostelefont fognak szállítani – mind tele lesz mindenféle adat gyűjtésére alkalmas érzékelőkkel, nem is beszélve a felhasználók által maguk által létrehozott adatokról.
  5. Öt éven belül több mint 50 milliárd intelligens, összekapcsolt eszköz lesz a világon, amelyeket mind adatgyűjtésre, elemzésre és megosztásra fejlesztettek ki.

Az adatok gyűjtésére, elemzésére és megosztására.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.