Apache Cassandra 4.0 DBMS wa

Apache Software Foundation ṣe afihan itusilẹ ti DBMS Apache Cassandra 4.0 ti a pin, eyiti o jẹ ti kilasi ti awọn eto noSQL ati pe a ṣe apẹrẹ lati ṣẹda iwọn giga ati ibi ipamọ igbẹkẹle ti awọn oye nla ti data ti o fipamọ ni irisi akojọpọ associative (hash). Itusilẹ Cassandra 4.0 ti ṣetan fun imuse iṣelọpọ ati pe o ti ni idanwo tẹlẹ ninu awọn amayederun ti Amazon, Apple, DataStax, Instaclustr, ilẹ ati Netflix pẹlu awọn iṣupọ ti diẹ sii ju awọn apa 1000. Koodu ise agbese ti kọ ni Java ati pe o pin labẹ iwe-aṣẹ Apache 2.0.

Cassandra DBMS ni akọkọ ni idagbasoke nipasẹ Facebook ati ni 2009 ti o ti gbe labẹ awọn atilẹyin ti Apache Foundation. Awọn solusan ile-iṣẹ ti o da lori Cassandra ti gbe lọ si awọn iṣẹ agbara lati awọn ile-iṣẹ bii Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit ati Twitter. Fun apẹẹrẹ, awọn amayederun ipamọ orisun-orisun Apache Cassandra nipasẹ Apple ni diẹ sii ju awọn iṣupọ ẹgbẹrun kan, pẹlu awọn apa 160 ẹgbẹrun ati fifipamọ diẹ sii ju awọn petabytes 100 ti data. Huawei nlo diẹ sii ju awọn iṣupọ Apache Cassandra 300, ti o ni awọn apa 30, ati Netflix nlo diẹ sii ju awọn iṣupọ 100, ti o bo awọn apa 10 ẹgbẹrun ati ṣiṣe diẹ sii ju awọn ibeere aimọye kan lọ fun ọjọ kan.

Cassandra DBMS ṣajọpọ eto hash Dynamo ti o pin ni kikun, eyiti o pese iwọn iwọn laini bi iwọn data n pọ si. Cassandra nlo awoṣe ipamọ data kan ti o da lori idile ọwọn (ColumnFamily), eyiti o yatọ si awọn eto bii memcachedb, eyiti o tọju data nikan ni bọtini kan / iye iye, nipasẹ agbara lati ṣeto ibi ipamọ ti awọn hashes pẹlu ọpọlọpọ awọn ipele ti itẹ-ẹiyẹ. Lati rọrun ibaraenisepo pẹlu data data, ede ibeere ti eleto CQL (Cassandra Query Language) ni atilẹyin, eyiti o jẹ iranti ti SQL, ṣugbọn dinku ni iṣẹ ṣiṣe. Awọn ẹya pẹlu atilẹyin fun awọn aaye orukọ ati awọn idile ọwọn, ati ṣiṣẹda awọn atọka nipa lilo ikosile “ṢẸDA INDEX”.

DBMS n gba ọ laaye lati ṣẹda ibi ipamọ sooro ikuna: data ti a fi sinu ibi ipamọ data jẹ ẹda laifọwọyi si ọpọlọpọ awọn apa ti nẹtiwọọki ti o pin, eyiti o le gba awọn ile-iṣẹ data oriṣiriṣi. Nigbati ipade kan ba kuna, awọn iṣẹ rẹ ni a gbe soke lori fifo nipasẹ awọn apa miiran. Ṣafikun awọn apa tuntun si iṣupọ ati mimu imudojuiwọn ẹya Cassandra jẹ ṣiṣe lori fo, laisi idasi afọwọṣe afikun tabi tunto awọn apa miiran. Awọn awakọ pẹlu atilẹyin CQL ti pese sile fun Python, Java (JDBC/DBAPI2), Ruby, PHP, C ++ ati JavaScript (Node.js).

