Dragonfly, sebuah proyek yang mengklaim sebagai pengganti yang lebih cepat untuk Redis dan Memcached

Berita itu dirilis bahwa versi pertama sudah tersedia sistem penyimpanan data dalam memori Dragonfly, yang menyediakan dukungan untuk protokol Memcached dan Redis, tetapi memungkinkan kueri berjalan dengan kinerja yang jauh lebih tinggi dan konsumsi memori yang lebih sedikit.

Sistem menangani data dalam format kunci/nilai dan dapat digunakan sebagai solusi ringan untuk mempercepat situs yang banyak dimuat, cache kueri lambat di DBMS, dan cache data perantara dalam RAM.

BSL diusulkan oleh salah satu pendiri MySQL sebagai alternatif dari model Open Core. Inti dari BSL adalah bahwa kode fungsionalitas yang diperluas pada awalnya tersedia untuk dimodifikasi, tetapi untuk beberapa waktu dapat digunakan secara gratis hanya dengan persyaratan tambahan, yang memerlukan pembelian lisensi komersial untuk memotong.

Persyaratan lisensi tambahan dari proyek Dragonfly mengharuskan kode tersebut dikonversi ke lisensi Apache 2.0 hanya pada tanggal 1 Juni 2027. Sampai saat itu, lisensi mengizinkan penggunaan kode hanya untuk memastikan pengoperasian layanan dan produknya, tetapi melarang penggunaan untuk membuat layanan cloud berbayar yang berfungsi sebagai add-on untuk Dragonfly.

Capung mengklaim sebagai sistem penyimpanan memori tercepat di dunia, menurut pengembang dan benchmark. Dibandingkan dengan Redis, Dragonfly mencapai peningkatan kinerja 25x dan pengurangan 3x dalam konsumsi memori di bawah beban kerja biasa. Satu server Dragonfly dapat memproses jutaan permintaan per detik, misalnya, di lingkungan Amazon EC2 c6gn.16xlarge, throughput 3,8 juta permintaan per detik tercapai.

Dalam pengujian penyimpanan 5 GB, Dragonfly membutuhkan memori 30% lebih sedikit daripada Redis. Selama pembuatan snapshot menggunakan perintah "bgsave", konsumsi memori meningkat, tetapi pada waktu puncaknya dipertahankan hampir tiga kali lebih sedikit daripada di Redis, dan operasi penulisan snapshot itu sendiri jauh lebih cepat (dalam pengujian, menulis snapshot di Capung dalam 30 detik, dan Redis - dalam 42 detik).

Performa tinggi dicapai berkat arsitektur multi-utas tidak ada sumber daya bersama ( shared-nothing ), yang menyiratkan bahwa pengontrol terpisah dan independen dengan bagian datanya sendiri dilampirkan ke setiap utas, bekerja tanpa mutex atau spin-lock. Kunci VLL ringan digunakan untuk memastikan atomisitas ketika berhadapan dengan banyak kunci. Untuk menyimpan informasi secara efisien dalam memori, struktur dashtable digunakan, yang mengimplementasikan semacam tabel hash yang dipartisi.

Dari fungsi yang tersedia di versi pertama menyoroti dukungan untuk protokol RESP2 dan 130 perintah Redis, yang kira-kira sesuai dengan fungsionalitas rilis Redis 2.8.

Selain itu, Dragonfly mendukung semua perintah Memcached kecuali CAS (verifikasi dan set), menyediakan dukungan untuk operasi asinkron untuk membuat snapshot, menyediakan konsumsi memori yang dapat diprediksi, menyediakan interpreter Lua 5.4 bawaan, dan mendukung tipe data kompleks seperti hash, set, dan daftar (ZSET, HSET, LIST, SETS , dan STRING).

Secara terpisah, mode caching tersedia, di mana data lama secara otomatis diganti dengan data baru setelah memori kosong habis. Dimungkinkan untuk menautkan ke data seumur hidup di mana data dianggap relevan.

Status penyimpanan dapat dipindahkan ke disk di latar belakang untuk pemulihan nanti setelah reboot. Untuk mengelola sistem, konsol HTTP (mengikat ke port TCP 6379) dan API untuk mengembalikan metrik yang sesuai dengan Prometheus disediakan. Dalam rilis mendatang, kami berencana untuk memperluas dukungan untuk perintah Redis dan menerapkan kemampuan untuk mereplikasi penyimpanan untuk failover dan load balancing.

Terakhir, jika Anda tertarik untuk mempelajarinya lebih lanjut, Anda harus mengetahui bahwa kode Dragonfly ditulis dalam C/C++ dan didistribusikan di bawah lisensi BSL (Lisensi Sumber Bisnis).

Anda dapat berkonsultasi tentang proyek Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.