libmdbx 0.10.4 dilengkapi dengan pelbagai penambahbaikan dan pembetulan pepijat

Pembebasan versi 0.10.4 perpustakaan "Libmdbx" secara keseluruhannya, lebih daripada 160 perubahan dibuat kepada 57 fail, ~ 5000 baris ditambahkan dan ~ 2500 dikeluarkan. Bagi mereka yang tidak biasa dengan libmdbx, anda harus tahu bahawa ini adalah sekumpulan perpustakaan yang merupakan pelaksanaan pangkalan data tertanam berprestasi tinggi kelas kunci dengan nilai tinggi.

Dari segi sejarah, libmdbx adalah pengerjaan semula mendalam DBMS LMDB dan mengatasi pendahulunya dalam kebolehpercayaan, set ciri, dan prestasi. Berbanding dengan LMDB, libmdbx memberikan banyak penekanan pada kualiti kod, kestabilan API, pengujian, dan pemeriksaan automatik. Utiliti untuk mengesahkan integriti struktur pangkalan data disediakan dengan beberapa pilihan pemulihan.

Dari segi teknologi, libmdbx menawarkan ACID, serialisasi perubahan ketat, dan pembacaan tanpa penyekat dengan penskalaan linear di seluruh teras CPU. Menyokong pemadatan automatik, kawalan ukuran pangkalan data automatik, dan penilaian kueri peringkat. Sejak 2016, projek-projek tersebut telah dibiayai oleh Positive Technologies dan digunakan dalam produk mereka sejak 2017.

Untuk libmdbx, API C ++ ditawarkan, serta ikatan yang sesuai dengan peminat Rust, Haskell, Python, NodeJS, Ruby, Go, Nim. Untuk libfpta, hanya keterangan API dalam bentuk fail tajuk C / C ++ yang tersedia untuk umum.

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

Ciri baru utama libmdbx 0.10.4

Dalam versi baru libmdbx 0.10.4 pemaju berusaha untuk dapat memberikan kemampuan untuk membina yang dapat dimainkan, Sebagai tambahan, pengujian telah diperbaiki dan skrip ujian telah diperluas untuk memeriksa semua keadaan non-isomorfik dari halaman pohon dan kandungan GC dalam pangkalan data.

Dalam API C ++ tetap sekali "tidak terkecuali", tambah beban tambahan untuk kaedah "kursor :: erase ()", pelaksanaan buffer lega dengan menggunakan "std :: string" untuk memastikan penjajaran (semasa untuk CLANG libstdc ++)

Di samping itu, ia juga diketengahkan bahawa pengesahan bertahap dilakukan dengan penambahan siri pengesahan untuk memastikan kestabilan sekiranya berlaku kerosakan pada pangkalan data.

Sebaliknya, disoroti bahawa pencarian komponen penyusun yang diperlukan untuk LTO (pengoptimuman masa pautan) telah diperbaiki dalam skrip CMake, di samping itu jumlah maksimum pembaca serentak telah meningkat menjadi 32.767 dan juga prestasi telah bertambah baik semasa menggunakan Valgrind dan AddressSanitizer.

Mengenai pembetulan pepijat yang dibuat dalam versi baru ini, berikut disebutkan:

  • Memperbaiki bug di mana, dalam keadaan yang sangat jarang berlaku, loop / crash dapat terjadi semasa melakukan transaksi. Masalah itu dikenal pasti oleh pakar di Positive Technologies semasa ujian dalaman terhadap produk mereka sendiri.
  • Memperbaiki regresi dalam algoritma tumpahan halaman kotor (pengusiran selektif dari halaman pangkalan data yang diubah) yang nyata dalam ralat MDBX_PROBLEM yang tidak dijangka yang jarang berlaku ketika menukar data dalam transaksi besar.
  • Membetulkan masalah kecil yang Tidak DitentukanBehaviorSanitizer dan Coverity Scan.
    Memperbaiki bendera dalaman yang basi dan tidak digunakan yang memeriksa "P_DIRTY" pada halaman yang bersarang dalam gambar pangkalan data yang dibuat oleh versi perpustakaan yang lebih lama.
  • Memperbaiki penggunaan SRW-lock secara berulang dalam Windows ketika bekerja dalam mod MDBX_NOTLS (tanpa menggunakan penyimpanan tempatan thread), penjanaan bootid tetap sekiranya berlaku perubahan waktu sistem, pengesanan WSL1 dan WSL2 yang lebih baik, menambahkan kemampuan untuk membuka pangkalan data Plan 9 yang terpasang menggunakan DrvFS.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya mengenai versi baru ini, anda boleh menyemak perinciannya Dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.