Databasen Apache Cassandra 4.0 Àr tillgÀnglig.

Apache Software Foundation har slÀppt version 4.0 av den distribuerade databashanteraren Apache Cassandra, som tillhör klassen noSQL-system och Àr avsedd för att skapa högskalerbara och pÄlitliga lagringslösningar för stora mÀngder data, lagrad i form av en associativ array (hash). UtgÄvan av Cassandra 4.0 anses vara redo för produktionsanvÀndning och har redan testats i infrastrukturen hos företag som Amazon, Apple, DataStax, Instaclustr, iland och Netflix med kluster som har över 1000 noder. Projektkoden Àr skriven i Java och distribueras under Apache 2.0-licensen.

Databashanteraren Cassandra utvecklades ursprungligen av Facebook och överlÀmnades 2009 under Apache-fondens beskydd. Industriella lösningar baserade pÄ Cassandra Àr implementerade för att stödja tjÀnster frÄn företag som Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit och Twitter. Till exempel har Apples distribuerade lagringsinfrastruktur baserad pÄ Apache Cassandra över tusen kluster som inkluderar 160 000 noder och lagrar mer Àn 100 petabyte data. Huawei anvÀnder mer Àn 300 kluster av Apache Cassandra, som inkluderar 30 000 noder, medan Netflix har över 100 kluster som omfattar 10 000 noder och hanterar mer Àn en biljon förfrÄgningar per dag.

Databashanteraren Cassandra kombinerar ett helt distribuerat hash-system, Dynamo, som möjliggör nÀstan linjÀr skalbarhet nÀr datamÀngden ökar. Cassandra anvÀnder en datalagringsmodell baserad pÄ kolumnfamiljer (ColumnFamily), olika frÄn system som memcachedb, som lagrar data enbart som nyckel/vÀrde-par, genom att möjliggöra lagring av hash med flera nivÄer av inbÀddning. För att förenkla interaktionen med databasen stöds ett strukturerat frÄgesprÄk, CQL (Cassandra Query Language), som liknar SQL men har minskad funktionalitet. Bland funktionerna kan stöd för namnrymd och kolumnfamiljer, samt skapande av index med uttrycket "CREATE INDEX", nÀmnas.

Databashanteraren möjliggör skapande av felfria lagringslösningar: data som placeras i databasen replikerar automatiskt till flera noder inom det distribuerade nÀtverket, vilket kan omfatta olika datacenter. Vid nodfel tar andra noder automatiskt över dess funktioner. TillÀgg av nya noder till klustret och uppgradering av Cassandra-versionen sker automatiskt, utan ytterligare manuell intervention och omkonfigurering av andra noder. Drivrutiner med stöd för CQL finns tillgÀngliga för sprÄk som Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ och JavaScript (Node.js).

