МангоДБ је модернизован и сада прелази у ФерретДБ

Недавнодана објављена је вест о покретању пројекта ФерретДБ, (раније МангоДБ), који вам омогућава да замените МонгоДБ-ов документ оријентисан ДБМС са ПостгреСКЛ-ом без икаквих промена у коду апликације.

ФерретДБ је имплементиран као проки сервер који преводи позиве МонгоДБ-а у СКЛ упите за ПостгреСКЛ, омогућавајући вам да користите ПостгреСКЛ као стварно складиште.

ФерретДБ (раније МангоДБ) је основан да постане де фацто замена отвореног кода за МонгоДБ. ФерретДБ је проки отвореног кода који претвара упите МонгоДБ жичаног протокола у СКЛ, користећи ПостгреСКЛ као механизам базе података.

Потреба за миграцијом може настати услед преласка МонгоДБ-а на неслободну ССПЛ лиценцу, која је заснована на АГПЛв3 лиценци, али није отвореног кода, јер садржи дискриминаторни захтев да се под ССПЛ лиценцом обезбеди не само апликација самог кода, али и изворних кодова свих компоненти укључених у пружање услуге у облаку.

Циљна публика за ФерретДБ су корисници који не користе напредне функције МонгоДБ-а у својим апликацијама, али желе да користе потпуно отворен софтверски стог.

У тренутној фази развоја, ФерретДБ и даље подржава само део МонгоДБ функција најчешће се користе у типичним апликацијама. У будућности планирају да остваре пуну подршку драјвера за МонгоДБ и обезбеде могућност коришћења ФерретДБ-а као транспарентне замене за МонгоДБ.

Треба то упамтити МонгоДБ заузима нишу међу брзим и скалабилним системима који раде на подацима у формату кључ/вредност и релациони ДБМС, функционални и погодни за генерисање упита.

Већини корисника МонгоДБ-а нису потребне многе напредне функције које МонгоДБ нуди; међутим, потребно им је решење базе података отвореног кода лако за коришћење. Препознајући ово, ФерретДБ је ту да попуни ту празнину.

МонгоДБ подржава складиштење докумената у ЈСОН формату, има прилично флексибилан језик за генерисање упита, може да креира индексе за различите ускладиштене атрибуте, обезбеђује ефикасно бинарно складиштење великих објеката, подржава евидентирање операција за промену и додавање података бази података, може да ради у складу са парадигмом Мап/Редуце, ​​подржава репликацију и изградњу конфигурација отпорних на грешке.

У издању ФерретДБ 0.1.0 је наведено да потпуно редизајниран начин на који се преузимају ПостгреСКЛ подаци. Раније, за сваки долазни МонгоДБ захтев, генерисан је СКЛ за ПостгреСКЛ упит, користећи функције за рад са ЈСОН форматом и филтрирање резултата на страни ПостгреСКЛ.

Због разлика у семантици ПостгреСКЛ и МонгоДБ јсон функција, дошло је до неслагања у понашању при поређењу и поретку различитих врста. Да би се решио овај проблем, узорак сувишних података се сада издваја из ПостгреСКЛ-а и филтрирање резултата се врши на страни ФерретДБ-а, што је омогућило понављање понашања МонгоДБ-а у већини ситуација.

Цена повећане компатибилности била је казна за перформансе, за које се очекује да ће у будућим издањима бити надокнађено селективним филтрирањем на ФерретДБ страни само упита за које постоји дивергенција у понашању.

На пример, упит "дб.цоллецтион.финд({_ид: 'соме-ид-валуе'})" може се у потпуности обрадити у ПостгреСКЛ-у. Главни циљ пројекта у овој фази развоја је постизање компатибилности са МонгоДБ, а перформансе су и даље потиснуте у други план.

Од функционалних промена у новој верзији, постоји подршка за све битне операторе, оператор поређења „$е“, као и операторе „$елемМатцх“ и „$битсАллЦлеар“.

Коначно за оне које занима више о томе, требало би да знају да је код написан у Го-у и да се дистрибуира под лиценцом Апацхе 2.0 и можете проверити његов код на следећем линку.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. Odgovorni za podatke: AB Internet Networks 2008 SL
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.