Rilis FerretDB 0.1, implementasine MongoDB adhedhasar DBMS PostgreSQL

Rilis proyek FerretDB 0.1 (sadurunge MangoDB) wis diterbitake, ngidini sampeyan ngganti DBMS MongoDB sing berorientasi dokumen karo PostgreSQL tanpa ngganti kode aplikasi. FerretDB diimplementasikake minangka server proxy sing nerjemahake telpon menyang MangoDB menyang pitakon SQL menyang PostgreSQL, ngidini PostgreSQL digunakake minangka panyimpenan nyata. Kode kasebut ditulis ing Go lan disebarake miturut lisensi Apache 2.0.

Kabutuhan kanggo migrasi bisa uga muncul amarga transisi MongoDB menyang lisensi SSPL proprietary, sing adhedhasar lisensi AGPLv3, nanging ora mbukak, amarga ngemot syarat diskriminasi kanggo ngirim lisensi SSPL ora mung kode aplikasi kasebut, nanging uga kode sumber kabeh komponen sing melu layanan maya panentu.

Target pamirsa FerretDB yaiku pangguna sing ora nggunakake kemampuan maju MongoDB ing aplikasi, nanging pengin nggunakake tumpukan piranti lunak sing mbukak. Ing tahap pangembangan saiki, FerretDB isih ndhukung mung bagean saka kemampuan MongoDB sing paling kerep digunakake ing aplikasi khas. Ing mangsa ngarep, dheweke bakal entuk kompatibilitas lengkap karo driver kanggo MongoDB lan menehi kemampuan kanggo nggunakake FerretDB minangka panggantos transparan kanggo MongoDB.

Elinga yen MongoDB nduwe ceruk antarane sistem cepet lan skalabel sing ngoperasikake data ing format kunci/nilai, lan DBMS relasional sing fungsional lan gampang kanggo ngrumusake pitakon. MongoDB ndhukung nyimpen dokumen ing format kaya JSON, nduweni basa sing cukup fleksibel kanggo ngasilake pitakon, bisa nggawe indeks kanggo macem-macem atribut sing disimpen, kanthi efisien nyedhiyakake panyimpenan obyek binar sing gedhe, ndhukung logging operasi kanggo ngganti lan nambah data menyang database, bisa bisa ing sesuai karo paradigma Map / Ngurangi, ndhukung rΓ©plikasi lan construction saka fault-tolerant konfigurasi.

Rilis saka FerretDB 0.1.0 rampung redesigned cara kanggo njupuk data saka PostgreSQL. Sadurunge, kanggo saben panyuwunan MongoDB sing mlebu, siji query SQL digawe kanggo PostgreSQL, nggunakake fungsi kanggo nggarap format JSON lan nyaring asil ing sisih PostgreSQL. Amarga beda ing semantik saka PostgreSQL lan MongoDB json fungsi, ana bedo ing prilaku nalika mbandhingakΓ© lan ngurutake macem-macem jinis. Kanggo ngatasi masalah iki, data saiki redundantly dijupuk saka PostgreSQL, lan asil disaring ing sisih FerretDB, kang ndadekake iku bisa kanggo niru prilaku MongoDB ing paling kahanan.

Rega saka tambah kompatibilitas ana nyuda ing kinerja, kang ing release mangsa ngarep-arep kanggo ijol dening selektif nyaring ing sisih FerretDB mung pitakonan sing ana bedo ing prilaku. Contone, pitakonan "db.collection.find({_id: 'some-id-value'})" bisa diproses kabeh ing PostgreSQL. Tujuan utama proyek ing tahap pangembangan iki yaiku kanggo nggayuh kompatibilitas karo MongoDB, lan kinerja diturunake menyang latar mburi saiki. Ing antarane owah-owahan fungsional ing versi anyar, dhukungan kanggo kabeh operator bit, operator perbandingan "$ eq", uga operator "$ elemMatch" lan "$ bitsAllClear".

Source: opennet.ru

Add a comment