The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Проект MangoDB развивает реализацию протокола СУБД MongoDB поверх PostgreSQL

02.11.2021 10:50

Доступен первый публичный выпуск проекта MangoDB, предлагающего прослойку с реализацией протокола документо-ориентированной СУБД MongoDB, работающую поверх СУБД PostgreSQL. Проект нацелен на предоставление возможности миграции приложений, использующих СУБД MongoDB, на PostgreSQL и полностью открытый программный стек. Код написан на языке Go и распространяется под лицензией Apache 2.0.

Программа работает в форме прокси, транслирующего обращения к MangoDB в SQL-запросы к PostgreSQL, используя PostgreSQL в качестве фактического хранилища. Проект совместим с драйверами для MongoDB, но пока находится на стадии прототипа и не поддерживает расширенные возможности протокола MongoDB, хотя уже пригоден для перевода простых приложений.

Потребность ухода от использования СУБД MongoDB может возникнуть из-за перехода проекта на несвободную лицензию SSPL, которая основана на лицензии AGPLv3, но не является открытой, так как содержит дискриминирующее требование поставки под лицензией SSPL не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса.

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

Дополнение: Проект переименован в FerretDB.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Удаление Эрика Рэймонда из списков рассылки OSI и этические вопросы в открытых лицензиях
  3. OpenNews: Amazon открыл код Babelfish, расширений для замены MS SQL Server на PostgreSQL
  4. OpenNews: В ходе атаки Meow удалено около 4000 общедоступных БД Elasticsearch и MongoDB
  5. OpenNews: Используемая проектом MongoDB лицензия SSPL признана недопустимой в Fedora Linux
  6. OpenNews: Доступна документо-ориентированная СУБД MongoDB 5.0
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/56086-mangodb
Ключевые слова: mangodb, mongodb, postgresql, nosql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (63) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, YetAnotherOnanym (ok), 11:02, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Очередная лопата земли на собственный гроб.
     
     
  • 2.3, QwertyReg (ok), 11:12, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • –10 +/
    В чей гроб? Обоснование будет хоть какое-то? Корпоративному сектору вообще плевать, открыт там код или закрыт, а 2,5 фанатика, которые, потрясая ягодицами, побегут переносить свой локалхост на Слона, никому не интересны.
     
     
  • 3.10, YetAnotherOnanym (ok), 11:44, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > В чей гроб?

    Во-первых, не "в" а "на". Во-вторых, написано же - на собственный.
    > Обоснование будет хоть какое-то?

    Своими руками создавать для пользователей инструменты, облегчающие им уход к конкурентам, виесто того, чтобы стараться их удержать - это и есть самозакапывание.
    > Корпоративному сектору вообще плевать, открыт там код или закрыт

    Ну зачем же так сразу палить перед всеми, что работаешь в какой-то несерьёзной шарашке и ничего другого в жизни не щупал.
    > никому не интересны

    "Отучаемся говорить за всех" (ц).

     
     
  • 4.16, Аноним (16), 12:13, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ты нашел кого учить он же конечный по жизни.
     
  • 4.20, мшефд (?), 12:39, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Проект M_a_ngoDB развивает реализацию протокола СУБД M_o_ngoDB
     
  • 4.39, Аноним (39), 16:12, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Своими руками создавать для пользователей инструменты, облегчающие им уход к конкурентам

    Ну во-первых, в СПО мире (безотносительно (не)свободности монги) таких проблем нет - это у проприетарщины с вендорлок и не дай бог дать пользователю слезть с иглы. СПО ориентирован на пользователя, там с удовольствием сделают инструменты миграции куда угодно, только бы пользователю было хорошо.

    А во-вторых, кто сказал что "своими руками"? Найдётся достаточно чужих рук чтобы обеспечить миграцию с продуктов предателей свободы.

     
     
  • 5.53, пох. (?), 20:15, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Найдётся достаточно чужих рук

    руки рабам отрубать нехорошо все же...

     
  • 5.68, YetAnotherOnanym (ok), 10:35, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я немного не о том. В стремлении дать людям свой продукт нет покушения на их свободу выбора. Но если некто взялся создать какой-то продукт, то, наверное он создаёт его для того, чтобы люди пользовались этим продуктом, и будет естественным ожидать, что свои усилия он будет прилагать для улучшения своего продукта, а не для того, чтобы люди перестали им пользоваться.
     
  • 4.70, azazazinushka (?), 15:15, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Своими руками создавать для пользователей инструменты, облегчающие им уход к конкурентам
    > Copyright 2021 Baltoro OÜ. All rights reserved. We are not affiliated, associated, authorized, endorsed by, or in any way officially connected with MongoDB Inc.

    лол. да ты всамделишный Ъ!

     
  • 3.11, YetAnotherOnanym (ok), 11:48, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Добавлю, что пример Elasticsearch, форкнутого Амазоном, мог бы дать им пищу для размышлений на тему роли SSPL в судьбе опенсорсного проекта.
     
     
  • 4.60, пох. (?), 22:26, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    не сцы, амазон не собирается прибирать ВЕСЬ ненужный мусор.

    У него своя distributed nosql database as a service, а монгу новых версий он больше не продает. Клиенты могут либо жрать кактус самостоятельно, либо пользоваться чемдали.

    Жрут. Довольны.
    Зато какая у монги ебитда!

     
     
  • 5.74, Аноним (74), 23:25, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Зато какая у монги ебитда!

    Если что – минус $233M.

     

  • 1.2, Аноним (2), 11:10, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вложенные индексы поддерживает?
     
  • 1.8, ryoken (ok), 11:35, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Интересная тенденция пошла - поверх PostgreSQL изображать другие серверы БД (новость про MSSQL тут пролетала).
     
     
  • 2.12, Аноним (12), 11:50, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Вполне адекватно. Вместо допиливания своих низкоуровневых велосипедов, взять готовый отлаженный и свои абстракции поверх.
     
     
  • 3.17, Bx (ok), 12:22, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тем более, что фундамент есть, лепи сверху, что нравится.
    Columnar от citus(microsoft с этого года) на v14 позволяет на поточной блочной вставке до 2-3 млн строк в секунду на одном сервере средней руки при блоке 20-50к и порядка 50-70 столбцов. Кое кому стоит напрячься :)
     
  • 3.28, Аноним (28), 13:30, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вполне адекватно. Вместо допиливания своих низкоуровневых велосипедов, взять готовый отлаженный и свои абстракции поверх.

    Вот только отказоустойчивость у монги реально присутствует, в отличие от почти всех популярных RDBMS. Например, у постгреса by design нету переключения клиентов при фейловере. Есть довольно много вариантов внешних костылей типа patroni, но "отлаженностью" там точно и не пахнет, используйте на свой страх и риск.

     
     
  • 4.38, Аноним (38), 15:52, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В клиенте так или иначе придётся писать реализацию retry. Отсутствие поддержки автоматического переключения клиентов при фейловере вполне разумный компромисс. В конце концов, если ваша база падает так часто, что эпизодические ретраи что-то меняют в значительной степени, может быть надо где-то в другом месте искать возможности для оптимизации?
     
     
  • 5.45, funny.falcon (?), 17:38, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Переключение клиентов - это малая часть фейловера. И даже она в библиотеках монги реализована. Даже корректный ретрай запросов на запись в последних версиях.
     
     
  • 6.63, Аноним (63), 00:31, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, что ретрай в библиотеке есть. Жаль только лицензии нормальной нет ;)
     
     
  • 7.75, пох. (?), 12:52, 04/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ну кто тебе запретит пользоваться третьей или четвертой версией? Там все в порядке с лицензией.

     
  • 4.46, пох. (?), 18:12, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кстати, а кто-то понимает, как вообще у монги работает ее эта самая отказоустойчивость?

    Я вот обнаружил какой-то безумный траффик, который клиенты гонят на АРБИТРА. Э...але, у него нет базы! Нет, в конфигах клиентов нет его адреса - они его видимо из данных rs берут. Нафига ? Что это вообще?

    Чем больше смотрю на монгу - тем страшнее. То есть да, она как-то работает, но, похоже, чем меньше знаешь, тем лучше.

     
  • 4.73, Аноним (73), 18:57, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > но "отлаженностью" там точно и не пахнет

    И с чего ты это взял?

     
  • 2.26, Аноним (26), 13:23, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну так с mssql есть смысл так делать, а тут чистой воды шизофрения.
     
     
  • 3.49, пох. (?), 18:40, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не, ну почему - ведь куча случаев когда смузиразработчикам на самом деле не нужна никакая монга - они просто хотят пихать свой жсон в жсон, обернув жсон.

    Реляционная база, что характерно, им тоже не нужна.

    Просто они прочитали в книжке про монгу или ее уже в готовом виде хочет используемый ими нескучный фреймворк. Причем будет она ими установлена как попало curl|sudo su и выпущена голой оппой в инет - они всегда ж так делали.

    С тем же успехом этот враппер будет для них работать монгой - если кто-то догадается, конечно, его вместо монги поставить.

     
  • 2.33, Аноним12345 (?), 14:44, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Щас постгрес используют все кому ни лень
    Например, коммерческий гринплам предлагает кластерную архитектуру, под капотом же у него самый обыкновенный постгрес
     

  • 1.13, Аноним (13), 12:12, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    бебра
     
  • 1.15, Аноним (15), 12:13, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Божественная постгре вместо всех)
    А оно умеет прикидываться KeyValue storage прям напрямую и быстро, как мускуль?
     
     
  • 2.18, worldmind (?), 12:25, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    select value from key_value where name="name";
     
  • 2.19, Bx (ok), 12:29, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    "KeyValue storage прям напрямую и быстро, как мускуль" - это как? шлангом?
    InnoDB научился PK в таблицу не писать?
     
     
  • 3.22, Аноним (15), 13:09, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    уфф, сорри, не KV, а Document Store, эдакая замена NoSQL

    https://dev.mysql.com/doc/refman/8.0/en/document-store.html

     
     
  • 4.29, Аноним (28), 13:31, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У постгреса круче, у него jsonb - нативная поддержка сохранения NoSQL-документов в столбец таблицы.
     

  • 1.24, Аноним (26), 13:21, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Ну дождались. NoSQL поверх SQL. Т.е. персонажи не получают бенефитов SQL и отказываются от бенефитов NoSQL. Тупее этого сложно что-то придумать.
     
     
  • 2.34, Аноним12345 (?), 14:48, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы ничего не понимаете
    Берется стандартный постгрес со стандартным sql, и на него накручивается nosql, который дополняет классическкую реляционную схему
    В качестве хранилища сожет быть использовано все что угодно
    Это энтерпрайз, детка, а энтерпрайзу по барабану, в чем хранить, главное, чтобы это работало очень быстро
     
     
  • 3.44, Ko (?), 17:11, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вы ничего не понимаете
    Берется стандартный постгрес со стандартным sql, и на него накручивается nosql, и потом на nosql уже псевдо sql
     
  • 3.50, Аноним (26), 20:07, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так именно отказ от реляционной базы был залогом скорости и масштабируемости. Делать поверх это даже не тупо, тут нужны слова похлеще.
     
  • 2.40, Аноним (39), 16:15, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Основные бенефиты NoSQL (если только это не eventual consistency) никуда не деваются от того что от будет работать поверх SQL движка. Современный NoSQL вообще, по сути, только косметика - под капотом там такие же механизмы хранения, где-то даже есть vacuum, а на юзера смотрят языки запросов, такие же но другие.
     
     
  • 3.51, Аноним (26), 20:12, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сэр, это абсурд и ахинея. NoSQL появился именно потому, что SQL был ахилесовой пятой для скорости и масштабируемости. И за годы практически ничего не изменилось. Поэтому nosql поверх sql это просто дичь дикая.
     
     
  • 4.56, Аноним (56), 21:49, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    SQL никак не мешает ни скорости, ни масштабируемости, куча проектов с условно-бесконечной масштабируемостью и SQL-синтаксисом подтверждают это. Скорее всего имелась ввиду реляционная структура? Ну так для MangoDB я уверен реляционность в постгресе тоже не используется, наверняка следующим шагом будет автоматическое шардирование по нескольким постгресам и тогда это будет полноценная замена монги.
     
     
  • 5.65, Аноним (26), 03:48, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Увы но, ты понятия не имеешь о чём говоришь.
     
     
  • 6.76, мшефд (?), 13:23, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    PostgreSQL обогнал MongoDB в NoSQL-тестах
    https://www.opennet.ru/opennews/art.shtml?num=40690
     
  • 4.82, Андрей Бондарюк (?), 19:58, 07/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    SQL это язык запросов. То что движки MSSQL, Оракла, DB2 и т.д. нихера не умеют масштабируемость это НЕ проблема SQL. Давно есть Google Cloud Spanner, Таракан и куча других проектов которые прекрасно масштабируются имея доступ стандартным и везде понимаемым SQL.
     

  • 1.30, Аноним (30), 13:37, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем, и главное, зачем?
     
     
  • 2.32, ананоша (?), 14:31, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуй прочитать второе предложение
     

  • 1.35, Аноним (-), 14:55, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Позовите когда появится SmuziDB
     
  • 1.36, Аноним (36), 14:58, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ждём проекта PastgreSQL, как обёртки над Oracle
     
  • 1.41, лютый жабби__ (?), 16:22, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Все проекты давно на Монге. У неё как раз движок быстрый и сопровождение на порядок проще, чем убогие рдбмсы из 70х.

    А с т.з. клиента как раз pg+orm не сильно отвратительнее монги. Не в ту сторону копают совершенно

     
     
  • 2.42, Растоманя (ok), 16:49, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Копать нужно в сторону безопастности, это первично
     
     
  • 3.47, пох. (?), 18:15, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да, нам очень не хватает смузидб на безопастном языке. А, хотя да - кашмандра.
    Течет, в том числе на диск, падает и глючит безопастно, да.

     
  • 2.54, Аноним (26), 20:19, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не в ту сторону копают не по этому, а потому что разных nosql такое количество, что выбрать куда переехать с монги не проблема. Зачем они на sql едут? Возможно школота подросла, посмотрела на фичи sql и спросила "А шо так можно было?". Очень часто nosql выбирается из-за безграмотности разработчиков, а не потому что оно нужно. Но если действительно нужна была скорость и масштабируемость любой ценой, то прослойка над постгресов вообще не вариант.
     
     
  • 3.55, лютый жабби__ (?), 20:47, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Возможно школота подросла, посмотрела на фичи sql и спросила "А шо так можно было

    ну какие фичи? ACID? Накуй не нужно в 99% проектов, хотя оно и в монге уже появилось.

    А раскладывать один объект (все неООПшные языки давно сдохли) на 20 табличек это прошлый век. При том что JOIN-ы это по определению тормоза, а все ORM дэрмо.

     
     
  • 4.66, Аноним (26), 04:18, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    "Словарь Вильяма Шекспира, по подсчёту исследователей, составляет 12000 слов. Словарь негра из людоедского племени «Мумбо-Юмбо» составляет 300 слов. Эллочка Щукина легко и свободно обходилась тридцатью." (с)
    Так вот среднестатистический nosql это Эллочка, а Монго уже подбирается к Мумбо-Юмбо. Это так, в двух словах. Тема крайне обширная.
     
  • 4.67, Прохожий (??), 08:08, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >не нужно в 99% проектов

    На то они и школьные проекты, чтобы не отягощать школьников сильно. Понятно, что во что-то более серьёзное, чем написание сайта-визитки тебя пока вряд ли возьмут, подрасти надо, окрепнуть головой...

     
  • 2.57, ананоша (?), 21:57, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то хуже монги ещё надо постараться что-то найти
     
  • 2.77, мшефд (?), 13:25, 05/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    PostgreSQL обогнал MongoDB в NoSQL-тестах
    https://www.opennet.ru/opennews/art.shtml?num=40690
     

  • 1.52, an (??), 20:12, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Sspl выглядит на порядок интереснее agpl.

    Требование открыть код - всегда здорово. Откуда берутся долб о ебы, скулящие об неоткрытости лицензии?

    Проприетарный опен сорс - хуже го вна, хуже обычного проприетарного софта.

     
     
  • 2.58, ананоша (?), 21:58, 02/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пакежь свои проекты которые ты открыл под сспл
     

  • 1.61, Аноним (61), 22:36, 02/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > так как содержит дискриминирующее требование поставки под лицензией SSPL не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса.

    разве это не мечта GPL-ков ?

    B вообще - почему gcc может заражать собираемые проекты своим вирусом GPL, а Mongo нельзя?
    дискриминация!

     
     
  • 2.64, an (??), 02:10, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В смысле заражать?

    Откуда берутся долбоё бы, считающие, что код откровывается только для задач разработки?

     
  • 2.71, пох. (?), 16:51, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > B вообще - почему gcc может заражать собираемые проекты своим вирусом GPL, а Mongo нельзя?

    потому что монга за деньги иппется, просто выдвигая невыполнимое требование в надежде договориться сепаратно о совсем даже закрытой лицензии, а gplЕ - за идею, блин, и я ни разу не слышал чтобы с разработчиками gcc (кто эти васяны?!) кто-то о чем-то смог договориться.


     

  • 1.69, девятнадцать (?), 10:37, 03/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    RethinkDB во все поля! долой нудные миграции! даёшь простую и удобную кластеризацию и быструю работу!
     
     
  • 2.72, пох. (?), 16:53, 03/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    зачем вы насилуете труп?

    Лавка закрыта, разработчиков уволили. Полтора васяна я-у-мамы-разработчики не справились ни с форком, ни с поддержкой исходного проекта - потому что жрать хочется каждый день.

     

  • 1.83, Аноним (83), 23:48, 07/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если бы на лету генерировали схему и таблицы, то иаело бы смысл. А если хранить в денормализованном виде, как в оригинальной монге, то лучше от такой монги вообще отказаться. Если, конечно, только вам не надо хранить и индексировать большое количество разнородных JSON-документов произвольной структуры.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру