Apache Cassandra 4.0 DBMS e fumaneha

Apache Software Foundation e hlahisitse tokollo ea DBMS Apache Cassandra 4.0 e phatlalalitsoeng, eo e leng ea sehlopha sa lits'ebetso tsa noSQL mme e etselitsoe ho theha polokelo e matla le e tšepahalang ea data e ngata e bolokiloeng ka sebopeho sa sehlopha sa asociative (hash). Tokollo ea Cassandra 4.0 e nkoa e itokiselitse ho kenngoa ts'ebetsong ea tlhahiso 'me e se e lekoa meahong ea Amazon, Apple, DataStax, Instaclustr, iland le Netflix e nang le lihlopha tsa li-node tse fetang 1000. Khoutu ea projeke e ngotsoe ka Java mme e ajoa tlasa laesense ea Apache 2.0.

Cassandra DBMS e qalile ho ntlafatsoa ke Facebook mme ka 2009 ea fetisetsoa tlas'a tataiso ea Apache Foundation. Litharollo tsa indasteri tse thehiloeng ho Cassandra li fetiselitsoe litšebeletsong tsa matla tse tsoang lik'hamphani tse kang Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit le Twitter. Mohlala, lisebelisoa tsa polokelo tse thehiloeng ho Apache Cassandra tse rometsoeng ke Apple li na le lihlopha tse fetang sekete, ho kenyeletsoa li-node tse likete tse 160 le ho boloka li-petabytes tse fetang 100 tsa data. Huawei o sebelisa lihlopha tse fetang 300 tsa Apache Cassandra, tse nang le li-node tse likete tse 30, 'me Netflix e sebelisa lihlopha tse fetang 100, tse koahelang li-node tse likete tse 10 le ho sebetsana le likopo tse fetang trillione ka letsatsi.

Cassandra DBMS e kopanya sistimi ea Dynamo hash e ajoang ka botlalo, e fanang ka sekhahla se batlang se lekana ha palo ea data e ntse e eketseha. Cassandra e sebelisa mohlala oa polokelo ea data o thehiloeng ho lelapa la kholomo (ColumnFamily), e fapaneng le lits'ebetso tse joalo ka memcachedb, e bolokang data feela ka ketane ea bohlokoa / ea boleng, ka bokhoni ba ho hlophisa polokelo ea li-hashes tse nang le maemo a 'maloa a sehlaha. Ho nolofatsa ho sebelisana le database, puo ea lipotso e hlophisitsoeng CQL (Cassandra Query Language) e tšehetsoa, ​​e leng sehopotso sa SQL, empa e fokotsehile ka ts'ebetso. Likarolo li kenyelletsa tšehetso bakeng sa libaka tsa mabitso le malapa a likholomo, le ho theha li-index ho sebelisoa polelo ea "CREATE INDEX".

DBMS e u lumella hore u thehe polokelo e thibelang ho hlōleha: lintlha tse behiloeng ka har'a database li fetisetsoa ka mokhoa o ikemetseng ho li-node tse 'maloa tsa marang-rang a abuoang, a ka kenang litsi tse fapaneng tsa data. Ha node e hloleha, mesebetsi ea eona e nkuoa ka ntsintsi ke li-node tse ling. Ho kenyelletsa li-node tse ncha sehlopheng le ho nchafatsa mofuta oa Cassandra ho etsoa hang-hang, ntle le ho kenella ka letsoho kapa ho lokisa li-node tse ling. Bakhanni ba nang le tšehetso ea CQL ba lokiselitsoe Python, Java (JDBC/DBAPI2), Ruby, PHP, C ++ le JavaScript (Node.js).

