Kei te waatea a Apache Cassandra 4.0 DBMS

I tukuna e te Apache Software Foundation te tukunga o te DBMS Apache Cassandra 4.0 kua tohatohahia, no te karaehe o nga punaha noSQL, a, kua hoahoatia ki te hanga rokiroki tino nui me te pono o te nui o nga raraunga kua rongoa i roto i te ahua o te huinga hono (hash). Ko te tukunga Cassandra 4.0 e kiia ana kua rite mo te whakatinanatanga whakaputa, kua whakamatauria ano hoki i roto i nga hanganga o Amazon, Apple, DataStax, Instaclustr, iland me Netflix me nga tautau neke atu i te 1000 nodes. Ko te waehere kaupapa kua tuhia ki Java ka tohatohahia i raro i te raihana Apache 2.0.

Ko te Cassandra DBMS i hangaia e Facebook i te tau 2009 i whakawhitia i raro i te maru o te Apache Foundation. Ko nga otinga ahumahi e pa ana ki a Cassandra kua tukuna ki nga ratonga hiko mai i nga kamupene penei i a Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit me Twitter. Hei tauira, ko te hanganga rokiroki a Apache Cassandra i tukuna e Apple he neke atu i te kotahi mano nga tautau, tae atu ki te 160 mano nodes me te rokiroki neke atu i te 100 petabytes o nga raraunga. Neke atu i te 300 nga kohinga Apache Cassandra e whakamahia ana e Huawei, kei roto i te 30 mano nga kohinga, a ka whakamahia e Netflix neke atu i te 100 nga tautau, e 10 mano nga kohinga me te tukatuka neke atu i te trillion tono ia ra.

Ko te Cassandra DBMS he whakakotahi i te punaha Hash Dynamo kua tohatoha katoa, e whakarato ana i te tauineine tata tonu i te mea ka piki te rahi o nga raraunga. Ka whakamahi a Cassandra i tetahi tauira rokiroki raraunga i runga i te whanau pou (ColumnFamily), he rereke mai i nga punaha penei i te memcachedb, e penapena raraunga ana i roto i te mekameka matua/uara, ma te kaha ki te whakarite i te rokiroki o nga haea me nga taumata maha o te kohanga. Hei whakangwari i te taunekeneke me te papaaarangi, ka tautokohia te reo uiui hanganga CQL (Cassandra Query Language), e maumahara ana ki te SQL, engari he iti te mahi. Kei roto i nga waahanga te tautoko mo nga mokowā ingoa me nga whanau o te pou, me te hanga tohu tohu ma te whakamahi i te korero "WHANGA INDEX".

Ma te DBMS ka taea e koe te hanga rokiroki-atete: ko nga raraunga kua whakauruhia ki roto i te papaaarangi ka tukuna aunoa ki te maha o nga waahanga o te whatunga tohatoha, ka taea te hora i nga pokapu raraunga rereke. Ka rahua tetahi pona, ka kohia ona mahi i runga i te rere e etahi atu pona. Ko te taapiri i nga pona hou ki te tautau me te whakahou i te putanga Cassandra ka mahia i runga i te rere, kaore he taapiri a-ringa, he whirihora ano i etahi atu pona. Ko nga taraiwa me te tautoko CQL kua rite mo Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ me JavaScript (Node.js).

