Loaʻa iā Apache Cassandra 4.0 DBMS

Ua hōʻike ka Apache Software Foundation i ka hoʻokuʻu ʻana o ka DBMS Apache Cassandra 4.0 i hāʻawi ʻia, nona ka papa o nā ʻōnaehana noSQL a ua hoʻolālā ʻia e hana i ka mālama ʻana i ka nui o nā ʻikepili i mālama ʻia ma ke ʻano o kahi hui hui (hash). Ua manaʻo ʻia ka hoʻokuʻu ʻana o Cassandra 4.0 i mākaukau no ka hoʻokō hana ʻana a ua hoʻāʻo ʻia i loko o nā ʻōnaehana o Amazon, Apple, DataStax, Instaclustr, iland a me Netflix me nā pūʻulu ʻoi aku ma mua o 1000 nodes. Ua kākau ʻia ke code papahana ma Java a ua māhele ʻia ma lalo o ka laikini Apache 2.0.

Ua hoʻokumu mua ʻia ka Cassandra DBMS e Facebook a ma 2009 i hoʻoili ʻia ma lalo o ka mana o ka Apache Foundation. Ua hoʻonohonoho ʻia nā ʻōnaehana ʻoihana e pili ana iā Cassandra i nā lawelawe mana mai nā hui e like me Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit a me Twitter. No ka laʻana, ʻoi aku ka nui o ka waihona mālama waihona ʻo Apache Cassandra i hoʻonohonoho ʻia e Apple ma mua o hoʻokahi kaukani puʻupuʻu, me ka 160 tausani nodes a me ka mālama ʻana ma mua o 100 petabytes o ka ʻikepili. Hoʻohana ʻo Huawei ma mua o 300 mau pūʻulu Apache Cassandra, nona ka 30 tausani nodes, a hoʻohana ʻo Netflix ma mua o 100 mau pūʻulu, e uhi ana i 10 tausani nodes a me ka hana ʻana ma mua o hoʻokahi trillion noi i kēlā me kēia lā.

Hoʻohui ka Cassandra DBMS i kahi ʻōnaehana hash Dynamo i hāʻawi piha ʻia, e hāʻawi ana i ka scalability linear e like me ka piʻi ʻana o ka nui o ka ʻikepili. Hoʻohana ʻo Cassandra i kahi hoʻohālike hoʻopaʻa ʻikepili e pili ana i ka ʻohana kolamu (ColumnFamily), kahi ʻokoʻa mai nā ʻōnaehana e like me memcachedb, nāna e mālama i ka ʻikepili i loko o kahi kaula kī/waiwai, ma o ka hiki ke hoʻonohonoho i ka waiho ʻana o nā hashes me nā pae o ka nesting. No ka hoʻomaʻamaʻa ʻana i ka pilina me ka waihona, kākoʻo ʻia ka ʻōlelo hulina i kūkulu ʻia CQL (Cassandra Query Language), e hoʻomanaʻo ana i ka SQL, akā hoʻemi ʻia ka hana. Loaʻa i nā hiʻohiʻona ke kākoʻo no nā inoa inoa a me nā ʻohana kolamu, a me ka hana ʻana i nā kuhikuhi me ka hoʻohana ʻana i ka ʻōlelo "CREATE INDEX".

ʻAe ka DBMS iā ʻoe e hana i kahi mālama kūʻokoʻa hiki ʻole: ʻo ka ʻikepili i waiho ʻia i loko o ka waihona e hoʻopili ʻia i nā nodes o kahi pūnaewele puʻupuʻu, hiki ke hoʻopaʻa i nā kikowaena ʻikepili like ʻole. Ke hāʻule ka node, lawe ʻia kāna mau hana ma ka lele e nā node ʻē aʻe. ʻO ka hoʻohui ʻana i nā nodes hou i ka puʻupuʻu a me ka hoʻonui ʻana i ka mana Cassandra e hana ʻia ma ka lele, me ka ʻole o ka hana lima a i ʻole ka hoʻonohonoho hou ʻana i nā nodes ʻē aʻe. Hoʻomākaukau ʻia nā mea hoʻokele me ke kākoʻo CQL no Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ a me JavaScript (Node.js).