Huvudsakliga nyheter:

  • Prestanda och skalbarhet har ökats. Effektiviteten vid datautbyte i SSTable-format (Sorted Strings Table) mellan noder har förbĂ€ttrats. Protokollet för meddelandeutbyte mellan noder (Internode Messaging Protocol) har optimerats. Hastigheten för datastreaming mellan noder har ökat upp till 5 gĂ„nger (frĂ€mst tack vare anvĂ€ndningen av Zero Copy-teknik och hel överföring av SSTables), medan bandbredden vid lĂ€s- och skrivoperationer har ökat med upp till 25%. Processen för inkrementell Ă„terstĂ€llning har optimerats. Fördröjningar pĂ„ grund av pausning orsakad av skrĂ€psamlaren har minskats till nĂ„gra millisekunder.
  • Stöd för revisionslogg har lagts till, vilket möjliggör spĂ„rning av anvĂ€ndarautentisering och alla utförda CQL-frĂ„gor.
  • Möjlighet att föra en fullstĂ€ndig binĂ€r logg över frĂ„gor har lagts till, vilket gör att all trafik av frĂ„gor och svar kan sparas. Kommandona ‘nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog’ erbjuds för styrning, och för logganalys tillhandahĂ„lls verktyget fqltool. Kommandon finns för att konvertera loggen till ett lĂ€sbart format (Dump), jĂ€mföra aktivitetsavsnitt (Compare) och Ă„terköra (Replay) för analys med Ă„terskapande av förhĂ„llanden typiska för verklig belastning.
  • Stöd för virtuella tabeller har lagts till, som speglar inte data lagrat i SSTables, utan information som tillhandahĂ„lls via API (prestandametrik, instĂ€llningsinformation, cacheinnehĂ„ll, information om anslutna klienter etc.).
  • Effektiviteten vid lagring av data i komprimerad form har ökats, vilket medger minskad diskplatsanvĂ€ndning och ökad prestanda vid lĂ€soperationer.
  • Data som rör systemets nyckelrum (system.*) placeras nu som standard i den första katalogen istĂ€llet för att spridas över alla kataloger med data, vilket gör det möjligt att upprĂ€tthĂ„lla nodens funktionalitet vid ett fel pĂ„ en av de ytterligare diskarna.
  • Experimentellt stöd för temporĂ€r replikation (Transient Replication) och lĂ€tta kvorum (Cheap Quorums) har lagts till. TemporĂ€ra replikat lagrar inte all data och anvĂ€nder inkrementell Ă„terstĂ€llning för att synkronisera med fullstĂ€ndiga replikat. LĂ€tta kvorum implementerar optimering av skrivoperationer, dĂ€r skrivning till temporĂ€ra replikat inte görs förrĂ€n ett tillrĂ€ckligt antal fullstĂ€ndiga replikat Ă€r tillgĂ€ngliga.
  • Experimentellt stöd för Java 11 har lagts till.
  • En experimentell funktion för att jĂ€mföra alla Merkle-trĂ€d (Merkle Tree) har lagts till. Till exempel, om funktionen aktiveras i en kluster med 3 noder, dĂ€r tvĂ„ replikat Ă€r identiska och ett Ă€r förĂ„ldrat, kommer det att leda till att det förĂ„ldrade replikatet uppdateras med endast en kopieringsoperation av det aktuella replikatet.
  • Nya funktioner currentTimestamp, currentDate, currentTime och currentTimeUUID har lagts till.
  • Stöd för aritmetiska operationer i CQL-frĂ„gor har lagts till.
  • Möjlighet att utföra aritmetiska operationer mellan data av typen "timestamp"/"date" och "duration" har tillhandahĂ„llits.
  • LĂ€get för förhandsgranskning av datastreams som behövs för Ă„terstĂ€llning (nodetool repair --preview) och möjlighet att kontrollera integriteten hos de Ă„terstĂ€llda uppgifterna (nodetool repair --validate) har lagts till.
  • I SELECT-frĂ„gor har möjligheten att bearbeta Map- och Set-element lagts till.
  • Stöd för parallellisering av det initiala bygget av materialiserade vyer (cassandra.yaml:concurrent_materialized_view_builders) har lagts till.
  • I kommandot "nodetool cfstats" har stöd för sortering efter vissa mĂ„tt och begrĂ€nsning av antalet utdata rader lagts till.
  • InstĂ€llningar för att begrĂ€nsa anvĂ€ndarens anslutning till specifika datacenter har tillhandahĂ„llits.
  • Möjlighet att begrĂ€nsa intensiteten (rate limit) av operationer för skapande och rensning av snapshots har lagts till.
  • Stöd för Python 3 har implementerats i cqlsh och cqlshlib (stöd för Python 2.7 bevaras fortfarande).
  • Stödet för Windows-plattformen har upphört. För att köra Cassandra pĂ„ Windows rekommenderas anvĂ€ndning av Linux-miljöer skapade pĂ„ grundval av WSL2 (Windows Subsystem for Linux 2) eller virtualiseringssystem.

Spela video


KĂ€lla: opennet.ru
Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster