Keluaran Redis 6.0 DBMS

Bersedia Keluaran DBMS Redis 6.0, kepunyaan kelas sistem NoSQL. Redis menyediakan fungsi seperti Memcached untuk menyimpan data kunci/nilai, dipertingkatkan dengan sokongan untuk format data berstruktur seperti senarai, cincang dan set, serta keupayaan untuk menjalankan skrip pengendali Lua sebelah pelayan. Kod projek dibekalkan di bawah lesen BSD. Modul tambahan yang menawarkan keupayaan lanjutan untuk pengguna perusahaan seperti RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom sejak tahun lepas dibekalkan di bawah lesen RSAL proprietari. Pembangunan versi terbuka modul ini di bawah lesen AGPLv3 diteruskan oleh projek GoodFORM.

Tidak seperti Memcached, Redis menyediakan penyimpanan data yang berterusan pada cakera dan menjamin keselamatan pangkalan data sekiranya berlaku penutupan kecemasan. Kod sumber projek diedarkan di bawah lesen BSD. Pustaka pelanggan tersedia untuk kebanyakan bahasa popular, termasuk Perl, Python, PHP, Java, Ruby dan Tcl. Redis menyokong urus niaga, yang membolehkan anda melaksanakan sekumpulan arahan dalam satu langkah, memastikan konsistensi dan konsistensi (arahan daripada permintaan lain tidak boleh campur tangan) dalam pelaksanaan set arahan yang diberikan, dan sekiranya berlaku masalah, membolehkan anda berpatah balik perubahan. Semua data dicache sepenuhnya dalam RAM.

Perintah seperti kenaikan/pengurangan, senarai standard dan operasi set (kesatuan, persimpangan), penamaan semula kunci, berbilang pilihan dan fungsi pengisihan disediakan untuk pengurusan data. Dua mod storan disokong: penyegerakan berkala data ke cakera dan penyelenggaraan log perubahan pada cakera. Dalam kes kedua, keselamatan lengkap semua perubahan terjamin. Ia adalah mungkin untuk mengatur replikasi data tuan-hamba ke beberapa pelayan, dijalankan dalam mod tidak menyekat. Mod pemesejan "terbitkan/langgan" juga tersedia, di mana saluran dibuat, mesej daripadanya diedarkan kepada pelanggan melalui langganan.

kunci penambahbaikanditambah dalam Redis 6.0:

  • Secara lalai, protokol RESP3 baharu dicadangkan, tetapi persediaan sambungan bermula dalam mod RESP2 dan klien bertukar kepada protokol baharu hanya jika arahan HELLO baharu digunakan semasa merundingkan sambungan. RESP3 membolehkan anda mengembalikan jenis data kompleks secara langsung tanpa perlu menukar tatasusunan generik pada sisi klien dan dengan mengasingkan jenis pulangan.
  • Sokongan senarai kawalan akses (ACL), membolehkan anda menentukan dengan tepat operasi yang boleh dilakukan oleh pelanggan dan yang tidak. ACL juga memungkinkan untuk melindungi daripada kemungkinan ralat semasa pembangunan, contohnya, pengendali yang hanya menjalankan operasi BRPOPLPUSH boleh dilarang daripada melaksanakan operasi lain, dan jika panggilan FLUSHALL yang ditambahkan semasa penyahpepijatan terlupa secara tidak sengaja dalam kod pengeluaran, ini akan tidak membawa kepada masalah. Melaksanakan ACL tidak memerlukan sebarang overhed tambahan dan hampir tidak mempunyai kesan ke atas prestasi. Modul antara muka juga telah disediakan untuk ACL, membolehkan anda mencipta kaedah pengesahan anda sendiri. Untuk melihat semua pelanggaran ACL yang direkodkan, arahan "LOG ACL" disediakan. Untuk menjana kunci sesi yang tidak dapat diramalkan, arahan "ACL GENPASS" telah ditambahkan menggunakan HMAC berasaskan SHA256.
  • Sokongan SSL / TLS untuk menyulitkan saluran komunikasi antara klien dan pelayan.
  • Sokongan caching data pada bahagian klien. Untuk menyelaraskan cache sisi klien dengan keadaan pangkalan data, dua mod tersedia: 1. Mengingati pada pelayan kunci yang diminta klien sebelum ini untuk memaklumkannya tentang kehilangan kaitan entri dalam cache klien. 2. Mekanisme "penyiaran", di mana pelanggan melanggan awalan utama tertentu dan pelayan memberitahunya jika kunci yang berada di bawah awalan ini berubah. Kelebihan mod "penyiaran" ialah pelayan tidak membazirkan memori tambahan untuk menyimpan peta nilai yang dicache pada sisi klien, tetapi kelemahannya ialah bilangan mesej yang dihantar meningkat.
  • Broker mesej Disque, yang membolehkan anda menggunakan Redis untuk memproses baris gilir mesej, telah dialih keluar daripada struktur asas dalam modul berasingan.
  • Ditambah Proksi Kluster, proksi untuk sekumpulan pelayan Redis, membenarkan pelanggan mengatur kerja dengan beberapa pelayan Redis seolah-olah ia adalah satu contoh. Proksi boleh menghalakan permintaan ke nod dengan data yang diperlukan, sambungan pemultipleks, mengkonfigurasi semula kluster jika kegagalan nod dikesan dan melaksanakan permintaan yang merangkumi berbilang nod.
  • API untuk menulis modul telah dipertingkatkan dengan ketara, pada asasnya menjadikan Redis sebagai rangka kerja yang membolehkan anda mencipta sistem dalam bentuk modul tambahan.
  • Mod replikasi telah dilaksanakan di mana fail RDB segera dipadamkan selepas ia digunakan.
  • Protokol replikasi PSYNC2 telah dipertingkatkan, yang memungkinkan untuk melakukan penyegerakan semula separa dengan lebih kerap, dengan meningkatkan peluang untuk mengenal pasti offset biasa kepada replika dan induk.
  • Memuatkan fail RDB telah dipercepatkan. Bergantung pada kandungan fail, pecutan berkisar antara 20 hingga 30%. Pelaksanaan arahan INFO telah dipercepatkan dengan ketara apabila terdapat sejumlah besar pelanggan yang disambungkan.
  • Perintah STRALGO baharu telah ditambah dengan pelaksanaan algoritma pemprosesan rentetan yang kompleks. Pada masa ini, hanya satu algoritma LCS (susulan biasa terpanjang) tersedia, yang boleh berguna apabila membandingkan jujukan RNA dan DNA.

Sumber: opennet.ru

Tambah komen