Itusilẹ iduroṣinṣin akọkọ ti FerretDB, imuse MongoDB ti o da lori PostgreSQL DBMS

Itusilẹ ti iṣẹ akanṣe FerretDB 1.0 ti jẹ atẹjade, eyiti o fun ọ laaye lati rọpo DBMS MongoDB ti o da lori iwe-ipamọ pẹlu PostgreSQL laisi awọn ayipada si koodu ohun elo naa. FerretDB jẹ imuse bi olupin aṣoju ti o tumọ awọn ipe si MongoDB sinu awọn ibeere SQL si PostgreSQL, eyiti o fun ọ laaye lati lo PostgreSQL bi ibi ipamọ gangan. Ẹya 1.0 ti samisi bi idasilẹ iduro akọkọ ti o ṣetan fun lilo gbogbogbo. Awọn koodu ti wa ni kikọ ni Go ati pinpin labẹ awọn Apache 2.0 iwe-ašẹ.

Awọn olugbo ibi-afẹde akọkọ ti FerretDB jẹ awọn olumulo ti ko lo awọn agbara ilọsiwaju ti MongoDB ninu awọn ohun elo wọn, ṣugbọn fẹ lati lo akopọ sọfitiwia ṣiṣi patapata. Ni ipele idagbasoke lọwọlọwọ rẹ, FerretDB ṣe atilẹyin ipin kan ti awọn agbara MongoDB ti o lo julọ ni awọn ohun elo aṣoju. Iwulo lati ṣe FerretDB le dide ni asopọ pẹlu iyipada ti MongoDB si iwe-aṣẹ SSPL ohun-ini, eyiti o da lori iwe-aṣẹ AGPLv3, ṣugbọn ko ṣii, nitori pe o ni ibeere iyasoto lati firanṣẹ labẹ iwe-aṣẹ SSPL kii ṣe koodu ohun elo nikan funrararẹ, ṣugbọn tun awọn koodu orisun ti gbogbo awọn paati ti o ni ipa ninu ipese iṣẹ awọsanma.

MongoDB gba onakan laarin awọn ọna ṣiṣe iyara ati iwọn ti o ṣiṣẹ lori data ni ọna kika bọtini/iye, ati awọn DBMS ibatan ti o jẹ iṣẹ ṣiṣe ati rọrun lati ṣe agbekalẹ awọn ibeere. MongoDB ṣe atilẹyin titoju awọn iwe aṣẹ ni ọna kika bii JSON, ni ede ti o rọ ni deede fun ṣiṣẹda awọn ibeere, le ṣẹda awọn atọka fun ọpọlọpọ awọn abuda ti o fipamọ, pese daradara ni ibi ipamọ ti awọn nkan alakomeji nla, ṣe atilẹyin gedu awọn iṣẹ fun iyipada ati fifi data kun si ibi ipamọ data, le ṣiṣẹ ni ibamu pẹlu Map/Dinku paragim, ṣe atilẹyin ẹda ati ikole awọn atunto ọlọdun ẹbi.

Lara awọn ayipada ninu FerretDB 1.0:

  • Awọn Atọka Ṣẹda ati awọn pipaṣẹ Atọka dropIndex ti ni imuse lati ṣẹda ati paarẹ ọkan tabi diẹ ẹ sii atọka lori ikojọpọ kan.
  • Ilana getMore ti ni imuse lati ṣafihan ipin tuntun ti abajade ti o gba lati ṣiṣe awọn aṣẹ ti o da kọsọ kan pada, gẹgẹbi wiwa ati apapọ.
  • Atilẹyin ti a ṣafikun fun oniṣẹ apapọ apapọ $ lati ṣe iṣiro iye awọn iye ẹgbẹ.
  • Atilẹyin ti a ṣafikun fun opin $ ati awọn oniṣẹ foo $ lati fi opin si nọmba ati fo awọn iwe aṣẹ lakoko akojọpọ.
  • Atilẹyin ti a ṣafikun fun oniṣẹ $count fun kika awọn iwe aṣẹ lakoko akojọpọ.
  • Atilẹyin ti a ṣafikun fun oniṣẹ unwind $ lati ṣe itupalẹ awọn aaye titobi ni awọn iwe aṣẹ ti nwọle ki o ṣe agbekalẹ atokọ kan pẹlu iwe ti o yatọ fun eroja orun kọọkan.
  • Ṣe afikun atilẹyin apa kan fun collStats, dbStats ati awọn aṣẹ dataSize lati gba awọn iṣiro nipa ikojọpọ ati data data, bakanna bi iwọn data.

orisun: opennet.ru

Fi ọrọìwòye kun