FerretDB 1.0 вже випущено, і це його новини

FerretDB

FerretDB було засновано, щоб стати де-факто відкритою заміною MongoDB.

Запуск нова версія проекту FerretDB 1.0, який дозволяє вам замінити документоорієнтовану СУБД MongoDB на PostgreSQL, не вносячи жодних змін у код програми. FerretDB реалізовано як проксі-сервер, який перетворює виклики MongoDB у запитах SQL на PostgreSQL, що дозволяє використовувати PostgreSQL як фактичне сховище.

Версія 1.0 позначена як перший стабільний випуск, готовий для загального використання. Основною цільовою аудиторією FerretDB є користувачі, які не використовують розширені функції MongoDB у своїх програмах, але хочуть використовувати повністю відкритий програмний стек.

На сучасному етапі розвитку FerretDB підтримує підмножину функцій MongoDB які найчастіше використовуються в типових програмах. Необхідність впровадження FerretDB може виникнути у зв'язку з переходом MongoDB на невільну ліцензію SSPL, яка базується на ліцензії AGPLv3, але не є відкритим кодом, оскільки містить дискримінаційну вимогу щодо постачання за ліцензією SSPL не тільки сам код програми, а також вихідні коди всіх компонентів, залучених до надання хмарних послуг.

MongoDB займає нішу між швидкими і масштабованими системами, які працюють з даними ключ/значення, і СУБД реляційні бази даних, які є функціональними та легкими для запитів. MongoDB підтримує зберігання документів у JSON-подібному форматі, має досить гнучку мову для побудови запитів, може створювати індекси для різних збережених атрибутів, забезпечує ефективне зберігання двійкових великих об’єктів, підтримує операції журналювання для зміни та додавання даних до бази даних, може працювати відповідно до парадигми Map/Reduce підтримує реплікацію та створення відмовостійких конфігурацій.

Основні новинки FerretDB 1.0

У цій новій версії, яка представлена, це підкреслюється реалізовано команди createIndexes і dropIndexes щоб створити та розмістити один або більше індексів у колекції, на додаток до команди getMore було реалізовано для відображення нового фрагмента отриманого результату від виконання команд, які повертають курсор, наприклад find і add.

Ще одна зі змін, яка виділяється в новій версії додано підтримку оператора агрегування $sum щоб обчислити суму значень групи, а також те, що було додано підтримка операторів $limit і $skip для обмеження кількості та пропуску документів під час додавання, а також додано підтримку оператора $count для підрахунку документів під час додавання.

На додаток до цього також зазначається, що додано підтримку оператора $unwind для аналізу полів масиву у вхідних документах і формування списку з окремим документом для кожного елемента масиву, а також додано часткову підтримку для команд collStats, dbStats і dataSize для отримання статистичних даних збору та бази даних, а також розміру даних.

З інші зміни, які виділяються нової версії:

  • Ітератори тепер використовуються для `sort`, `limit`, `skip` і `projection`
  • bump залежності
  • Покращення відстеження ресурсів
  • Додано тести для аргументу `skip` для `find` і `count
  • Правильно закрийте ітератор
  • Покращено ініціалізацію великих чисел у тестових даних

В кінці кінців якщо вам цікаво дізнатись більше про це, Ви можете перевірити деталі У наступному посиланні.

Тим, хто цікавиться кодом, варто знати, що він написаний на Go та поширюється за ліцензією Apache 2.0.

І вони повинні це знати найкращий спосіб перевірити FerretDB — змінити його та запустити на хості (Linux, macOS або Windows) із PostgreSQL та іншими залежностями, що працюють у контейнерах Docker через Docker Compose.

У Linux докер повинен бути встановлений на хості. У macOS і Windows потрібно використовувати Docker Desktop, тоді як у Windows його потрібно налаштувати на використання WSL 2 без будь-якого розповсюдження; всі команди повинні виконуватися на хості.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.