Rilis stabil pisanan saka FerretDB, implementasi MongoDB adhedhasar PostgreSQL DBMS

Rilis proyek FerretDB 1.0 wis diterbitake, sing ngidini sampeyan ngganti DBMS MongoDB sing berorientasi dokumen karo PostgreSQL tanpa ngganti kode aplikasi. FerretDB diimplementasikake minangka server proxy sing nerjemahake telpon menyang MongoDB menyang pitakon SQL menyang PostgreSQL, sing ngidini sampeyan nggunakake PostgreSQL minangka panyimpenan nyata. Versi 1.0 ditandhani minangka rilis stabil pisanan sing siap dienggo umum. Kode kasebut ditulis ing Go lan disebarake miturut lisensi Apache 2.0.

Pemirsa target utama FerretDB yaiku pangguna sing ora nggunakake kemampuan maju MongoDB ing aplikasi, nanging pengin nggunakake tumpukan piranti lunak sing mbukak. Ing tahap pangembangan saiki, FerretDB ndhukung subset saka kapabilitas MongoDB sing paling umum digunakake ing aplikasi khas. Kebutuhan kanggo ngleksanakake FerretDB bisa uga ana hubungane karo 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. dhewe, nanging uga kode sumber kabeh komponen sing melu nyedhiyakake layanan maya.

MongoDB manggoni 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 konfigurasi fault-toleran.

Antarane owah-owahan ing FerretDB 1.0:

  • Printah createIndexes lan dropIndexes wis dileksanakake kanggo nggawe lan mbusak siji utawa luwih indeks ing koleksi.
  • Printah getMore wis dileksanakake kanggo nampilake bagean anyar saka asil sing dipikolehi saka eksekusi perintah sing ngasilake kursor, kayata golek lan agregat.
  • Dhukungan ditambahake kanggo operator agregasi $sum kanggo ngetung jumlah nilai grup.
  • Dhukungan ditambahake kanggo operator $limit lan $skip kanggo mbatesi jumlah lan nglewati dokumen sajrone pengumpulan.
  • Dhukungan ditambahake kanggo operator $count kanggo ngetang dokumen sajrone pengumpulan.
  • Dhukungan ditambahake kanggo operator $ unwind kanggo ngurai kolom array ing dokumen sing mlebu lan ngasilake dhaptar kanthi dokumen sing kapisah kanggo saben unsur array.
  • Nambahake dhukungan parsial kanggo perintah collStats, dbStats lan dataSize kanggo njupuk statistik babagan koleksi lan database, uga ukuran data.

Source: opennet.ru

Add a comment