Apache Cassandra 4.0 DBMS sadia

Yayasan Perangkat Lunak Apache nampilkeun sékrési DBMS Apache Cassandra 4.0 anu disebarkeun, anu kagolong kana kelas sistem noSQL sareng dirarancang pikeun nyiptakeun panyimpen anu ageung sareng dipercaya tina jumlah data anu ageung disimpen dina bentuk susunan asosiatif (hash). Pelepasan Cassandra 4.0 dianggap siap pikeun palaksanaan produksi sareng parantos diuji dina infrastruktur Amazon, Apple, DataStax, Instaclustr, iland sareng Netflix kalayan klaster langkung ti 1000 titik. Kodeu proyék ditulis dina Java sareng disebarkeun dina lisénsi Apache 2.0.

Cassandra DBMS mimitina dikembangkeun ku Facebook sareng di 2009 dialihkeun dina naungan Yayasan Apache. Solusi industri dumasar kana Cassandra parantos disebarkeun kana jasa kakuatan ti perusahaan sapertos Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit sareng Twitter. Salaku conto, infrastruktur gudang basis Apache Cassandra anu disebarkeun ku Apple gaduh langkung ti sarébu klaster, kalebet 160 rébu titik sareng nyimpen langkung ti 100 petabytes data. Huawei nganggo langkung ti 300 kluster Apache Cassandra, diwangun ku 30 rébu titik, sareng Netflix nganggo langkung ti 100 kluster, nyertakeun 10 rébu titik sareng ngolah langkung ti samilyar pamundut per dinten.

Cassandra DBMS ngagabungkeun sistem hash Dinamo anu disebarkeun pinuh, anu nyayogikeun skalabilitas ampir linier nalika volume data naék. Cassandra ngagunakeun model gudang data dumasar kana kulawarga kolom (ColumnFamily), nu béda ti sistem kawas memcachedb, nu nyimpen data ngan dina ranté konci / nilai, ku kamampuhan pikeun ngatur neundeun hashes kalawan sababaraha tingkatan nyarang. Pikeun nyederhanakeun interaksi sareng pangkalan data, basa query terstruktur CQL (Cassandra Query Language) dirojong, anu ngingetkeun kana SQL, tapi ngirangan fungsionalitasna. Fitur kaasup pangrojong pikeun ngaranspasi jeung kulawarga kolom, sarta kreasi indexes ngagunakeun "Jieun INDEX" éksprési.

DBMS ngidinan Anjeun pikeun nyieun gudang gagal-tahan: data disimpen dina database otomatis replicated ka sababaraha titik jaringan disebarkeun, nu bisa bentang puseur data béda. Nalika hiji titik gagal, fungsina dijemput ku simpul anu sanés. Nambahkeun titik anyar kana klaster jeung ngamutahirkeun versi Cassandra dipigawé dina laleur nu, tanpa campur manual tambahan atawa reconfiguring titik lianna. Supir sareng dukungan CQL disiapkeun pikeun Python, Java (JDBC / DBAPI2), Ruby, PHP, C ++ sareng JavaScript (Node.js).