Litlhahiso tse ka sehloohong:

  • Tshebetso e ntlafetseng le scalability. Ho sebetsa hantle ha phapanyetsano ea data ka mokhoa oa SSTable (Sorted Strings Table) pakeng tsa li-node ho ntlafalitsoe. Protocol ea Melaetsa ea Internode e ntlafalitsoe. Lebelo la ho fetisa melaetsa ea data pakeng tsa li-node le eketsehile ho fihlela makhetlo a 5 (haholo-holo ka lebaka la tšebeliso ea mokhoa oa Zero Copy le ho fetisoa ha SSTables kaofela), 'me tlhahiso ea mesebetsi ea ho bala le ho ngola e eketsehile ho 25%. Ts'ebetso e ntseng e eketseha ea ho hlaphoheloa e ntlafalitsoe. Ho lieha ka lebaka la ho emisa ho bokella lithōle ho fokotsehile ho li-milliseconds tse seng kae.
  • Ts'ehetso e ekelitsoeng bakeng sa logi ea tlhahlobo e u lumellang ho latela ts'ebetso ea netefatso ea basebelisi le lipotso tsohle tse phethiloeng tsa CQL.
  • E ekelitse bokhoni ba ho boloka tlaleho e felletseng ea kopo ea binary, e u lumellang ho boloka likopo tsohle le sephethephethe sa likarabo. Bakeng sa tsamaiso, litaelo tsa "nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog" lia sisinngoa, 'me fqltool utility e fanoe bakeng sa tlhahlobo ea log. Litaelo li fanoe bakeng sa ho fetolela logi hore e be sebopeho se baloang (Dump), ho bapisa likarolo tsa ts'ebetso (Bapisa) le ho pheta-pheta (Replay) bakeng sa tlhahlobo e hlahisang maemo a teng mojaro oa 'nete.
  • Ts'ehetso e ekelitsoeng bakeng sa litafole tse sa bonahaleng tse sa bonts'ang data e bolokiloeng ho SSTables, empa tlhahiso ea tlhahisoleseling ka API (metrics ea ts'ebetso, tlhaiso-leseling ea litlhophiso, likahare tsa cache, tlhahisoleseling mabapi le bareki ba hokahaneng, jj.).
  • Bokhoni ba ho boloka data bo hatelitsoeng bo ntlafalitsoe, ho fokotsa tšebeliso ea sebaka sa disk le ho ntlafatsa ts'ebetso ea ho bala.
  • Lintlha tse amanang le sebaka sa bohlokoa sa tsamaiso (sistimi.*) joale li behiloe bukeng ea pele ka mokhoa o ikhethileng ho e-na le ho ajoa ho li-directory tsohle tsa data, tse lumellang node hore e lule e sebetsa haeba e 'ngoe ea li-disk tse eketsehileng e hlōleha.
  • E kentse tšehetso ea liteko bakeng sa Transient Replication le Cheap Quorums. Likopi tsa nakoana ha li boloke data kaofela 'me li sebelisa ntlafatso e ntseng e eketseha hore li lumellane le likopi tse felletseng. Likhoramo tse bobebe li kenya tšebetsong mokhoa oa ho ngola moo ho sa ngoloeng likopi tsa nakoana ho fihlela sete e lekaneng ea likopi tse felletseng li fumaneha.
  • E kentse tšehetso ea liteko bakeng sa Java 11.
  • Ho ekelitsoe khetho ea liteko ho bapisa Lifate tsohle tsa Merkle. Mohlala, ho nolofalletsa khetho ho sehlopha sa 3-node moo likopi tse peli li ts'oanang 'me e' ngoe e le khale ho tla fella ka ntlafatso ea setšoantšo sa khale ho sebelisoa kopi e le 'ngoe feela ea setšoantšo sa hajoale.
  • E kentse mesebetsi e mecha ea setempe sa nako ea hona joale, setempe sa nako ea hona joale, Nako ea hona joale, Nako ea hona joale le Nako ea hona joaleUUID.
  • Ts'ehetso e ekelitsoeng bakeng sa ts'ebetso ea arithmetic lipotsong tsa CQL.
  • Bokhoni ba ho etsa lipalo lipakeng tsa data le mefuta ea "timestamp"/"date" le "nako" e fanoe.
  • E ekelitse mokhoa oa ho hlahloba melaetsa ea data e hlokahalang bakeng sa ho hlaphoheloa (nodetool lokisa -preview) le bokhoni ba ho hlahloba botšepehi ba data e tsosolositsoeng (nodetool lokisa -netefatsa).
  • KHETHA lipotso joale li na le bokhoni ba ho sebetsana le 'Mapa le ho Seta likarolo.
  • Tšehetso e ekelitsoeng bakeng sa ho tsamaisana le mokhahlelo oa pele oa kaho oa maikutlo a fetotsoeng (cassandra.yaml:concurrent_materialized_view_builders).
  • Taelo ea "nodetool cfstats" e kentse tšehetso ea ho hlopha ka metrics e itseng le ho fokotsa palo ea mela e bontšitsoeng.
  • Litlhophiso li fanoe ho fokotsa khokahano ea mosebelisi litsing tse itseng tsa data feela.
  • E kenyellelitse bokhoni ba ho fokotsa matla (tekanyo ea sekhahla) ea tlhahiso ea snapshot le ts'ebetso ea ho hlakola.
  • cqlsh le cqlshlib joale li tšehetsa Python 3 (Python 2.7 e ntse e tšehetsoa).
  • Tšehetso ea sethala sa Windows e khaotsoe. Ho tsamaisa Cassandra ho Windows, ho khothaletsoa ho sebelisa tikoloho ea Linux e entsoeng motheong oa subsystem ea WSL2 (Windows Subsystem for Linux 2) kapa sistimi ea virtualization.



Source: opennet.ru

Eketsa ka tlhaloso