Nga mahi hou:

  • Kua pai ake te mahi me te tauineine. Kua pai ake te pai o te whakawhiti raraunga i roto i te whakatakotoranga SSTable (Sorted Strings Table) i waenga i nga pona. Kua arotauhia te Kawa Karere Internode. Ko te tere o te whakawhiti i nga awa raraunga i waenga i nga pona kua piki ake ki te 5 nga wa (ko te nuinga o te whakamahinga o te tikanga Zero Copy me te whakawhitinga o nga SSTables katoa), a kua piki ake te mahinga mo nga mahi panui me te tuhi ki te 25%. Kua arotauhia te tukanga whakaora ake. Ko nga waahi na te tangohanga o te kohinga paru ka whakahekehia ki etahi manomano.
  • He tautoko taapiri mo te raarangi kaute ka taea e koe te whai i nga mahi motuhēhēnga kaiwhakamahi me nga uiui CQL katoa.
  • Kua taapirihia te kaha ki te pupuri i te raarangi tono-rua katoa, ka taea e koe te penapena i nga tono me nga hokohoko whakautu. Mo te whakahaerenga, ko nga whakahau "nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog" ka tukuna, ka tukuna te taputapu fqltool mo te tātari rangitaki. Ka tukuna nga whakahau mo te huri i te pororakau ki roto i te ahua ka taea te panui (Dump), te whakatairite i nga poro mahi (Whakatauritea) me te mahi ano (Replay) mo te tātaritanga e whakaputa ana i nga tikanga kei roto i te kawenga tuuturu.
  • He tautoko taapiri mo nga ripanga mariko e whakaatu ana ehara i nga raraunga i rongoa i roto i nga SSTables, engari ko te whakaputanga korero ma te API (nga inenga mahi, nga korero tautuhinga, nga ihirangi keteroki, nga korero mo nga kaihoko hono, me etahi atu).
  • Kua pai ake te pai o te rokiroki raraunga, kua whakaitihia te kohi mokowā kōpae me te whakapai ake i te mahi panui.
  • Ko nga raraunga e pa ana ki te mokowākohi punaha (pūnaha.*) ka waiho inaianei ki te raarangi tuatahi ma te taunoa, kaua ki te tohatoha ki nga raarangi raraunga katoa, ka taea e te node te mahi tonu mena ka rahua tetahi o nga kete taapiri.
  • Kua taapirihia he tautoko whakamatautau mo te Tukurua Puke me nga Koorama Utu. Ko nga tauira rangitahi e kore e penapena i nga raraunga katoa me te whakamahi i te whakaoranga taapiri kia rite ki nga tauira katoa. Ka whakatinanahia e nga koorama marama te arotautanga tuhituhi kaore he tuhi ki nga tauira rangitahi kia tae ra ano he huinga tauira katoa.
  • Kua taapirihia he tautoko whakamatautau mo Java 11.
  • He taapiri whakamatautau hei whakataurite i nga Rakau Merkle katoa. Hei tauira, ma te whakaahei i te kowhiringa i runga i te kahui 3-node e rua nga tauira e rite ana me te kotahi kua maoa ka puta he whakahounga o te tauira tawhito ma te whakamahi i te mahi kape o te tauira o naianei.
  • Kua taapirihia nga mahi hou o naianeiWaima, o naianei, o naianei, o naianeiTimeUUID.
  • He tautoko taapiri mo nga mahi tatau i nga patai CQL.
  • Ko te kaha ki te mahi i nga mahi tatau i waenga i nga raraunga me nga momo "waatohu"/"ra" me te "roa" ka whakaratohia.
  • I taapirihia he aratau mo te arokite i nga awa raraunga e hiahiatia ana mo te whakaora (whakatikanga nodetool —arokite) me te kaha ki te tirotiro i te tika o nga raraunga e whakahokia ana (nodetool repair —validate).
  • Ko nga patai SELECT inaianei kei te kaha ki te tukatuka i te Mahere me te Tautuhi huānga.
  • He tautoko taapiri mo te whakarara i te wahanga hanga tuatahi o nga tirohanga whakakitenga (cassandra.yaml:concurrent_materialized_view_builders).
  • Ko te tono "nodetool cfstats" kua taapirihia he tautoko mo te tohatoha ma etahi inenga me te whakaiti i te maha o nga rarangi ka whakaatuhia.
  • Ka whakaratohia nga tautuhinga hei whakawhāiti i te hononga o te kaiwhakamahi ki etahi pokapū raraunga anake.
  • Kua taapirihia te kaha ki te whakawhāiti i te kaha (tepe tere) o te hanga whakaahua me nga mahi whakawātea.
  • cqlsh me cqlshlib inaianei kei te tautoko i te Python 3 (Kei te tautoko tonu a Python 2.7).
  • Kua whakakorehia te tautoko mo te papanga Windows. Hei whakahaere i a Cassandra i runga i te Matapihi, e taunaki ana kia whakamahia nga taiao Linux i hangaia i runga i te punaha WSL2 (Windows Subsystem for Linux 2) me nga punaha mariko.



Source: opennet.ru

Tāpiri i te kōrero