Kulcsérték-adatbázisok demisztifikálva – DATAVERSITY

Kulcsérték-adatbázisok demisztifikálva – DATAVERSITY

Forrás csomópont: 2943225
kulcsérték adatbázisokkulcsérték adatbázisok

1966-ban egy DEC PDP-7 számítógépet programozás nélkül szállítottak a Massachusetts General Hospitalba. A kórház beruházott egy számítógépbe, de nem volt módja annak működtetésére. Ebben az időben nagyon kevés volt a szoftverlehetőségek, az operációs rendszerek vagy az adatbázis-támogatás. A kórház azonban hozzáférhetett a Massachusetts Institute of Technology-hoz (MIT), amely a folyó túloldalán található. Az MIT csapata a nulláról indult, és folytatta a tervezést.MUMPSZ” (Massachusetts Utility Multi-Programming System) többfelhasználós operációs rendszerként, adatbázisként és nyelvként, mindez egyben. A MUMPS kulcsérték tárolót és számos más olyan szolgáltatást használt, amelyeket később beépítettek a NoSQL adattárakba. A kulcsérték-struktúrák használata és fókusza fokozatosan egyszerű NoSQL-kulcsérték-adatbázisokká fejlődött.

Az ilyen típusú adatbázis kulcs-érték párok csoportjaként menti az adatokat, amelyek két összekapcsolt adatelemből állnak. Az elemek közötti kapcsolat egy „kulcs” (például „fájlnév”), amely az adatokon belüli elem azonosítójaként működik, és az „érték”, amely az azonosított adat (vagy tartalom).

A kulcsérték-adatbázisokat gyakran a legegyszerűbbnek tekintik NoSQL adatbázisok. Ez az egyszerűség a kulcsérték-tárolókat és adatbázisokat gyorssá, felhasználóbaráttá, hordozhatóvá, méretezhetővé és rugalmassá teszi. Az eredeti kulcsérték-rendszereket azonban nem úgy tervezték, hogy lehetővé tegyék a kutatók számára a kérésekből visszaérkező adatok szűrését vagy ellenőrzését – nem tartalmaztak keresőmotort. Ez változik, ahogy az emberek módosítják kulcsérték-adatbázisaikat.

A Redis bemutatta kulcsérték adatbázisát 2009-ben:

„A Redis (vagy bármely kulcsérték tároló) eredeti szándéka az volt, hogy minden egyes adathoz egy adott kulcs vagy azonosító legyen. Redis gyorsan kiterjesztette ezt a koncepciót adattípusokkal, ahol egyetlen kulcs több (akár több millió) adatra is utalhat. Ahogy a modulok megjelentek az ökoszisztémában, a kulcsok ötlete még tovább nyúlt, mivel egyetlen adat most több kulcsot is átölelhet (például RediSearch index esetében). Tehát arra a kérdésre, hogy a Redis kulcsérték-tároló-e, általában azt válaszoljuk, hogy „az adatbázisok kulcsérték-sorából származik”, de ne feledjük, hogy ezen a ponton nehéz igazolni, hogy a Redis csak kulcsérték-tároló. ”

Bár sok NoSQL-adatbázis továbbra is kulcsérték-tárolókat tartalmaz, a kulcsok relációs adatbázisokban is használhatók. A relációs táblákhoz használt elsődleges kulcs egyedileg azonosítja a táblán belüli minden rekordot. Egyes kulcsok használhatók az egyik táblában tárolt adatok összekapcsolására (vagy összekapcsolására) más táblák adataival. Egy másik tábla egy sorához tartozó elsődleges kulcs tárolását idegen kulcsnak nevezik. Van elsődleges kulcs és idegen kulcs hibák, amelyeket el kell kerülni

Hogyan működnek a kulcs-érték adatbázisok

A kulcsérték adatbázisok nem hoznak létre konkrét sémát. A hagyományos relációs adatbázisok előre meghatározzák struktúráikat az adatbázison belül, olyan táblák segítségével, amelyek jól meghatározott adattípusú mezőket tartalmaznak. A kulcsérték-rendszerek ezzel szemben egyetlen gyűjteményként kezelik az adatokat, amelyekben a kulcs egy tetszőleges karakterláncot képvisel – például fájlnevet, hash-t vagy egységes erőforrás-azonosítót (URI). A kulcsérték-tárolók általában sokkal kevesebb memóriát használnak, miközben ugyanannyi adatot mentenek és tárolnak, ami bizonyos típusú munkaterhelések esetén növeli a teljesítményt.

A „tiszta” kulcsérték-adatbázisok nem használnak lekérdezési nyelvet, de lehetőséget kínálnak az adatok lekérésére, mentésére és törlésére a nagyon egyszerű parancsok használatával. kap, rak, és a töröl. (A módosított kulcsérték-adatbázisok tartalmazhatnak teljes szöveges keresést.) Az adatok lekéréséhez közvetlen kérési módszerre van szükség az adatfájllal való kommunikációhoz. Nincs keresés, és nincs kereső sem. Ha nem ismeri a kulcsot, nem lehet megtalálni.

Kulcsérték-adatbázisok használata

Míg relációs adatbázisok elég jól kezelik a fizetési tranzakciókat, nehezen tudják kezelni a nagy mennyiségű egyidejű tranzakciót. A NoSQL kulcsérték-adatbázisok azonban szükség szerint méretezhetők, és rendkívül nagy mennyiségű forgalmat kezelhetnek másodpercenként, így egyszerre több ezer felhasználó számára nyújtanak szolgáltatást.

