The OpenNET Project / Index page

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

Первый стабильный выпуск FerretDB, реализации MongoDB на базе СУБД PostgreSQL

04.04.2023 12:25

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

Основной целевой аудиторией FerretDB являются пользователи, которые не применяют в своих приложениях расширенные возможности MongoDB, но желают использовать полностью открытый программный стек. На текущем этапе развития FerretDB поддерживает подмножество возможностей MongoDB, наиболее часто применяемых в типовых приложениях. Необходимость внедрения FerretDB может возникнуть в связи с переходом MongoDB на несвободную лицензию SSPL, которая основана на лицензии AGPLv3, но не является открытой, так как содержит дискриминирующее требование поставки под лицензией SSPL не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса.

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

Среди изменений в FerretDB 1.0:

  • Реализованы команды createIndexes и dropIndexes для создания и удаления одного или нескольких индексов к коллекции.
  • Реализована команда getMore для вывода новой порции результата, полученного при выполнении команд, возвращающих курсор, таких как find и aggregate.
  • Добавлена поддержка агрегирующего оператора $sum для вычисления суммы значений группы.
  • Добавлена поддержка операторов $limit и $skip для ограничения числа и пропуска документов при агрегировании.
  • Добавлена поддержка оператора $count для подсчёта документов при агрегировании.
  • Добавлена поддержка оператора $unwind для разбора полей массива во входящих документах и формирования списка с отдельным документом для каждого элемента массива.
  • Добавлена частичная поддержка команд collStats, dbStats и dataSize для получения статистики о коллекции и БД, а также размере данных.


  1. Главная ссылка к новости (https://github.com/FerretDB/Fe...)
  2. OpenNews: Первый бета-выпуск FerretDB, реализации MongoDB на базе СУБД PostgreSQL
  3. OpenNews: Micron опубликовал движок хранения HSE 3.0, оптимизированный для SSD-накопителей
  4. OpenNews: Доступна документо-ориентированная СУБД MongoDB 6.0
  5. OpenNews: Проект MangoDB развивает реализацию протокола СУБД MongoDB поверх PostgreSQL
  6. OpenNews: В ходе атаки Meow удалено около 4000 общедоступных БД Elasticsearch и MongoDB
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58915-ferretdb
Ключевые слова: ferretdb, mongodb, postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (92) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 13:02, 04/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > createIndexes и dropIndexes

    у нормальных людей это зовется indices, а не indexes.

     
     
  • 2.7, Аноним (7), 13:25, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Both "indexes" and "indices" are acceptable plural forms of the word "index" or to refer to more than one index. Index is one of those rare words that have two different plurals in English. "Indices" is originally a Latin plural, while "Indexes" has taken the English way of making plurals, using –s or –es. Though both are still widely used, they take on different usage in their senses. "Indices" is used when referring to mathematical, scientific and statistical contexts
     
     
  • 3.24, Аноним (2), 14:29, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вот и подъехала цитата прямиком из выдачи гугла, даже без прохождения по ссылке.
     
     
  • 4.26, Аноним (26), 15:01, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ChatGPT detected?
     
  • 4.39, Аноним (39), 17:53, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Специально для анонимов с опеннета посмотрел в хардварном словаре напечатанном в Великобритании, всё правильно написано.
     
     
  • 5.48, Аноним (48), 18:58, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Который отсканировали и выложили в сеть, где его и нашла нейросеть и гугл. Разговор был не о содержании а о форме подачи. Притом в ироническом ключе.
     
     
  • 6.65, Аноним (39), 22:47, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Иронизировать про шашечки на опеннете любят, да.
     
  • 2.54, Аноним (54), 19:49, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    CENTER ИЛИ CENTRE?
     
     
  • 3.93, Gjklppoki (?), 03:51, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Da
     

  • 1.3, Аноним (3), 13:02, 04/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Прокси для тех кто не осилил sql?
     
     
  • 2.5, Аноним (5), 13:18, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не всем нужен sql
     
     
  • 3.8, Аноним (26), 13:29, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Программист не осилил sql? Привлечение кадров которые не могут переучиться на sql?
     
  • 2.9, Мемтейнер (?), 13:29, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    для тех у кого задачи что-то кроме sql
     
     
  • 3.11, Аноним (11), 13:32, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если у тебя в руке молоток, то все предметы вокруг автоматически считаются гвоздями.
     
     
  • 4.71, ыы (?), 13:39, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет.
     
  • 3.13, Аноним (26), 13:42, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так программист и нужен чтобы создать приложение которое скроет от оператора внутренности. Поэтому он должен знать sql и техзадание выраженное в предметной логике. Оператору действительно не нужен sql. Предваряя ответ, оператору нельзя давать свободный доступ к СУБД.
     
     
  • 4.18, Аноним (11), 13:56, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы знаете, бывают случаи, когда даже программисту не нужен SQL.
     
     
  • 5.31, Аноним (26), 15:22, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да если он не работает с sql СУБД.
     
  • 4.96, Аноним (96), 15:03, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    сиквел продуктовому программеру нужен, если только для саморазвития. Сейчас же кругом ОРМы.
     
  • 3.32, Аноним (26), 15:29, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот так умирает нативность. Типа могу работать с sql db но язык запросов к не знаю.
     
  • 2.40, Аноним (39), 17:55, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ах, если бы реляционные базы данных покрывали 100% всех кейсов. Ах, если бы на SQL было удобно выразить любой запрос. Это была бы такая жизнь, анонче… Сказка была бы, а не жизнь. Но эти мечты, как и многие, разбились о чугунный зад реальности.
     
     
  • 3.58, Прохожий (??), 20:06, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ах, если бы реляционные базы данных покрывали 100% всех кейсов.

    Вроде бы, в мире уже не осталось чистых реляционных СУБД, как правило, все поддерживают несколько парадигм.

    > Ах, если бы на SQL было удобно выразить любой запрос.

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

     
     
  • 4.67, анон (?), 11:16, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > SQL - тюринг-полный язык

    Бред. SQL не тюринг-полон. Иначе не появились бы графовые базы данных с их собственными языками запросов.

     
     
  • 5.85, ptr (??), 18:17, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А как же ApacheAge или MS SQL Graph?
     
     
  • 6.89, анон (?), 00:16, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > MS SQL Graph

    Чувак, ты газируешь лужу: и у той, и другой есть куча дополнительных команд, не входящих в SQL. Так что мимо. Попробуй ещё.

     
     
  • 7.104, ptr (??), 02:48, 07/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Деточка, я не знаю ни одной реальной СУБД, не поддерживающей "куча дополнительных команд, не входящих в SQL". Например, в SQL:2016 стандартизировали поддержку JSON, что ничуть не дальше графов от базовых SQL парадигм. Просто более часто востребованно.
    А так как стандартизируется то, что уже реализовано в каких-то СУБД, то значит графы уже в очереди на очередной стандарт SQL.
     
     
  • 8.108, Аноним (11), 12:43, 07/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На очереди или нет, не так важно Важно, что SQL - достаточно слабый и ограничен... текст свёрнут, показать
     
  • 2.44, BrainFucker (ok), 18:32, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для тех кто хочет развернуть сторонний проект, требующий mongo, но у них уже есть postgres, таким образом можно обойтись без лишнего сервиса.
     
     
  • 3.63, пох. (?), 21:51, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Для тех кто хочет развернуть сторонний проект, требующий mongo

    и гадать потом - это он так глючит потому что руки из оттуда, или потому что монга у тебя не совсем монга?

    Нет, это где, в каком месте такие сущеглупые обитают, чтоб не вляпаться?

     
     
  • 4.66, BrainFucker (ok), 02:55, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А чего гадать, любой нормальный проект покрыт тестами. Прогнал тесты и посмотрел.
     
  • 4.81, Аноним (-), 15:22, 05/04/2023 Скрыто ботом-модератором
  • +/
     

     ....ответы скрыты модератором (21)

  • 1.6, Аноним (6), 13:18, 04/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Какая БД самая популярная? Какую лучше учить? Вопрос из разряда, какой ЯП самый популярный, какой учить?
     
     
  • 2.10, Аноним (11), 13:30, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Пятый принцип философии юникс:
    > Храните данные в простых текстовых файлах

    Все эти СУБД с бинарным форматом - от Поттеринга.

     
     
  • 3.14, EuPhobos (ok), 13:42, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Текстовый файл хранится внутри файловой системы с бинарными ссылками в виде inode на них, все эти файловые системы от гари потера, философ предлагает лучше хранить прям в секторах накопителя, аля: "dd if=myawesomework of=/dev/sda bs=512 skip=10"
    только не забыть записать где ни будь на бумажке карандашиком, какого размера файл, и какое смещение в блочном устройстве было, что бы потом правильно его считать..
     
     
  • 4.15, hck61589 (ok), 13:45, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Надо всем опеннет экспертам собраться и изобрести фс с метаданными в тестовом формате и тогда не придется хранить листочки.
     
     
  • 5.55, OpenEcho (?), 19:49, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Надо всем опеннет экспертам собраться и изобрести фс с метаданными в тестовом формате и тогда не придется хранить листочки.

    Там тогда вся файловая система будет состоять из дурак-сам-дурак и места для данных не останется

     
  • 4.17, Аноним (11), 13:54, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, с точки зрения философии UNIX, крайне желательно, чтобы весь /dev/sda1 был одним большим текстовым файлом, а содержимое разных документов отделялось бы специальными строками в тексте.
     
     
  • 5.41, Аноним (39), 17:58, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В принципе, так и есть. Просто для некоторых оптимизаций, связанных в основном с ограничениями железа, пришлось специальные строки сделать бинарными и структурировать текстовый файл. В остальном же — всё именно как ты описал, и не только на UNIX.
     
     
  • 6.45, Аноним (48), 18:35, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какой текстовый язык используется. Как насчёт фрагментации. Как насчёт равномерной нагрузки на сектора. Как насчёт вложенности не связных файлов. И много ещё вопросов. ? - на все вопросы оптом.
     
     
  • 7.53, Аноним (39), 19:15, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно из-за этих вопросов пришлось оптимизировать и структурировать. Впрочем, текст существует только в твоей голове, когда ты на экран смотришь. Для компьютера это просто поток битов, не имеющий смысла.
     
  • 6.90, Аноним (11), 00:33, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В принципе, так и есть. Просто для некоторых оптимизаций, связанных в основном с ограничениями железа, пришлось специальные строки сделать бинарными и структурировать текстовый файл.

    Ну да, если считать бинарь специально структурированным текстом, то получается, что все файлы текстовые.

     
  • 5.56, OpenEcho (?), 19:55, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так давным давно уже

    > 0x1C FS File separator End of file. Or between a concatenation of what might otherwise be separate files.
    > 0x1D GS Group separator - between sections of data. Not needed in simple data files.
    > 0x1E RS Record separator End of a record or row.
    > 0x1F US Unit separator Between fields of a record, or members of a row ( aka FieldSeparator).

     
  • 3.23, Аноним (26), 14:09, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Остаётся определиться что является неделимой единицей и как из них создавать новые знания.
     
  • 3.35, Аноним (48), 17:20, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не получится - процессор неграмотных.
     
  • 2.12, Аноним (26), 13:33, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если объектная СУБД не тянет технически и в бэкенд берет sql СУБД, то нужны подобного рода костыли и прокси для легаси.
     
     
  • 3.16, Аноним (11), 13:50, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дело не в "не тянет технически" (наоборот, достаточно очевидно, что хранить документы в реляционном движке менее эффективно, чем в документном, не говоря уже о том, что отказоустойчивость в постгресе сделать гораздо сложнее, чем в монге). Дело исключительно в лицензии. SSPL запрещает продавать облачные mongo as a service без согласия авторов монги, и поэтому считается несвободной.
     
     
  • 4.19, Аноним (26), 14:00, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот! Насчёт лицензии согласен.
    А как насчёт mongoAPI?
     
  • 4.21, Аноним (26), 14:01, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Sql гибче в плане запросов.
     
     
  • 5.25, Аноним (11), 14:36, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Задача проекта - как раз спрятать от программистов SQL за API Mongo
     
     
  • 6.27, 1 (??), 15:04, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Задача проекта ничего не прятать, а дать монгистам иллюзию, что они работают на монге
     
     
  • 7.30, Аноним (26), 15:08, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Возвращаемся к профессионализму программиста, который не может напрямую общаться с бэкэндом.
     
     
  • 8.36, 1 (??), 17:25, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Программист он же как обезьянка Дали ему фреймвок - он на нём и пишет Ни... текст свёрнут, показать
     
     
  • 9.111, пох. (?), 22:38, 08/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    это русские сделали - потому что оракла им теперь как своих ушей не видать А во... текст свёрнут, показать
     
  • 8.105, V1 (ok), 05:37, 07/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Зайдите на HH Там в основном таких программистов ищут И наверное находят ... текст свёрнут, показать
     
  • 6.28, Аноним (26), 15:05, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вместо приложения монгооператор? Тетеньки будут не довольны. Излишние требования к оператору.
     
  • 6.33, Аноним (26), 15:36, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Задача проекта прервать лицензию и дать работать легаси под свободной лицензией. Остаётся вопрос с правами на mongoapi. Подменять один апи другим это и есть костыль.
     
     
  • 7.42, Аноним (39), 18:04, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это не костыль, а вполне легитимный паттерн, описанный в одной фундаментальной книжке по дизайну софта. Но ты книг не читал, поэтому тебе всё это костылями кажется.
     
     
  • 8.46, Аноним (48), 18:42, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Начал я читать одного такого модного автора, который ратовал за максимальное упр... текст свёрнут, показать
     
     
  • 9.51, Аноним (39), 19:10, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не понравилась 8212 не пользуйся Летит 8212 уворачивайся ... текст свёрнут, показать
     
     
  • 10.97, Аноним (11), 15:12, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не уворачиваться - вполне легитимный паттерн ... текст свёрнут, показать
     
  • 5.43, Аноним (39), 18:13, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну пройдись гибким SQLем по графу, потом расскажешь впечатления. Не пойми меня неправильно, это _можно_ сделать на SQL, но запросы выходят уж больно кучерявые, на несколько страниц. С документами дело обстоит чуть лучше, но это пока в структуру слабоструктурированных документов не нужно нырять.
     
     
  • 6.47, Аноним (48), 18:51, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вероятно вам досталась не нормализованная БД.
     
     
  • 7.49, Аноним (39), 18:59, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нормализация хороша только в теории. На практике же, денормализация — известный и часто применяемый инструмент оптимизаций.
     
     
  • 8.50, Аноним (48), 19:03, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну например запись со структурой сущность - апсвязь - даунсвязь не подходит Кол... текст свёрнут, показать
     
     
  • 9.52, Аноним (39), 19:13, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме двусвязного списка есть ещё и другие структуры данных Подходит он или нет... текст свёрнут, показать
     
     
  • 10.59, Аноним (48), 20:10, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо Даунсвязь это блоб хранящий переменное число связей и требующий обработч... текст свёрнут, показать
     
     
  • 11.64, Аноним (39), 22:44, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Где будет выполняться обработчик Как обеспечить изоляцию и атомарность транзакц... текст свёрнут, показать
     
     
  • 12.107, Вячеслав (??), 08:18, 07/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Некоторые базы позволяют писать расширения плагины Поэтому возможно есть возмо... текст свёрнут, показать
     
  • 3.86, ptr (??), 18:22, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Бывают задачи, когда требуется доступ к данным уже имеющимся в различном представлении.
    Можно, конечно, плодить десятки DAG на Airflow. И если речь о терабайтах - это даже оправдано. А можно иметь и то и другое в одной БД, сразу доступное для обновления витрин.
     
     
  • 4.95, Аноним (11), 12:26, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И ещё туда пару десятков терабайт картинок засунуть, вместо S3-совместимого хранилища. Потому что удобно.
    И кэши там держать, вместо редиса. Удобно же.
    И очереди, вместо кролика/кафки. Аргумент тот же.
     
     
  • 5.103, ptr (??), 02:30, 07/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Именно так. Поднимать конфлюент ради передачи сотни сообщений в сутки - бессмысленно. Так же как кешировать гигабайт в редисе или ради пару сотен картинок по 200К поднимать хранилище.

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

    И поэтому ради вебсайта на сотню пользователей поднимать дополнительно к постгресу монгу - поссориться с головой, что искрене пытаетесь сделать Вы )

     
     
  • 6.109, Аноним (11), 02:20, 08/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Именно так. Поднимать конфлюент ради передачи сотни сообщений в сутки - бессмысленно. Так же как кешировать гигабайт в редисе или ради пару сотен картинок по 200К поднимать хранилище.

    Легко. Особенно когда у админа уже есть за плечами минимальный опыт и готовые плейбуки/чарты.

    > И поэтому ради вебсайта на сотню пользователей поднимать дополнительно к постгресу монгу - поссориться с головой

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

     
     
  • 7.110, пох. (?), 22:29, 08/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Легко. Особенно когда у админа уже есть за плечами минимальный опыт и готовые плейбуки/чарты.

    и любую проблему это владелец молотка и нулевого опыта рассматривает как гвоздь.

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

    Ты точно не админ.

    > в случае, если проект выстрелит и им начнут пользоваться более 3.5 пользователей.

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

     

  • 1.22, lucentcode (ok), 14:07, 04/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Одно не понимаю: зачем так извращаться? SQL — это одно, NoSQL — совершенно другое. Нужен заменитель NoSQL на шару в облаке? Так нужно запилить аналог MongoDB, на том же Go, но без привязки к РСУБД с их SQL. Не думаю, что это прямо какой-то Rocket Science. Тем более что Mongo была долго открытой, её внутреннее устройство, алгоритмы и API хорошо известны, это не какой-то чёрный ящик вроде Oracle Database. А попытки скрестить ужа с ежом — так и не дадут настоящую монгу с её киллер-фичами(среди которых отсутствие SQL плюс, а не минус, для некоторых) на выходе.
     
     
  • 2.29, 1 (??), 15:06, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > не дадут настоящую монгу с её киллер-фичами(среди которых отсутствие SQL плюс, а не минус, для некоторых)

    Ну тогда главную киллер фичу они и реализовали

     
  • 2.37, Аноним (37), 17:45, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Так нужно запилить аналог MongoDB, на том же Go, но без привязки к РСУБД с их SQL. Не думаю, что это прямо какой-то Rocket Science.

    Напоминает тех чуваков, которые делали чат. Тоже думали что это не рокет сайнс, а потом пошли задачи поддержки чатов на десятки тысяч человек и там начались прям ньюансы. И всё оказалось прям не очень просто.

    Чем то даже напоминает переписывальщиков всего на раст тоже думают что это не рокет сайнс, а потом чего-то не входит каменный цветок.  

     
     
  • 3.87, Аноним (87), 18:31, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем то даже напоминает переписывальщиков всего на раст тоже думают что это не рокет сайнс, а потом чего-то не входит каменный цветок.

    Хы, как Вы ловко... И за растовцев подумали (телепат, что ли? просто не встречал ни одного их заявления "это легко! Поэтому сейчас перепишем!") и потом за правду выдаете ложное утверждение про каменный цветок. Аж так не выходит, что всё новое нативное в андроиде собираются писать на расте вместо си/плюсов. Наверное им нравится каменные цветки через это самое выдавливать. И tor'овцы на них глядючи так хотят. И амазоновцы со своим Firecracker'ом туда же лезут. И уже много их таких. Все извращенцы, один Вы Д'Артаньян. Извините, ошибся - вас тут много таких мушкетеров.

     
  • 2.57, OpenEcho (?), 19:58, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Одно не понимаю: зачем так извращаться?

    Чтобы за лицуху не дернули

     
     
  • 3.61, YetAnotherOnanym (ok), 21:13, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чтобы за лицуху не дернули

    Для этого надо зайти на https://db-engines.com/en/systems и выбрать под свою задачу подходящую СУБД с подходящей лицензией, а не лепить троллейбус из буханки.

     
     
  • 4.84, OpenEcho (?), 17:55, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Для этого надо зайти на https://db-engines.com/en/systems и выбрать под свою задачу подходящую СУБД с подходящей лицензией, а не лепить троллейбус из буханки.

    Аха, и переписать весь накопившийся софт завязанный на монгу...

     
     
  • 5.88, YetAnotherOnanym (ok), 21:00, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда плати. Коготок увяз - всей птичке пропасть.
     
     
  • 6.92, OpenEcho (?), 02:44, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Тогда плати. Коготок увяз - всей птичке пропасть.

    Гениально! Какие же все вокруг "бараны"...

    Вы в новость то воткнули?!

     
     
  • 7.94, YetAnotherOnanym (ok), 06:47, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, особенно вот в это:
    > На текущем этапе развития FerretDB поддерживает подмножество возможностей MongoDB

    А Вы?

     
     
  • 8.98, OpenEcho (?), 17:59, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Гоняем на CI CD в гамме, пока что все Ок на продакшене пока все на 4-й монге... текст свёрнут, показать
     
  • 3.62, пох. (?), 21:48, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    используй монгу 4й версии. В отличие от этого хлама, она хотя бы поддерживает ВСЕ свои команды, а не угадай где тут рыбу заворачивали.

    И работает предсказуемо, а не утыкается в 100% cpu load как мы тут имели щастье наблюдать с постгрезом (ух ты, я и не знал что так можно).

     
     
  • 4.99, OpenEcho (?), 18:02, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > используй монгу 4й версии.

    Так и есть, но альтернатива тоже не помешает там где скорость не нужна

     
     
  • 5.100, пох. (?), 18:58, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    и скорость, и полная совместимость, и полноценный fault tolerant cluster,  и нормальное шардирование...

    (последние два пункта в постгрезном исполнении это... такое себе)

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

     
     
  • 6.101, OpenEcho (?), 21:55, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и скорость, и полная совместимость, и полноценный fault tolerant cluster,  и нормальное шардирование...

    Да не все проекты на таком скэйле, до фига умников которые тащат в зависимости монгу (а то как же, как у всех) где она по большому счету нафиг не нужна, не понимая разницы между документ vs key/value storage отмазываясь что типа на будующее там, хотя сами проекты в принципе не скэйлэбл...


     
     
  • 7.102, пох. (?), 22:13, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "приятно иметь дело с ди6илами"... спасибо что напомнил.

    В целом да, вот для них это и сделали. Тех кому нафиг не нужна document database вовсе, а просто "нам надо хранить в базке жсон, значит монго!" И лучше в этот код не заглядывать, а то глазыньки лопнут. И уж тем более ну нафиг его чинить.

    Да, для таких решение самое то, особенно если половину данных они и так хранят в постгре потому что в тот раз "у нас же таблица - нам нужно еще и sql, как у всех" (вспоминая онлиофис с его единственной таблицей)

    И вот такого контингента - мильен с тыщами, в отличие от тех кому на самом деле от монги что-то надо.
    И админ у них такой же, поэтому монга с ее...э...е...нетривиальной авторизацией проигрывает постгрезу еще и в этом.

    А копипаста со стековерфлова почти вся будет работать.

     
     
  • 8.112, Аноним (112), 06:22, 10/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    За 10 лет в профессии работал из реляц БД с Postgres, Firebird, MySQL У PG крив... текст свёрнут, показать
     
  • 2.68, pofigist (?), 11:53, 05/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное поэтому - https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-json/
     
  • 2.91, Chromium (ok), 00:49, 06/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Здравствуйте, это Bing. Я могу помочь вам найти информацию о возможностях NoSQL в PostgreSQL. Вот краткий ответ из результатов поиска в Интернете:

    PostgreSQL поддерживает JSON и другие функции NoSQL, такие как встроенная поддержка XML и пары ключ-значение с HSTORE. Он также поддерживает индексирование данных JSON для более быстрого доступа⁴. PostgreSQL может работать как реляционная и как документоориентированная база данных⁵. PostgreSQL имеет преимущества перед другими SQL базами данных с открытым исходным кодом, такими как MySQL, в плане производительности, надежности и гибкости².

    Источник: беседа с Bing, 05.04.2023(1) PostgreSQL vs. MySQL - сравнение, особенности и отзывы. https://fb.ru/article/437280/postgresql-vs-mysql---sravnenie-osobennosti-i-otz Получен доступ 05.04.2023.
    (2) Postgres NoSQL лучше, чем MongoDB? - Хабр. https://habr.com/ru/post/272735/ Получен доступ 05.04.2023.
    (3) Чем PostgreSQL лучше других SQL баз ... - Хабр. https://habr.com/ru/post/282764/ Получен доступ 05.04.2023.
    (4) PostgreSQL vs. MySQL - сравнение, особенности и отзывы. https://bing.com/search?q=%d0%92%d0%be%d0%b7 Получен доступ 05.04.2023.
    (5) Основы проектирования баз данных – сравнение PostgreSQL, Cassandra и .... https://habr.com/ru/company/otus/blog/451042/ Получен доступ 05.04.2023.

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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