Apache Cassandra

Apache Cassandra
Típusú NoSQL
Szerző Avinash Lakshman [d] és Prashant Malik [d]
Fejlesztő Apache Software Foundation
Beírva Java [1]
Első kiadás 2008 és 2012. április 10. [1]
legújabb verzió
Engedély Apache licenc 2.0
Weboldal cassandra.apache.org
 Médiafájlok a Wikimedia Commons oldalon

Az Apache Cassandra  egy elosztott adatbázis-kezelő rendszer , amely a NoSQL -rendszerek osztályába tartozik, és arra készült, hogy rendkívül méretezhető és megbízható tárolókat hozzon létre hashként ábrázolt hatalmas adattömbökből.

Kezdetben a projektet a Facebook szívében fejlesztették ki, majd 2009-ben az Apache Software Foundation szárnya alá helyezték , ez a szervezet folytatja a projekt fejlesztését. A Cassandra alapú ipari megoldásokat olyan cégeknek való szolgáltatások nyújtására vezették be, mint a Cisco , az IBM , a Cloudkick , a Reddit , a Digg , a Rackspace , a Huawei , a Netflix , az Apple , az Instagram , a GitHub , a Twitter és a Spotify . 2011-re a Cassandra által kezelt, egyetlen adatbázist kiszolgáló legnagyobb szerverfürt több mint 400 géppel rendelkezett, és több mint 300 TB adatot tartalmazott [3] .

Java nyelven íródott, a DynamoDB - hez hasonló elosztott hash rendszert valósít meg , amely szinte lineáris skálázhatóságot biztosít növekvő adatmennyiség mellett. Oszlopcsaládon alapuló adattárolási modellt használ , amely különbözik az olyan rendszerektől, mint a MemcacheDB , amelyek csak kulcs-érték párban tárolják az adatokat, mivel képesek több beágyazási szintű kivonat tárolására. A hibatűrő DBMS kategóriájába tartozik: az adatbázisban elhelyezett adatok automatikusan replikálódnak egy elosztott hálózat több csomópontjára, vagy akár egyenletesen elosztva több adatközpontban. Ha egy csomópont meghibásodik, annak funkcióit menet közben veszik át más csomópontok, új csomópontok hozzáadása a fürthöz és a Cassandra verzió frissítése menet közben történik, további kézi beavatkozás és más csomópontok újrakonfigurálása nélkül. A terheléselosztás minőségének megőrzése érdekében azonban erősen ajánlott újra generálni kulcsokat (címkéket) minden csomóponthoz, beleértve a meglévőket is. A meglévő csomópontok kulcsgenerálása elkerülhető a csomópontok számának többszörös növekedése esetén (2-szer, 3-szor stb.).

CQL

Az adatbázissal való interakció egyszerűsítése érdekében a CQL (Cassandra Query Language) strukturált lekérdezési nyelv támogatott, amely némileg hasonlít az SQL -hez , de funkcionalitása jelentősen csökkent. Például csak a legegyszerűbb lekérdezéseket hajthatja végre SELECTegy bizonyos feltétel szerinti kijelöléssel. A hozzáadás és frissítés egyetlen kifejezésen keresztül történik UPDATE, nincs művelet INSERT(ha nincs rekord, UPDATEakkor a végrehajtás során jön létre - az SQL utasítás szemantikáját használják MERGE). A megkülönböztető jellemzők közül - névterek és oszlopcsaládok támogatása, indexek létrehozása a " " kifejezéssel CREATE INDEX. CQL-kompatibilis illesztőprogramok Python (DBAPI2), Java ( JDBC ), Ruby ( gem cassandra-cql ), PHP ( Thift , cassandra-pdo , Cassandra-PHP-Client-Library ), JavaScript ( Node.js ) és Perl számára DBD::Cassandra ).

Ezen kívül a CQL a Scylla DBMS-ben van megvalósítva, amely architekturálisan és nyelvileg hasonló a Cassandra rendszerhez, de a teljesítmény javítása érdekében C++ nyelven íródott .

Jegyzetek

  1. 1 2 https://projects.apache.org/json/projects/cassandra.json
  2. https://github.com/apache/cassandra/releases/tag/cassandra-4.0.7
  3. Apache Cassandra 1.0 adatbázis-kiadás . Hozzáférés dátuma: 2012. január 14. Az eredetiből archiválva : 2011. október 23.

Linkek

Irodalom