Keluaran Tarantool 2.8 DBMS

Versi baharu DBMS Tarantool 2.8 tersedia, yang menyediakan storan data kekal dengan maklumat yang diambil daripada pangkalan data dalam memori. DBMS menggabungkan ciri pemprosesan pertanyaan berkelajuan tinggi bagi sistem NoSQL (contohnya, Memcached dan Redis) dengan kebolehpercayaan DBMS tradisional (Oracle, MySQL dan PostgreSQL). Tarantool ditulis dalam C dan membolehkan anda membuat prosedur tersimpan dalam Lua. Kod itu diedarkan di bawah lesen BSD.

DBMS membolehkan anda bekerja dengan cekap dengan volum data yang besar di bawah beban yang tinggi. Antara ciri Tarantool, keupayaan untuk mencipta pengendali dalam bahasa Lua (LuaJIT terbina dalam), penggunaan format MessagePack semasa bertukar data dengan pelanggan, kehadiran dua enjin terbina dalam (simpanan dalam RAM dengan set semula kepada pemacu kekal dan storan cakera dua peringkat berdasarkan LSM-tree), sokongan untuk kunci sekunder, empat jenis indeks (HASH, TREE, RTREE, BITSET), alatan untuk replikasi segerak dan tak segerak dalam mod master-master, sokongan untuk pengesahan sambungan dan kawalan akses, keupayaan untuk memproses pertanyaan SQL.

Perubahan utama:

  • Penstabilan MVCC (Multi-Version Concurrency Control) dalam enjin dalam memori memtx.
  • Sokongan transaksi dalam protokol binari IPROTO. Sebelum ini, transaksi memerlukan menulis prosedur tersimpan dalam Lua.
  • Sokongan untuk replikasi segerak, yang berfungsi berhubung dengan jadual individu.
  • Mekanisme untuk menukar secara automatik ke nod sandaran (failover) berdasarkan protokol RAFT. Replikasi berasaskan WAL tak segerak telah lama dilaksanakan dalam Tarantool; kini anda tidak perlu memantau nod induk secara manual.
  • Pensuisan nod induk automatik juga tersedia dalam kes topologi dengan pembahagian data (pustaka vshard digunakan, yang mengedarkan data merentas pelayan menggunakan baldi maya).
  • Memperbaik rangka kerja untuk membina aplikasi kelompok Tarantool Cartridge apabila bekerja dalam persekitaran maya. Tarantool Cartridge kini memegang beban dengan lebih baik.
  • Kerja peranan Ansible untuk penempatan kluster telah dipercepatkan sehingga 15-20 kali. Ini menjadikan kerja dengan kluster besar lebih mudah.
  • Alat telah muncul untuk pemindahan mudah daripada versi lama >1.6 dan <1.10, yang tersedia menggunakan pilihan tambahan pada permulaan. Sebelum ini, migrasi perlu dilakukan melalui penggunaan versi interim 1.10.
  • Penyimpanan tupel kecil telah dioptimumkan.
  • SQL kini menyokong UUID dan meningkatkan penukaran jenis.

Perlu diingat bahawa bermula dari versi 2.10 akan ada peralihan kepada dasar baharu untuk menjana keluaran. Untuk keluaran penting yang memecahkan keserasian ke belakang, digit pertama versi akan berubah, untuk keluaran pertengahan - yang kedua, dan untuk keluaran pembetulan - yang ketiga (selepas 2.10, keluaran 3.0.0 akan dikeluarkan).

Sumber: opennet.ru

Tambah komen