Magamit ang Apache Cassandra 4.0 DBMS

Gipresentar sa Apache Software Foundation ang pagpagawas sa gipang-apod-apod nga DBMS Apache Cassandra 4.0, nga nahisakop sa klase sa mga sistema sa noSQL ug gidesinyo sa paghimo sa labi ka scalable ug kasaligan nga pagtipig sa daghang mga datos nga gitipigan sa porma sa usa ka associative array (hash). Ang pagpagawas sa Cassandra 4.0 gikonsiderar nga andam alang sa pagpatuman sa produksiyon ug nasulayan na sa mga imprastraktura sa Amazon, Apple, DataStax, Instaclustr, iland ug Netflix nga adunay mga kumpol nga labaw sa 1000 ka mga node. Ang code sa proyekto gisulat sa Java ug giapod-apod ubos sa lisensya sa Apache 2.0.

Ang Cassandra DBMS orihinal nga gimugna sa Facebook ug sa 2009 gibalhin ubos sa pagdumala sa Apache Foundation. Ang mga solusyon sa industriya nga gibase sa Cassandra gi-deploy sa mga serbisyo sa kuryente gikan sa mga kompanya sama sa Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit ug Twitter. Pananglitan, ang imprastraktura sa pagtipig nga nakabase sa Apache Cassandra nga gipakatap sa Apple adunay labaw sa usa ka libo nga mga pungpong, lakip ang 160 ka libo nga mga node ug nagtipig labaw pa sa 100 nga mga petabytes nga datos. Ang Huawei naggamit ug labaw sa 300 ka Apache Cassandra cluster, nga naglangkob sa 30 ka libo nga node, ug ang Netflix naggamit ug labaw sa 100 ka cluster, nga naglangkob sa 10 ka libo nga node ug nagproseso sa labaw sa usa ka trilyon nga hangyo kada adlaw.

Ang Cassandra DBMS naghiusa sa usa ka hingpit nga gipang-apod-apod nga Dynamo hash system, nga naghatag halos linear scalability samtang ang gidaghanon sa data nagdugang. Gigamit ni Cassandra ang modelo sa pagtipig sa datos nga gibase sa pamilya sa kolum (ColumnFamily), nga lahi sa mga sistema sama sa memcachedb, nga nagtipig sa datos lamang sa usa ka key/value chain, pinaagi sa abilidad sa pag-organisar sa pagtipig sa mga hash nga adunay daghang lebel sa nesting. Aron mapasayon ​​ang interaksyon sa database, ang structured query language nga CQL (Cassandra Query Language) gisuportahan, nga nagpahinumdum sa SQL, apan gikunhoran ang gamit. Ang mga bahin naglakip sa suporta alang sa mga namespace ug mga pamilya sa kolum, ug ang paghimo sa mga indeks gamit ang ekspresyong "CREATE INDEX".

Gitugotan ka sa DBMS nga makahimo og storage-resistant nga storage: ang datos nga gibutang sa database awtomatik nga gikopya ngadto sa pipila ka mga node sa usa ka distributed network, nga mahimong mosangkad sa lain-laing mga data center. Kung mapakyas ang usa ka node, ang mga gimbuhaton niini makuha dayon sa ubang mga node. Ang pagdugang og bag-ong mga node sa cluster ug ang pag-update sa Cassandra nga bersyon gihimo sa langaw, nga walay dugang nga manual nga interbensyon o reconfiguring sa ubang mga node. Ang mga drayber nga adunay suporta sa CQL giandam alang sa Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ ug JavaScript (Node.js).