Awọn imotuntun akọkọ:

  • Imudara iṣẹ ati iwọn. Imuṣiṣẹ ti paṣipaarọ data ni ọna kika SSTable (Tabili Awọn okun ti a ti sọtọ) laarin awọn apa ti ni ilọsiwaju. Ilana Ifiranṣẹ Internode ti jẹ iṣapeye. Iyara ti gbigbe awọn ṣiṣan data laarin awọn apa ti pọ si awọn akoko 5 (paapaa nitori lilo ilana ẹda Zero ati gbigbe gbogbo SSTables), ati awọn iṣẹ ṣiṣe kika ati kikọ ti pọ si 25%. Ilana imularada ti afikun ti jẹ iṣapeye. Awọn idaduro nitori idaduro ikojọpọ idoti ti dinku si awọn milliseconds diẹ.
  • Atilẹyin ti a ṣafikun fun akọọlẹ iṣayẹwo ti o fun ọ laaye lati tọpa awọn iṣẹ ṣiṣe ijẹrisi olumulo ati gbogbo awọn ibeere CQL ti a ṣe.
  • Ṣe afikun agbara lati ṣetọju iwe ibeere alakomeji ni kikun, gbigba ọ laaye lati ṣafipamọ gbogbo ibeere ati ijabọ esi. Fun iṣakoso, awọn pipaṣẹ “nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog” ni a dabaa, ati pe ohun elo fqltool ti wa fun itupalẹ log. Awọn aṣẹ ti wa ni pese fun iyipada awọn log sinu kan kika fọọmu (idasonu), wé aṣayan iṣẹ-ṣiṣe ege (Afiwera) ati ki o tun-ṣiṣe (Tunṣere) fun onínọmbà tun awọn ipo atorunwa ninu awọn gidi fifuye.
  • Atilẹyin ti a ṣafikun fun awọn tabili foju ti o ṣe afihan kii ṣe data ti o fipamọ sinu SSTables, ṣugbọn iṣelọpọ alaye nipasẹ API (awọn metiriki iṣẹ ṣiṣe, alaye eto, awọn akoonu kaṣe, alaye nipa awọn alabara ti o sopọ, ati bẹbẹ lọ).
  • Iṣiṣẹ ti ibi ipamọ data fisinuirindigbindigbin ti ni ilọsiwaju, idinku agbara aaye disk ati ilọsiwaju iṣẹ kika.
  • Awọn data ti o ni ibatan si aaye bọtini eto (eto.*) ti wa ni bayi gbe sinu itọsọna akọkọ nipasẹ aiyipada dipo pinpin kaakiri gbogbo awọn ilana data, eyiti o fun laaye ipade lati ṣiṣẹ ti ọkan ninu awọn disiki afikun ba kuna.
  • Ṣafikun atilẹyin esiperimenta fun Isọdi-pada sipo ati Awọn iye owo ti o din owo. Awọn ẹda igba diẹ ko tọju gbogbo data ati lo imupadabọ afikun lati wa ni ibamu pẹlu awọn ẹda ni kikun. Awọn iyewọn ina ṣe imudara kikọ iṣapeye ninu eyiti ko ṣe kikọ si awọn ẹda igba diẹ titi ti eto awọn ẹda kikun ti o to.
  • Ṣe afikun atilẹyin esiperimenta fun Java 11.
  • Aṣayan idanwo ti a ṣafikun lati ṣe afiwe gbogbo Awọn igi Merkle. Fun apẹẹrẹ, mimu aṣayan ṣiṣẹ lori iṣupọ-node 3 ninu eyiti awọn ẹda meji jẹ aami kanna ati pe ọkan jẹ stale yoo ja si imudojuiwọn ti ajọra stale nipa lilo iṣẹ ẹda kan ṣoṣo ti ajọra lọwọlọwọ.
  • Ṣafikun awọn iṣẹ tuntun currentTimestamp, currentDate, currentTime and currentTimeUUID.
  • Atilẹyin ti a ṣafikun fun awọn iṣẹ ṣiṣe iṣiro ni awọn ibeere CQL.
  • Agbara lati ṣe awọn iṣẹ ṣiṣe iṣiro laarin data pẹlu awọn oriṣi “timestamp”/”ọjọ” ati “akoko” ti pese.
  • Ṣafikun ipo kan fun iṣaju awọn ṣiṣan data ti o nilo fun imularada (atunṣe nodetool — awotẹlẹ) ati agbara lati ṣayẹwo iduroṣinṣin ti data ti n tun pada (atunṣe nodetool — sooto).
  • Yan awọn ibeere ni bayi ni agbara lati ṣiṣẹ Map ati Ṣeto awọn eroja.
  • Atilẹyin ti a ṣafikun fun isọdọkan ipele ikole ibẹrẹ ti awọn iwo ohun elo (cassandra.yaml:concurrent_materialized_view_builders).
  • Aṣẹ “nodetool cfstats” ti ṣafikun atilẹyin fun yiyan nipasẹ awọn metiriki kan ati diwọn nọmba awọn ori ila ti o han.
  • Eto ti pese lati fi opin si asopọ olumulo si awọn ile-iṣẹ data kan nikan.
  • Ṣe afikun agbara lati ṣe idinwo kikankikan (ipin oṣuwọn) ti ẹda aworan ati awọn iṣẹ imukuro.
  • cqlsh ati cqlshlib ni atilẹyin Python 3 (Python 2.7 tun ni atilẹyin).
  • Atilẹyin fun Syeed Windows ti dawọ duro. Lati ṣiṣẹ Cassandra lori Windows, o gba ọ niyanju lati lo awọn agbegbe Linux ti a ṣẹda lori ipilẹ ti WSL2 subsystem (Windows Subsystem for Linux 2) tabi awọn ọna ṣiṣe agbara.



orisun: opennet.ru

Fi ọrọìwòye kun