libmdbx 0.10.4 hadir dengan berbagai peningkatan dan perbaikan bug

Pelepasan versi 0.10.4 perpustakaan "Libmdbx" dimana secara keseluruhan, lebih dari 160 perubahan dilakukan pada 57 file, ~ 5000 baris ditambahkan dan ~ 2500 dihapus. Bagi mereka yang tidak terbiasa dengan libmdbx, Anda harus tahu bahwa ini adalah kumpulan pustaka yang merupakan implementasi dari basis data tertanam yang kompak dan berkinerja tinggi dari kelas nilai kunci.

Secara historis, libmdbx adalah pengerjaan ulang yang mendalam dari LMDB DBMS dan mengungguli pendahulunya dalam keandalan, set fitur, dan kinerja. Dibandingkan dengan LMDB, libmdbx lebih menekankan pada kualitas kode, stabilitas API, pengujian, dan pemeriksaan otomatis. Utilitas untuk memverifikasi integritas struktur database disediakan dengan beberapa opsi pemulihan.

Secara teknologi, libmdbx menawarkan ACID, serialisasi perubahan yang ketat, dan pembacaan tanpa pemblokiran dengan penskalaan linier di seluruh inti CPU. Mendukung pemadatan otomatis, kontrol ukuran database otomatis, dan estimasi kueri peringkat. Sejak 2016, proyek telah didanai oleh Positive Technologies dan digunakan dalam produk mereka sejak 2017.

Untuk libmdbx, sebuah C ++ API ditawarkan, serta binding yang kompatibel dengan penggemar Rust, Haskell, Python, NodeJS, Ruby, Go, Nim. Untuk libfpta, hanya deskripsi API berupa file header C/C++ yang tersedia untuk umum.

Selain mendukung Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD dan sistem lain yang kompatibel POSIX.1-2008.

Fitur baru utama libmdbx 0.10.4

Dalam versi baru libmdbx 0.10.4 para pengembang bekerja untuk dapat memberikan kemampuan untuk build yang dapat dimainkan, Selain itu, pengujian telah ditingkatkan dan skrip pengujian telah diperluas untuk memeriksa semua status non-isomorfik yang dapat dicapai dari pohon halaman dan konten GC dalam database.

Di C ++ API diperbaiki sekali "noexcept", menambahkan kelebihan ekstra untuk metode "kursor :: hapus ()", implementasi buffer dihilangkan dengan menggunakan "std :: string" untuk memastikan keselarasan (saat ini untuk CLANG libstdc ++)

Selain itu, hal itu juga yang ditonjolkan verifikasi bertahap dilakukan dengan penambahan serangkaian verifikasi untuk memastikan stabilitas jika terjadi kerusakan yang disengaja pada database.

Di sisi lain, disorot bahwa pencarian komponen kompiler yang diperlukan untuk LTO (optimasi waktu tautan) telah ditingkatkan dalam skrip CMake, selain itu jumlah maksimum pembaca simultan telah ditingkatkan menjadi 32.767 dan juga kinerja telah ditingkatkan saat menggunakan Valgrind dan AddressSanitizer.

Mengenai perbaikan bug yang dibuat dalam versi baru ini, berikut ini disebutkan:

  • Memperbaiki bug di mana, dalam keadaan yang sangat jarang, loop / crash dapat terjadi selama melakukan transaksi. Masalahnya diidentifikasi oleh spesialis di Positive Technologies selama pengujian internal produk mereka sendiri.
  • Memperbaiki regresi dalam algoritme tumpahan halaman kotor (pengusiran selektif halaman basis data yang dimodifikasi) yang bermanifestasi dalam kesalahan MDBX_PROBLEM yang jarang terjadi saat mengubah data dalam transaksi besar.
  • Memperbaiki masalah kecil UndefinedBehaviorSanitizer dan Coverity Scan.
    Memperbaiki pemeriksaan bendera internal yang basi dan tidak digunakan "P_DIRTY" pada halaman yang disarangkan dalam gambar database yang dibuat oleh versi perpustakaan yang lebih lama.
  • Memperbaiki penggunaan kunci SRW secara rekursif di Windows saat bekerja dalam mode MDBX_NOTLS (tanpa menggunakan penyimpanan lokal utas), pembuatan bootid tetap jika terjadi perubahan waktu sistem, peningkatan deteksi WSL1 dan WSL2 , menambahkan kemampuan untuk membuka database Plan 9 yang terpasang menggunakan DrvFS.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya tentang versi baru ini, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

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

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  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.