Yekem serbestberdana aram a FerretDB, pêkanîna MongoDB li ser bingeha PostgreSQL DBMS

Serbestberdana projeya FerretDB 1.0 hate weşandin, ku destûrê dide te ku hûn DBMS MongoDB-ya belge-oriented bi PostgreSQL veguherînin bêyî ku di koda serîlêdanê de guhertinan bikin. FerretDB wekî serverek proxy tête bicîh kirin ku bangên MongoDB vediguhezîne pirsên SQL ji PostgreSQL re, ku dihêle hûn PostgreSQL wekî hilanîna rastîn bikar bînin. Guhertoya 1.0 wekî yekem serbestberdana aram a ku ji bo karanîna gelemperî amade ye tê nîşankirin. Kod di Go de hatî nivîsandin û di bin lîsansa Apache 2.0 de tê belav kirin.

Temaşevanên bingehîn ên FerretDB bikarhênerên ku di serîlêdanên xwe de kapasîteyên pêşkeftî yên MongoDB bikar neynin, lê dixwazin stûnek nermalava bi tevahî vekirî bikar bînin. Di qonaxa pêşkeftina xwe ya heyî de, FerretDB beşek ji kapasîteyên MongoDB-ê ku bi gelemperî di serîlêdanên tîpîk de têne bikar anîn piştgirî dike. Pêdiviya pêkanîna FerretDB dibe ku di girêdanekê de bi veguheztina MongoDB-ê ji lîsansa xwedan SSPL-ê re, ku li ser bingeha lîsansa AGPLv3-ê ye, lê ne vekirî ye, ji ber ku ew hewcedariyek cihêxwaz heye ku di bin lîsansa SSPL de ne tenê koda serîlêdanê radest bike. xwe, lê di heman demê de kodên çavkaniyê yên hemî pêkhateyên ku di peydakirina karûbarê ewr de beşdar in.

MongoDB di navbera pergalên bilez û berbelav ên ku li ser daneyan di formata sereke/nirxê de dixebitin, û DBMS-yên têkildar ên ku bikêrhatî ne û çêkirina pirsan hêsan in de cîh digire. MongoDB piştgirî dide hilanîna belgeyên di forma JSON-mîna de, xwedan zimanek pir maqûl e ji bo afirandina pirsan, dikare ji bo celebên celebên hilanîn indexan biafirîne, bi bandor hilanîna tiştên mezin ên binary peyda dike, piştgirî dide qeydkirina operasyonan ji bo guhertin û zêdekirina daneyan li databasê, dikare li gorî paradîgmaya Nexşe / Kêmkirin bixebite, ji nûvekirin û avakirina konfigurasyona xelet-tolerant piştgirî dike.

Di nav guhertinên di FerretDB 1.0 de:

  • Fermanên createIndexes û dropIndexes hatine bicîh kirin ku yek an jî çend pêdekek li ser berhevokekê çêbikin û jêbirin.
  • Fermana getMore hatîye bicîh kirin da ku beşek nû ya encama ku ji cîbicîkirina fermanên ku kursorek vedigerîne, wekî peydakirin û berhevkirinê, nîşan bide.
  • Piştgiriyek ji bo operatorê berhevkirina $sum zêde kir da ku berhevoka nirxên komê hesab bike.
  • Piştgiriyek ji bo operatorên $limit û $skip zêde kir da ku di dema berhevkirinê de hejmar û belgeyan derbas bike.
  • Ji bo jimartina belgeyan di dema kombûnê de ji bo operatorê $count piştgirî zêde kir.
  • Piştgiriyek ji bo operatora $unwind zêde kir da ku zeviyên rêzê yên di belgeyên hatinî de parsek bike û ji bo her hêmanek rêzê lîsteyek bi belgeyek cûda çêbike.
  • Piştgiriya qismî ji bo fermanên collStats, dbStats û dataSize zêde kir da ku statîstîkên di derbarê berhevok û databasê de, û her weha mezinahiya daneyê bistînin.

Source: opennet.ru

Add a comment