Nā hana hou nui:

  • Hoʻonui i ka hana a me ka scalability. Ua hoʻomaikaʻi ʻia ka maikaʻi o ka hoʻololi ʻana i ka ʻikepili ma SSTable (Sorted Strings Table) ma waena o nā node. Ua hoʻonui ʻia ka Internode Messaging Protocol. ʻO ka wikiwiki o ka hoʻoili ʻana i nā kahawai ʻikepili ma waena o nā nodes ua piʻi a hiki i 5 mau manawa (ma muli o ka hoʻohana ʻana i ka ʻenehana Zero Copy a me ka hoʻololi ʻana o nā SSTables holoʻokoʻa), a ua hoʻonui ʻia ka throughput no nā hana heluhelu a kākau i ka 25%. Ua hoʻonui ʻia ke kaʻina hana hoʻihoʻi hou. Hoʻemi ʻia nā lohi ma muli o ka pau ʻana o ka ʻōpala i kekahi mau milliseconds.
  • Hoʻohui kākoʻo no ka loiloi loiloi e hiki ai iā ʻoe ke hahai i nā hana hōʻoia o ka mea hoʻohana a me nā nīnau CQL i hoʻokō ʻia.
  • Hoʻohui i ka hiki ke mālama i kahi log noi binary piha, e ʻae iā ʻoe e mālama i nā noi āpau a me nā kaʻa pane. No ka hoʻokele ʻana, ua hāʻawi ʻia nā kauoha "nodetool enablefullquerylog|disablefullquerylog|resetfullquerylog", a ua hoʻolako ʻia ka pono fqltool no ka loiloi log. Hāʻawi ʻia nā kauoha no ka hoʻololi ʻana i ka log i kahi palapala hiki ke heluhelu ʻia (Dump), ka hoʻohālikelike ʻana i nā ʻāpana hana (Hoʻohālikelike) a me ka hoʻokō hou ʻana (Replay) no ka nānā ʻana e hana hou i nā kūlana i loaʻa i ka ukana maoli.
  • Kākoʻo hoʻohui ʻia no nā pākaukau virtual e hōʻike ana ʻaʻole i ka ʻikepili i mālama ʻia ma SSTables, akā i ka hoʻopuka ʻana i ka ʻike ma o ka API (nā ana hana, ka ʻike hoʻonohonoho, ka ʻike huna, ka ʻike e pili ana i nā mea kūʻai aku, etc.).
  • Ua hoʻomaikaʻi ʻia ka maikaʻi o ka mālama ʻana i ka ʻikepili i hoʻopaʻa ʻia, e hōʻemi ana i ka hoʻohana ʻana i kahi disk a me ka hoʻomaikaʻi ʻana i ka hana heluhelu.
  • Hoʻokomo ʻia ka ʻikepili pili i ka ʻōnaehana keyspace (system.*) i ka papa kuhikuhi mua ma ka paʻamau ma mua o ka puʻunaue ʻia ma nā papa kuhikuhi ʻikepili āpau, e hiki ai i ka node ke hoʻomau i ka hana inā hāʻule kekahi o nā disks hou.
  • Hoʻohui i ke kākoʻo hoʻokolohua no Transient Replication a me nā Quorums cheap. ʻAʻole mālama nā replicas manawa i nā ʻikepili āpau a hoʻohana i ka hoʻihoʻi hou e kūlike me nā kope piha. Hoʻokō nā kōrum māmā i ka hoʻoponopono kākau ʻana ʻaʻole i kākau ʻia i nā kope pōkole a hiki i ka loaʻa ʻana o kahi pūʻulu o nā kope piha.
  • Hoʻohui i ke kākoʻo hoʻokolohua no Java 11.
  • Hoʻohui i kahi koho hoʻokolohua e hoʻohālikelike i nā lāʻau Merkle āpau. No ka laʻana, ʻo ka ʻae ʻana i ke koho ma kahi puʻupuʻu 3-node i ʻano like nā replicas ʻelua a paʻa kekahi e hopena i ka hōʻano hou o ka replica stale me ka hoʻohana ʻana i hoʻokahi hana kope o ke kope o kēia manawa.
  • Hoʻohui i nā hana hou i kēia manawaTimestamp, currentDate, currentTime a me kēia manawaUUID.
  • Hoʻohui i ke kākoʻo no nā hana helu ma nā nīnau CQL.
  • Hāʻawi ʻia ka hiki ke hana i nā hana helu ma waena o ka ʻikepili me nā ʻano "timestamp" / "lā" a me "lōʻihi".
  • Hoʻohui ʻia kahi ʻano no ka nānā ʻana i nā kahawai ʻikepili i koi ʻia no ka hoʻihoʻi ʻana (nodetool repair —preview) a me ka hiki ke nānā i ka pono o ka ʻikepili e hoʻihoʻi ʻia (nodetool repair —validate).
  • Loaʻa i nā nīnau SELECT i kēia manawa ke hana i ka palapala palapala a me ka hoʻonohonoho i nā mea.
  • Kākoʻo hoʻohui ʻia no ka hoʻohālikelike ʻana i ke kahua kūkulu mua o nā manaʻo i hoʻohālikelike ʻia (cassandra.yaml:concurrent_materialized_view_builders).
  • Ua hoʻohui ke kauoha "nodetool cfstats" i ke kākoʻo no ka hoʻokaʻawale ʻana e kekahi mau ana a me ka kaupalena ʻana i ka helu o nā lālani i hōʻike ʻia.
  • Hāʻawi ʻia nā ʻōkuhi e kaupalena i ka pilina o ka mea hoʻohana i kekahi mau kikowaena ʻikepili wale nō.
  • Hoʻohui i ka hiki ke kaupalena i ka ikaika (ka palena palena) o ka hana kiʻi kiʻi a me nā hana hoʻomaʻemaʻe.
  • Kākoʻo ʻo cqlsh a me cqlshlib iā Python 3 (Ke kākoʻo mau ʻia nei ʻo Python 2.7).
  • Ua hoʻopau ʻia ke kākoʻo no ka paepae Windows. No ka holo ʻana iā Cassandra ma Windows, makemake ʻia e hoʻohana i nā kaiapuni Linux i hana ʻia ma ke kumu o ka subsystem WSL2 (Windows Subsystem for Linux 2) a i ʻole nā ​​ʻōnaehana virtualization.



Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka