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.