FerretDB 1.0 telah pun dikeluarkan dan ini adalah beritanya

FerretDB

FerretDB diasaskan untuk menjadi pengganti sumber terbuka de facto untuk MongoDB.

Pelancaran versi baharu projek FerretDB 1.0, yang membolehkan anda menggantikan DBMS berorientasikan dokumen MongoDB dengan PostgreSQL tanpa membuat sebarang perubahan pada kod aplikasi anda. FerretDB dilaksanakan sebagai pelayan proksi yang menterjemahkan panggilan MongoDB dalam pertanyaan SQL kepada PostgreSQL, membolehkan anda menggunakan PostgreSQL sebagai storan sebenar.

Versi 1.0 ditandakan sebagai keluaran stabil pertama sedia untuk kegunaan umum. Khalayak sasaran utama FerretDB ialah pengguna yang tidak menggunakan ciri lanjutan MongoDB dalam aplikasi mereka, tetapi mahu menggunakan timbunan perisian terbuka sepenuhnya.

Pada peringkat perkembangan semasa, FerretDB menyokong subset ciri MongoDB yang paling biasa digunakan dalam aplikasi biasa. Keperluan untuk melaksanakan FerretDB mungkin timbul berkaitan dengan peralihan MongoDB kepada lesen SSPL bukan percuma, yang berdasarkan lesen AGPLv3, tetapi bukan sumber terbuka, kerana ia mengandungi keperluan diskriminasi untuk membekalkan di bawah lesen SSPL bukan sahaja kod aplikasi itu sendiri, tetapi juga kod sumber semua komponen yang terlibat dalam penyediaan perkhidmatan awan.

MongoDB menduduki ceruk antara sistem pantas dan berskala yang beroperasi pada data kunci/nilai dan DBMS pangkalan data hubungan yang berfungsi dan mudah untuk ditanya. MongoDB menyokong penyimpanan dokumen dalam format seperti JSON, mempunyai bahasa yang agak fleksibel untuk membina pertanyaan, boleh mencipta indeks untuk pelbagai atribut yang disimpan, menyediakan penyimpanan objek besar binari yang cekap, menyokong operasi pembalakan untuk menukar dan menambah data ke pangkalan data, boleh berfungsi mengikut paradigma Map/Reduce, menyokong replikasi dan membina konfigurasi toleran kesalahan.

Kebaharuan utama FerretDB 1.0

Dalam versi baru yang dibentangkan ini, ia diserlahkan arahan createIndexes dan dropIndexes telah dilaksanakan untuk mencipta dan meletakkan satu atau lebih indeks pada koleksi, sebagai tambahan kepada arahan getMore telah dilaksanakan untuk memaparkan kepingan baharu hasil yang diambil daripada melaksanakan arahan yang mengembalikan kursor, seperti cari dan tambah.

Satu lagi perubahan yang menonjol daripada versi baharu menambah sokongan untuk operator pengagregatan $sum untuk mengira jumlah nilai kumpulan, serta apa yang ditambah sokongan untuk pengendali $limit dan $skip untuk mengehadkan bilangan dan melangkau dokumen semasa menambah dan sokongan untuk operator $count telah ditambahkan untuk mengira dokumen semasa menambah.

Di samping itu, ia juga diperhatikan bahawa sokongan untuk operator $unwind telah ditambahkan untuk menghuraikan medan tatasusunan dalam dokumen masuk dan membentuk senarai dengan dokumen yang berasingan untuk setiap elemen tatasusunan dan juga menambah sokongan separa untuk perintah collStats , dbStats , dan dataSize untuk mendapatkan statistik pengumpulan dan pangkalan data serta saiz data.

Daripada perubahan lain yang menonjol versi baru:

  • Iterator kini digunakan untuk `isih`, `had`, `langkau` dan `unjuran`
  • kebergantungan bump
  • Penambahbaikan Penjejakan Sumber
  • Menambahkan ujian untuk hujah `langkau` bagi `cari` dan `kira
  • Tutup iterator dengan betul
  • Penambahbaikan untuk memulakan nombor besar dalam data ujian

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

Bagi mereka yang berminat dengan kod tersebut, anda harus tahu bahawa ia ditulis dalam Go dan diedarkan di bawah lesen Apache 2.0.

Dan mereka sepatutnya tahu itu cara terbaik untuk menguji FerretDB ialah mengubah suai dan menjalankannya pada hos (Linux, macOS atau Windows) dengan PostgreSQL dan kebergantungan lain yang berjalan di dalam bekas Docker melalui Docker Compose.

Di Linux, docker mesti dipasang pada hos. Pada macOS dan Windows, Docker Desktop mesti digunakan, manakala pada Windows, ia mesti dikonfigurasikan untuk menggunakan WSL 2 tanpa sebarang pengedaran; semua arahan mesti dilaksanakan pada hos.


Tinggalkan komen anda

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

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  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.