Una nga lig-on nga pagpagawas sa FerretDB, pagpatuman sa MongoDB base sa PostgreSQL DBMS

Ang pagpagawas sa FerretDB 1.0 nga proyekto gipatik na, nga nagtugot kanimo sa pag-ilis sa DBMS MongoDB nga nakabase sa dokumento gamit ang PostgreSQL nga walay pagbag-o sa code sa aplikasyon. Ang FerretDB gipatuman isip proxy server nga naghubad sa mga tawag sa MongoDB ngadto sa SQL query ngadto sa PostgreSQL, nga nagtugot kanimo sa paggamit sa PostgreSQL isip aktuwal nga storage. Ang Bersyon 1.0 gimarkahan isip unang stable nga pagpagawas nga andam na alang sa kinatibuk-ang paggamit. Ang code gisulat sa Go ug giapod-apod ubos sa Apache 2.0 nga lisensya.

Ang nag-unang target nga mamiminaw alang sa FerretDB mao ang mga tiggamit nga wala mogamit sa mga advanced nga bahin sa MongoDB sa ilang mga aplikasyon, apan gusto nga mogamit usa ka hingpit nga bukas nga software stack. Sa karon nga yugto sa pag-uswag, ang FerretDB nagsuporta sa usa ka subset sa mga bahin sa MongoDB nga kasagarang gigamit sa kasagaran nga mga aplikasyon. Ang panginahanglan sa pagpatuman sa FerretDB mahimong motumaw may kalabotan sa transisyon sa MongoDB ngadto sa dili-libre nga SSPL nga lisensya, nga gibase sa AGPLv3 nga lisensya, apan dili bukas, tungod kay kini adunay usa ka diskriminasyon nga kinahanglanon sa paghatag ubos sa SSPL nga lisensya dili lamang sa aplikasyon code mismo, apan usab ang mga source code sa tanan nga mga sangkap nga nahilambigit sa paghatag sa mga serbisyo sa panganod.

Ang MongoDB nag-okupar sa usa ka niche tali sa paspas ug scalable nga mga sistema nga naglihok sa key/value data ug relational DBMSs nga functional ug sayon ​​pangutan-on. Gisuportahan sa MongoDB ang pagtipig sa mga dokumento sa usa ka format nga sama sa JSON, adunay usa ka medyo flexible nga pinulongan alang sa pagmugna og mga pangutana, makahimo og mga indeks alang sa nagkalain-laing gitipigan nga mga hiyas, epektibo nga naghatag og storage sa dagkong binary nga mga butang, nagsuporta sa pag-log sa mga operasyon aron mausab ug makadugang sa datos sa database, mahimo pagtrabaho uyon sa paradigm Map/Reduce, nagsuporta sa pagkopya ug paghimo og mga pag-configure nga dili matugoton sa sayup.

Lakip sa mga pagbag-o sa FerretDB 1.0:

  • Gipatuman ang createIndexes ug dropIndexes nga mga sugo alang sa paghimo ug paghulog sa usa o daghan pang mga index ngadto sa usa ka koleksyon.
  • Ang getMore nga sugo gipatuman aron ipakita ang usa ka bag-ong bahin sa resulta nga nakuha gikan sa pagpatuman sa mga sugo nga nagbalik sa usa ka cursor, sama sa pagpangita ug aggregate.
  • Gidugang nga suporta alang sa operator sa $sum aggregation aron makalkulo ang sumada sa mga kantidad sa grupo.
  • Gidugang nga suporta alang sa $limit ug $skip operators aron limitahan ang gidaghanon ug laktawan ang mga dokumento kung mag-ipon.
  • Gidugang nga suporta alang sa operator sa $count para sa pag-ihap sa mga dokumento kung mag-ipon.
  • Gidugang nga suporta alang sa operator nga $unwind aron ma-parse ang mga field sa array sa umaabot nga mga dokumento ug maghimo og lista nga adunay bulag nga dokumento alang sa matag elemento sa array.
  • Gidugang ang partial nga suporta alang sa collStats, dbStats ug dataSize nga mga sugo aron makakuha og mga estadistika sa koleksyon ug database ug gidak-on sa datos.

Source: opennet.ru

Idugang sa usa ka comment