Dragonfly, sistem caching data RAM

DragonFly

Dragonfly ialah stor data dalam memori yang dibina untuk beban kerja aplikasi moden.

Beberapa hari lalu ia diumumkan pelepasan sistem penyimpanan data dan caching dalam memori Dragonfly, yang memanipulasi data dalam format kunci/nilai dan boleh digunakan sebagai penyelesaian ringan untuk mempercepatkan tapak beban tinggi dengan menyimpan cache pertanyaan perlahan ke DBMS dan data perantaraan dalam RAM.

Dragonfly menyokong protokol Memcached dan Redis, membolehkan anda menggunakan perpustakaan pelanggan sedia ada dan projek pelabuhan menggunakan Memcached dan Redis ke Dragonfly tanpa perlu mengolah semula kod anda.

Patut disebut Dragonfly baru-baru ini menerima kemas kini, mencapai versi 1.0 dan di mana menonjol untuk pelaksanaan sokongan untuk replikasi data dari pelayan utama ke pelayan sekunder.

Pada masa yang sama, Dragonfly boleh dikonfigurasikan untuk digunakan sebagai storan sekunder yang menerima data daripada pelayan utama berdasarkan Dragonfly dan Redis. API pengurusan replikasi serasi dengan Redis dan berdasarkan penggunaan perintah ROLE dan REPLICAOF (SLAVEOF).

Mengenai Dragonfly

Prestasi tinggi dicapai berkat seni bina berbilang benang tanpa berkongsi sumber (shared-nothing), yang bermaksud pengawal berasingan dilampirkan pada setiap thread dengan sekeping datanya sendiri, yang berfungsi tanpa mutex atau spin-lock.

Kunci VLL ringan digunakan untuk menjamin atomicity apabila berurusan dengan berbilang kunci, kerana untuk menyimpan maklumat dengan cekap dalam ingatan, struktur jadual pemuka digunakan, yang melaksanakan sejenis jadual cincang yang dipartisi.

Berbanding dengan Redis, Dragonfly menawarkan peningkatan prestasi 25x ganda (3,8 juta permintaan sesaat) di bawah beban kerja biasa dalam persekitaran Amazon EC2 c6gn.16xlarge. Berbanding dengan Memcached dalam persekitaran AWS c6gn.16xlarge, Dragonfly dapat menyelesaikan 4,7 kali lebih banyak permintaan tulis sesaat (3,8 juta berbanding 806k) dan 1,77 kali lebih banyak permintaan baca sesaat (3,7 juta berbanding 2,1 juta).

Dalam ujian storan 5 GB, Dragonfly memerlukan 30% kurang memori daripada Redis. Semasa penciptaan syot kilat menggunakan perintah "bgsave", penggunaan memori meningkat, tetapi pada masa puncak ia disimpan hampir tiga kali lebih rendah daripada di Redis, dan operasi tulis syot kilat itu sendiri adalah lebih pantas (dalam kes Redis). ujian, a syot kilat ditulis pada Dragonfly dalam 30 saat, dan Redis - dalam 42 saat).

Sesetengah Ciri pepatung ialah:

  • Mod caching yang menggantikan data lama secara automatik dengan data baharu setelah memori kosong habis.
  • Sokongan untuk kitaran hayat mengikat data semasa data dianggap terkini.
  • Sokongan untuk mengepam keadaan storan ke cakera di latar belakang untuk pemulihan kemudian selepas but semula.
  • Kehadiran konsol HTTP (mengikat pada port TCP 6379) untuk pengurusan sistem dan API untuk metrik pengembalian, serasi dengan Prometheus.
  • Sokongan untuk 185 arahan Redis, lebih kurang sama dengan fungsi keluaran Redis 5.
  • Sokongan untuk semua perintah Memcached kecuali CAS (sahkan dan konfigurasi).
  • Sokongan untuk operasi tak segerak untuk mencipta syot kilat.
  • Penggunaan ingatan yang boleh diramalkan.
  • Jurubahasa Lua Bersepadu 5.4.
  • Sokongan untuk jenis data kompleks seperti cincang, set, senarai (ZSET, HSET, LIST, SETS dan STRING) dan data JSON.
  • Sokongan replikasi storan untuk failover dan pengimbangan beban.

Bagi mereka yang berminat dengan kod Dragonfly, anda harus tahu bahawa ini ditulis dalam C/C++ dan diedarkan di bawah lesen BSL .Intipati BSL ialah kod fungsi lanjutan pada mulanya tersedia untuk pengubahsuaian, tetapi untuk beberapa waktu ia boleh digunakan secara percuma hanya tertakluk kepada syarat tambahan, yang memerlukan pembelian lesen komersial untuk memintas.

Syarat lesen tambahan projek Dragonfly memerlukan kod tersebut dipindahkan ke Lesen Apache 2.0 pada 15 Mac 2028. Sehingga itu, lesen membenarkan penggunaan kod itu hanya untuk memastikan operasi perkhidmatan dan produknya, tetapi melarang penggunaan untuk mencipta berbayar perkhidmatan awan yang bertindak sebagai pemalam kepada Dragonfly.

Akhirnya jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran di pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.