Panguna nga mga inobasyon:

  • Gipalambo nga performance ug scalability. Ang kaepektibo sa pagbayloay sa datos sa SSTable (Sorted Strings Table) nga format tali sa mga node gipauswag. Ang Internode Messaging Protocol na-optimize. Ang katulin sa pagbalhin sa mga sapa sa datos tali sa mga node miuswag hangtod sa 5 ka beses (nag-una tungod sa paggamit sa Zero Copy nga teknik ug ang pagbalhin sa tibuok SSTables), ug ang throughput alang sa pagbasa ug pagsulat nga mga operasyon misaka ngadto sa 25%. Ang incremental recovery nga proseso na-optimize. Ang mga latency tungod sa paghunong sa pagkolekta sa basura gipakunhod ngadto sa pipila ka millisecond.
  • Gidugang nga suporta alang sa usa ka log sa pag-audit nga nagtugot kanimo sa pagsubay sa mga operasyon sa pag-authenticate sa gumagamit ug tanan nga gipatuman nga mga pangutana sa CQL.
  • Gidugang ang abilidad sa pagpadayon sa usa ka bug-os nga binary request log, nga nagtugot kanimo sa pagluwas sa tanan nga hangyo ug pagtubag sa trapiko. Alang sa pagdumala, ang mga sugo nga "nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog" gisugyot, ug ang fqltool utility kay gihatag para sa log analysis. Gihatag ang mga mando alang sa pag-convert sa log ngadto sa usa ka mabasa nga porma (Dump), pagtandi sa mga hiwa sa kalihokan (Itandi) ug pag-re-execute (Replay) alang sa pagtuki sa pag-reproduce sa mga kondisyon nga kinaiyanhon sa tinuod nga load.
  • Gidugang nga suporta alang sa mga virtual nga lamesa nga nagpakita dili data nga gitipigan sa SSTables, apan ang output sa impormasyon pinaagi sa API (mga sukatan sa performance, impormasyon sa mga setting, sulod sa cache, impormasyon mahitungod sa konektado nga mga kliyente, ug uban pa).
  • Ang kaepektibo sa compressed data storage gipaayo, pagkunhod sa disk space konsumo ug pagpalambo sa pagbasa performance.
  • Ang datos nga may kalabutan sa system keyspace (system.*) gibutang na karon sa unang direktoryo pinaagi sa default imbes nga ipang-apod-apod sa tanang mga direktoryo sa datos, nga nagtugot sa node nga magpabilin nga magamit kung ang usa sa mga dugang nga disk mapakyas.
  • Gidugang nga suporta sa eksperimento para sa Transient Replication ug Cheap Quorums. Ang temporaryo nga mga replika wala magtipig sa tanan nga datos ug naggamit sa incremental nga pagpasig-uli aron mahiuyon sa hingpit nga mga replika. Ang mga light quorum nagpatuman sa pag-optimize sa pagsulat diin walay mga sinulat nga gihimo sa temporaryo nga mga kopya hangtud nga adunay igo nga hugpong sa hingpit nga mga replika nga magamit.
  • Gidugang nga suporta sa eksperimento alang sa Java 11.
  • Gidugang nga opsyon sa eksperimento aron itandi ang tanan nga Merkle Trees. Pananglitan, ang pagpagana sa opsyon sa 3-node cluster diin duha ka replika ang managsama ug ang usa kay basi moresulta sa usa ka update sa stale replica gamit lang ang usa ka kopya nga operasyon sa kasamtangan nga replica.
  • Gidugang ang bag-ong mga gimbuhaton sa kasamtangan ngaTimestamp, karon nga Petsa, karon nga Oras ug karon nga OrasUUID.
  • Gidugang nga suporta alang sa mga operasyon sa aritmetika sa mga pangutana sa CQL.
  • Ang abilidad sa paghimo sa aritmetika nga mga operasyon tali sa datos nga adunay mga tipo nga "timestamp"/"petsa" ug "gidugayon" gihatag.
  • Gidugang ang usa ka mode alang sa pag-preview sa mga stream sa datos nga gikinahanglan alang sa pagbawi (pag-ayo sa nodetool β€”preview) ug ang abilidad sa pagsusi sa integridad sa datos nga gipahiuli (pag-ayo sa nodetool β€”balido).
  • Ang mga pangutana sa PILI karon adunay katakus sa pagproseso sa mga elemento sa Map ug Set.
  • Gidugang nga suporta alang sa pagparis sa inisyal nga yugto sa pagtukod sa mga materyal nga pagtan-aw (cassandra.yaml:concurrent_materialized_view_builders).
  • Ang "nodetool cfstats" nga sugo nagdugang og suporta alang sa paghan-ay pinaagi sa pipila ka mga sukatan ug paglimit sa gidaghanon sa mga laray nga gipakita.
  • Gihatag ang mga setting aron limitahan ang koneksyon sa tiggamit sa pipila nga mga sentro sa datos lamang.
  • Gidugang ang abilidad nga limitahan ang intensity (rate limit) sa paghimo og snapshot ug clearing nga mga operasyon.
  • Ang cqlsh ug cqlshlib karon nagsuporta sa Python 3 (Python 2.7 gisuportahan gihapon).
  • Ang suporta alang sa plataporma sa Windows gihunong na. Sa pagpadagan sa Cassandra sa Windows, girekomendar nga gamiton ang Linux environment nga gimugna base sa WSL2 subsystem (Windows Subsystem for Linux 2) o virtualization system.



Source: opennet.ru

Idugang sa usa ka comment