A kulcsértékű NoSQL-adatbázisok beépített redundanciával rendelkeznek, lehetővé téve számukra az elveszett tárolási csomópontok problémamentes kezelését. (Esetenként például egy „bevásárlókosár” elveszíti a tételeket.) A kulcsérték-tárolók nagy mennyiségű adatot dolgoznak fel, és következetes olvasási/írási műveleteket dolgoznak fel a következőkhöz:

  • Munkamenet menedzsment: Lehetőséget kínál a felhasználóknak a munkamenetek mentésére és visszaállítására.
  • Felhasználói beállítások és profiltárak: Konkrét felhasználók személyes adatai.
  • Termékajánlatok: Személyre szabott termékek, amelyek érdekelhetik az ügyfeleket.
  • Kuponok, személyre szabott hirdetések: Az ügyfelek valós időben adaptálva és megtekintve.
  • Gyorsítótárként működik rendszeresen megtekintett adatokhoz, amelyek ritkán frissülnek.

A kulcsérték-adatbázisokat gyakran használják webalkalmazások munkamenet-kezelésére. Jól kezelik az okostelefonokon és egyéb eszközökön lévő összes új felhasználói alkalmazás munkamenet-információit.

A kulcsérték-adatbázisok masszív többszereplős online játékokhoz is használhatók, az egyes játékosok munkameneteit kezelve.

Azok
nagyon jól kezelik az online vásárlók bevásárlókosarait – a fizetési időpontig.
A fizetési tranzakciók és a bevételi könyvelések jobban működnek a relációs rendszerrel
adatbázisban.

Az egyik legegyszerűbb NoSQL-adatbázisként a kulcsérték-adatbázisok egyszerűen méretezhetők big data kutatási célokra, miközben több felhasználót is kiszolgálnak egyszerre.

Az interneten termékeket értékesítő vállalkozások gyakran küszködnek a karácsony előtti vásárlási szezon és az év többi részével. A kérdés a karácsonyi vásárlási csúcsra méretezett infrastruktúra fizetéséről szól (és az infrastruktúraért az év hátralévő részében), vagy annak kockázatáról, hogy nem tudjuk kezelni a karácsonyi rohanást (és több órára összeomlik). Feltételezve, hogy egy relációs adatbázis normál egész éves szolgáltatásokat kezel, bérbeadás a Felhőszolgáltatás kulcs-érték adatbázissal a karácsonyi rohanáshoz hatékony, viszonylag olcsó megoldást nyújt.

A megfelelő adatbázis kiválasztása szervezetének

A különböző kulcsérték-adatbázisok különböző technikákat alkalmaznak az alapvető kulcsérték-modell javítására. Vannak, akik az összes adatukat tárolják RAM, míg mások kombinációjával dolgoznak SSD (szilárdtest-meghajtók) és RAM. Megint mások kombinálják a forgó lemezek és a RAM támogatását.

Ezeket az adatbázisokat úgy tervezték, hogy reagáljanak az okostelefonokra és más eszközökre elérhetővé vált új alkalmazásokra. A szervezeteknek kerülniük kell, hogy az összes relációs adatbázisukat NoSQL-re cseréljék, különösen a pénzügyi alkalmazások esetében. Az alábbiakban felsorolunk néhány népszerű kulcsérték adatbázist:

  • Aerospike: Nyílt forráskódú, NoSQL adatbázis, amely flash-optimalizált memóriát használ.
  • Apache cassandra: Elosztott, ingyenes, nyílt forráskódú, széles oszlopos tároló, NoSQL adatbázis-kezelő rendszer.
  • Amazon Dynamo DB: Az Amazon által kínált, teljesen felügyelt, védett NoSQL adatbázis-szolgáltatás.
  • Berkeley DB: Alapszintű, nagy teljesítményű, beágyazott, nyílt forráskódú, adatbázis-tároló könyvtár.
  • Couchbase: Az üzleti szempontból kritikus alkalmazásokhoz tervezték, teljes szöveges keresést, SQL-alapú lekérdezést és elemzést biztosít.
  • memcached: Felgyorsítja a webhelyeket az adatok és objektumok RAM-ban való gyorsítótárazásával, hogy csökkentse a külső adatforrások beolvasásának számát. Ingyenes és nyílt forráskódú.
  • Riak: Gyors, rugalmas és skálázható, jó alkalmazások fejlesztésére és más adatbázisokkal és alkalmazásokkal való együttműködésre.
  • Feleinek: Adatbázis, üzenetközvetítő és memória-gyorsítótár. Támogatja a hash-eket, karakterláncokat, listákat, bitképeket és a HyperLogLog-ot.

Általában véve a titok
kulcsérték adatbázisokhoz egyszerűségükben és az ebből eredő sebességükben rejlik, hogy
elérhetővé válik. Az adatok lekéréséhez közvetlen kérésre (kulcsra) van szükség a
objektum a memóriában (érték), és nincs lekérdezési nyelv. Az adatok lehetnek
elosztott rendszereken tárolva, nem kell aggódni az indexek elhelyezkedése miatt,
az adatmennyiség vagy a hálózat lelassulása. Egyes kulcsérték-adatbázisok flash-et használnak
tárolási és másodlagos indexeket a kulcsérték technológia határainak feszegetése érdekében.

A kulcsérték adatbázis mindkettő
könnyen megépíthető és méretezhető. Általában kiváló teljesítményt nyújt, és képes
optimalizálni kell a szervezet igényeihez. Amikor egy kulcsérték adatbázis az
új alkalmazásokkal módosítva nagyobb az esélye a rendszernek
lassabban működnek.

A kép a Shutterstock.com licence alapján lett felhasználva

Időbélyeg:

Még több ADATVERZITÁS