Rilis FerretDB 0.3, implementasi MongoDB berdasarkan DBMS PostgreSQL

Rilis proyek FerretDB 0.3 telah diterbitkan, yang memungkinkan Anda mengganti DBMS MongoDB berorientasi dokumen dengan PostgreSQL tanpa membuat perubahan pada kode aplikasi. FerretDB diimplementasikan sebagai server proksi yang menerjemahkan panggilan ke MongoDB menjadi kueri SQL ke PostgreSQL, yang memungkinkan Anda menggunakan PostgreSQL sebagai penyimpanan sebenarnya. Kode ini ditulis dalam Go dan didistribusikan di bawah lisensi Apache 2.0.

Kebutuhan untuk migrasi mungkin timbul sehubungan dengan transisi MongoDB ke lisensi SSPL tidak bebas, yang didasarkan pada lisensi AGPLv3, tetapi tidak terbuka, karena mengandung persyaratan diskriminatif untuk mengirimkan di bawah lisensi SSPL tidak hanya aplikasinya. kode itu sendiri, tetapi juga kode sumber dari semua komponen yang terlibat dalam penyediaan layanan cloud.

Target audiens utama FerretDB adalah pengguna yang tidak menggunakan kemampuan lanjutan MongoDB dalam aplikasi mereka, namun ingin menggunakan tumpukan perangkat lunak yang sepenuhnya terbuka. Pada tahap pengembangan saat ini, FerretDB masih hanya mendukung sebagian dari kemampuan MongoDB yang paling sering digunakan dalam aplikasi umum. Di masa depan, mereka berencana untuk mencapai kompatibilitas penuh dengan driver untuk MongoDB dan menyediakan kemampuan untuk menggunakan FerretDB sebagai pengganti MongoDB yang transparan.

MongoDB menempati ceruk antara sistem cepat dan terukur yang beroperasi pada data kunci/nilai dan DBMS relasional yang fungsional dan mudah untuk kueri. MongoDB mendukung penyimpanan dokumen dalam format mirip JSON, memiliki bahasa yang cukup fleksibel untuk menghasilkan kueri, dapat membuat indeks untuk berbagai atribut yang disimpan, secara efisien menyediakan penyimpanan objek biner yang besar, mendukung pencatatan operasi untuk mengubah dan menambahkan data ke database, dapat bekerja sesuai dengan paradigma Map/Reduce, mendukung replikasi dan membangun konfigurasi yang toleran terhadap kesalahan.

Rilis FerretDB 0.3 memperkenalkan perintah findAndModify, yang memodifikasi dokumen tetapi mengembalikannya ke versi aslinya. Operator pembaruan lapangan $inc dan $set telah diterapkan. Menambahkan dukungan untuk mengurutkan tipe data skalar.

Sumber: opennet.ru

Tambah komentar