Inovasi utama:

  • Ningkatkeun kinerja sareng skalabilitas. Efisiensi pertukaran data dina format SSTable (Sorted Strings Table) antara titik-titik parantos ningkat. Internode Messaging Protocol parantos dioptimalkeun. Laju mindahkeun aliran data antara titik geus ngaronjat nepi ka 5 kali (utamana alatan pamakéan téknik Zero Copy jeung mindahkeun sakabéh SSTables), sarta throughput pikeun maca jeung nulis operasi geus ngaronjat nepi ka 25%. Prosés recovery incremental geus dioptimalkeun. Latensi alatan ngareureuhkeun ngumpulkeun sampah diréduksi jadi sababaraha milidetik.
  • Ditambahkeun dukungan pikeun log Inok anu ngamungkinkeun anjeun ngalacak operasi auténtikasi pangguna sareng sadaya patarosan CQL anu dieksekusi.
  • Ditambahkeun kamampuan pikeun ngajaga log pamundut binér pinuh, ngamungkinkeun anjeun pikeun ngahémat sadaya lalu lintas pamundut sareng réspon. Pikeun manajemén, paréntah "nodetool enablefullquerylog | disablefullquerylog | resetfullquerylog" diajukeun, sareng utilitas fqltool disayogikeun pikeun analisis log. Paréntah disadiakeun pikeun ngarobah log kana formulir bisa dibaca (Dump), ngabandingkeun keureut aktivitas (Bandingkeun) jeung ulang executing (Replay) pikeun analisis reproducing kaayaan alamiah dina beban nyata.
  • Ditambahkeun rojongan pikeun tabel maya nu ngagambarkeun teu data disimpen di SSTables, tapi kaluaran informasi via API (métrik kinerja, informasi setelan, eusi cache, informasi ngeunaan klien disambungkeun, jsb).
  • Efisiensi panyimpen data anu dikomprés parantos ningkat, ngirangan konsumsi rohangan disk sareng ningkatkeun kinerja maca.
  • Data nu patali jeung keyspace sistem (sistem.*) ayeuna disimpen dina diréktori kahiji sacara standar tinimbang disebarkeun ka sadaya diréktori data, anu ngamungkinkeun node tetep operasional lamun salah sahiji disk tambahan gagal.
  • Ditambahkeun dukungan ékspérimén pikeun Réplikasi Transient sareng Kuorum Murah. Réplika samentawis henteu nyimpen sadaya data sareng nganggo pamulihan incremental supados konsisten sareng réplika lengkep. Kuorum cahaya ngalaksanakeun optimasi nulis dimana teu aya tulisan anu dilakukeun pikeun réplika samentawis dugi sakumpulan réplika lengkep anu cekap sayogi.
  • Ditambahkeun dukungan ékspérimén pikeun Java 11.
  • Ditambahkeun pilihan ékspérimén pikeun ngabandingkeun sadayana Tangkal Merkle. Contona, sangkan pilihan dina klaster 3-titik nu dua réplika idéntik jeung hiji bulukan bakal ngahasilkeun apdet replica bulukan ngagunakeun ngan hiji operasi salinan tina replica ayeuna.
  • Ditambahkeun fungsi anyar currentTimestamp, currentDate, currentTime sareng currentTimeUUID.
  • Ditambahkeun dukungan pikeun operasi aritmetika dina pamundut CQL.
  • Kamampuhan pikeun ngalakukeun operasi aritmatika antara data sareng jinis "timestamp" / "tanggal" sareng "durasi" disayogikeun.
  • Nambahkeun mode pikeun nilik aliran data anu diperyogikeun pikeun pamulihan (perbaikan nodetool —preview) sareng kamampuan pikeun mariksa integritas data anu dibalikeun (perbaikan nodetool —validate).
  • SELECT queries ayeuna gaduh kamampuhan pikeun ngolah Peta sarta elemen Set.
  • Ditambahkeun rojongan pikeun parallelizing tahap konstruksi awal pintonan materialized (cassandra.yaml: concurrent_materialized_view_builders).
  • Paréntah "nodetool cfstats" parantos nambihan dukungan pikeun nyortir ku métrik anu tangtu sareng ngawatesan jumlah baris anu ditampilkeun.
  • Setélan disayogikeun pikeun ngawatesan konéksi pamake ka pusat data anu tangtu wungkul.
  • Ditambahkeun kamampuan pikeun ngawatesan inténsitas (wates laju) nyiptakeun snapshot sareng operasi ngabersihan.
  • cqlsh sareng cqlshlib ayeuna ngadukung Python 3 (Python 2.7 masih dirojong).
  • Rojongan pikeun platform Windows parantos dileungitkeun. Pikeun ngajalankeun Cassandra dina Windows, disarankeun ngagunakeun lingkungan Linux anu didamel dumasar kana subsistem WSL2 (Windows Subsystem for Linux 2) atanapi sistem virtualisasi.



sumber: opennet.ru

Tambahkeun komentar