Dostupná SODB Apache Cassandra 4.0.

Organizácia Apache Software Foundation predstavila vydanie distribuovanej databázy Apache Cassandra 4.0, ktorá patrí do triedy noSQL systémov a je určená na vytváranie vysoko škálovateľných a spoľahlivých úložísk obrovských objemov údajov, uchovávaných vo forme asociatívneho poľa (hashu). Vydanie Cassandra 4.0 je považované za pripravené na prevádzkové nasadenie a už bolo testované v infraštruktúrach spoločností Amazon, Apple, DataStax, Instaclustr, iland a Netflix s klastrami, ktoré obsahujú viac ako 1000 uzlov. Kód projektu je napísaný v jazyku Java a je distribuovaný v rámci licencie Apache 2.0.

Pôvodne bola databáza Cassandra vyvinutá spoločnosťou Facebook a v roku 2009 bola odovzdaná pod patronát fondu Apache. Priemyselné riešenia založené na Cassandre sú nasadené na zabezpečenie fungovania služieb spoločností ako Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit a Twitter. Napríklad infraštruktúra uloženej databázy postavená na Apache Cassandre spoločnosťou Apple zahŕňa viac ako tisíc klastrov, ktoré obsahujú 160 000 uzlov a uchovávajú viac ako 100 petabajtov údajov. Spoločnosť Huawei používa viac ako 300 klastrov Apache Cassandre, ktoré obsahujú 30 000 uzlov, a Netflix má viac ako 100 klastrov pokrývajúcich 10 000 uzlov a spracovávajúcich viac ako trilión požiadaviek denne.

DBMS Cassandra kombinuje vo svojom základe plne distribuovaný hash systém Dynamo, ktorý poskytuje prakticky lineárnu škálovateľnosť pri zvyšovaní objemu dát. Cassandra používa model ukladania dát založený na rodinách stĺpcov (ColumnFamily), ktorý sa líši od systémov ako memcachedb, ktoré uchovávajú údaje len v pároch kľúč/hodnota, možnosťou usporiadať uloženie hashov s viacerými úrovňami vnorenia. Na zjednodušenie interakcie s databázou podporuje jazyk na formulovanie štruktúrovaných dopytov CQL (Cassandra Query Language), ktorý pripomína SQL, ale je obmedzený na funkčnosti. Z možností možno spomenúť podporu priestorov názvov a rodín stĺpcov, vytváranie indexov prostredníctvom výrazu „CREATE INDEX“.

DBMS umožňuje vytvárať odolné voči chybám úložiská: údaje umiestnené v databáze sa automaticky replikujú na niekoľko uzlov distribuovanej siete, ktorá môže pokrývať rôzne dátových centrách. Pri poruche uzla sa jeho funkcie okamžite preberajú iné uzly. Pridávanie nových uzlov do klastru a aktualizácia verzie Cassandra sa vykonáva bez dodatočného manuálneho zásahu a rekonfigurácie ostatných uzlov. Ovládače s podporou CQL sú pripravené pre jazyky Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ a JavaScript (Node.js).

Hlavné novinky:

  • Zvýšený výkon a škálovateľnosť. Zlepšená efektivita výmeny dát v SSTable (Sorted Strings Table) medzi uzlami. Optimalizovaný protokol výmeny správ medzi uzlami (Internode Messaging Protocol). Rýchlosť prenosu dátových prúdov medzi uzlami vzrástla až 5-krát (najmä vďaka technike Zero Copy a prenášaní celých SSTables), a priepustnosť pri operáciách čítania a zápisu až 25%. Optimalizovaný proces inkrementálneho obnovenia. Zdržania spôsobené pozastavením vykonávania zbieračom odpadu sú znížené na niekoľko milisekúnd.
  • Pridaná podpora audítorského denníka, ktorý umožňuje sledovať operácie autentifikácie používateľov a všetky vykonávané dotazy CQL.
  • Pridaná možnosť vedenia úplného binárneho denníka dotazov, ktorý umožňuje ukladať celý prenos dotazov a odpovedí. Pre správu sú navrhnuté príkazy „nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog“, a na analýzu denníka je k dispozícii nástroj fqltool. Poskytujú sa príkazy na prevod denníka do čitateľnej podoby (Dump), porovnávanie úsekov aktivity (Compare) a opätovné vykonávanie (Replay) pre analýzu s reprodukciou podmienok typických pre reálne zaťaženie.
  • Pridaná podpora virtuálnych tabuliek, ktoré nezobrazujú dáta uložené v SSTables, ale informácie poskytované cez API (metriky výkonu, informácie o nastaveniach, obsah cache, údaje o pripojených klientoch a pod.).
  • Zvýšená efektivita ukladania dát v komprimovanej forme, čo umožňuje znížiť spotrebu diskového priestoru a zvýšiť výkon operácií čítania.
  • Údaje týkajúce sa systémového priestoru kľúčov (system.*) sú teraz predvolene umiestnené v prvej adresári namiesto rozmiestnenia vo všetkých adresároch s dátami, čo umožňuje zachovať funkčnosť uzla v prípade poruchy jedného z dodatočných diskov.
  • Pridaná experimentálna podpora pre dočasnú replikáciu (Transient Replication) a lacné kvórum (Cheap Quorums). Dočasné repliky neukladajú všetky údaje a používajú inkrementálne obnovenie na zosúladenie s plnými replikami. Lacné kvórum umožňuje optimalizáciu zápisových operácií, pri ktorej sa zápis do dočasných replík nevykonáva, kým nie je k dispozícii dostatočný súbor plných replík.
  • Pridaná experimentálna podpora pre Java 11.
  • Pridaná experimentálna možnosť na porovnanie všetkých Merklo stromov (Merkle Tree). Napríklad aktivovanie možnosti v klastri so 3 uzlami, kde sú dve repliky rovnaké a jedna zastaraná, povedie k aktualizácii zastaranej repliky použitím iba jednej operácie kopírovania aktuálnej repliky.
  • Pridané nové funkcie currentTimestamp, currentDate, currentTime a currentTimeUUID.
  • Pridaná podpora aritmetických operácií v dotazoch CQL.
  • Poskytnutá možnosť vykonávania aritmetických operácií medzi údajmi s typmi „timestamp“/„date“ a „duration“.
  • Pridaný režim na náhľad tokov údajov potrebných na obnovenie (nodetool repair —preview) a možnosť overenia integrácie obnovovaných údajov (nodetool repair —validate).
  • V dotazoch SELECT bola pridaná možnosť spracovania prvkov Map a Set.
  • Pridaná podpora paralelizácie fázy počiatočného budovania materializovaných pohľadov (cassandra.yaml:concurrent_materialized_view_builders).
  • V príkaze „nodetool cfstats“ bola pridaná podpora triedenia podľa určitých metrík a obmedzenie počtu zobrazovaných riadkov.
  • Poskytnuté nastavenia na obmedzenie pripojenia používateľa len k určitým dátovým centrám.
  • Pridaná možnosť obmedzenia intenzity (rate limit) operácií vytvárania a čistenia snímok.
  • V cqlsh a cqlshlib bola implementovaná podpora Pythonu 3 (podpora Pythonu 2.7 zatiaľ zachovaná).
  • Podpora platformy Windows bola ukončená. Pre spustenie Cassandry vo Windows sa odporúča používať Linuxové prostredia vytvorené na základe subsystému WSL2 (Windows Subsystem for Linux 2) alebo systémov virtualizácie.

Prehrajte video


Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster