The OpenNET Project / Index page

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

Выпуск FerretDB 0.1, реализации MongoDB на базе СУБД PostgreSQL

05.04.2022 13:43

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

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

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

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

В выпуске FerretDB 0.1.0 полностью переработан метод извлечения данных из PostgreSQL. Раньше для каждого поступающего запроса MongoDB формировался один SQL-запрос к PostgreSQL, использующий функции для работы с форматом JSON и выполняющий фильтрацию результатов на стороне PostgreSQL. Из-за отличий в семантике json-функций PostgreSQL и MongoDB наблюдалось несоответствие поведения при сравнении и сортировке разных типов. Для решения данной проблемы из PostgreSQL теперь извлекается избыточная выборка данных, а фильтрация результата производится на стороне FerretDB, что позволило повторить поведение MongoDB в большинстве ситуаций.

Ценой повышения совместимости стало снижение производительности, которое в будущих выпусках рассчитывают компенсировать за счёт выборочной фильтрации на стороне FerretDB только запросов, для которых наблюдается расхождение поведения. Например, запрос "db.collection.find({_id: 'some-id-value'})" может быть целиком обработан в PostgreSQL. Первичной задачей проекта на данном этапе развития называется достижение совместимости с MongoDB, а производительность пока отодвигается на второй план. Из функциональных изменений в новой версии отмечается поддержка всех битовых операторов, оператора сравнения "$eq", а также операторов "$elemMatch" и "$bitsAllClear".

  1. Главная ссылка к новости (https://github.com/FerretDB/Fe...)
  2. OpenNews: Проект MangoDB развивает реализацию протокола СУБД MongoDB поверх PostgreSQL
  3. OpenNews: Утечка персональных данных 275 млн индийских пользователей через публичную СУБД MongoDB
  4. OpenNews: Доступна документо-ориентированная СУБД MongoDB 5.0
  5. OpenNews: Проект Elasticsearch переходит на несвободную лицензию SSPL
  6. OpenNews: Доступен Ora2Pg 12.0, инструмент для переноса БД из Oracle в PostgreSQL
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56971-ferretdb
Ключевые слова: ferretdb, database, mongodb
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (100) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:44, 05/04/2022 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –4 +/
     
     
  • 2.4, Moomintroll (ok), 15:18, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • +7 +/
     
     
  • 3.7, Аноним (1), 15:27, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
     
  • 4.8, Sergey (??), 15:35, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • +4 +/
     
     
  • 5.12, Аноним (1), 15:54, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.22, Аноним (22), 16:49, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.41, OpenEcho (?), 19:23, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.18, Онаним (?), 16:24, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • –5 +/
     
     
  • 3.32, Брат Анон (ok), 18:59, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • +5 +/
     
     
  • 4.42, OpenEcho (?), 19:29, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 5.44, Аноним (1), 19:39, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 4.52, пох. (?), 22:29, 05/04/2022 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 5.60, Брат Анон (ok), 08:58, 06/04/2022 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     

     ....ответы скрыты (12)

  • 1.2, Аноним (2), 14:49, 05/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    в свое время записался на официальные курсы по изучению монги. Молодой был, дурак. Курсы бесплатные, конечно. Потом как-то стало лень и забросил. Как выяснилось не зря. Это кстати не первый раз, когда моя лень оказывалась права.

    Сейчас испытываю лень по изучению раста.

     
     
  • 2.3, Смузихлёб (?), 15:10, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Закусывать надо.
     
  • 2.9, Кирилл (??), 15:43, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это ты молодец, что за Rust взялся.
     
  • 2.37, Брат Анон (ok), 19:11, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Монгу сгубила жадность разрабов. Кроме монги есть ещё множество решений, которые давно её заткнули за пояс.
    Так что у тебя просто лень.
     
     
  • 3.67, ЫыВ (?), 12:11, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Из множества можете хотя бы пару выделить?
     
     
  • 4.73, Брат Анон (ok), 15:13, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Из множества можете хотя бы пару выделить?

    Я вам даже ссылок дам:

    https://github.com/boltdb/bolt -- транзакции, бакеты, поиск, персистентность.
    https://github.com/iwanbk/bcache -- реплицируемый LRU-кэш (самоочистка в соответствии с заданными правилами -- время. кол-во раз доступа)
    https://github.com/dgraph-io/badger -- встраиваемая персистентная база (внизу бенчмарки)
    https://github.com/akyoto/cache -- ин-мемори база данных, покрытие тестами 100%.
    https://github.com/claygod/coffer -- ин-мемори БД, обещают ACID.
    https://github.com/hdt3213/godis -- полный аналог Redis на go. Жрёт все доступные ядра, только дай.
    https://github.com/syndtr/goleveldb -- моя любимая. Тупая как палка, но надёжная. С фильтрами Блума -- поиск по записям реактивный.
    https://github.com/HouzuoGuo/tiedot -- 120к rps на 4х ядрах. Работает поверх HTTP. Фактически, готовый сторедж для боевого применения.

    https://russianblogs.com/article/94441340423/ -- отличная статья, почему goLevelDB рвёт все вот эти ваши Постгресы/Мускли как Тузик грелку. Имхо, за этой штукой будущее. Тарантул сделан на той же технологии (LSM -- кто это придумал -- гений)

    Встраиваемая -- означает никуда не надо ходить по сети. Идеально для микросервисов, неприятно для РСУБД.

     
     
  • 5.89, Аноним (89), 22:06, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Текст по последней ссылке, о goLevelDB - просто атас. Гуглтранслейтом переводили, что ли, или обкуренные писАли. Про индексы. В самом начале пишут "...lsm_tree задерживает и группирует изменения индекса и эффективно переносит обновления на диск аналогично сортировке слиянием, уменьшая накладные расходы на вставку индекса.". А немного ниже, в "Ограничениях" - "Нереляционная модель данных (NoSQL) не поддерживает операторы SQL и не поддерживает индексы;". Так поддерживает индексы или нет? А это вообще шедевр, где-то в глубине - "Как видно из приведенного выше описания, разница между соседними версиями только в том, что одни файлы удаляются, а другие удаляются". И подобного добра там по всему повествованию богато размазано.
     
     
  • 6.93, Брат Анон (ok), 22:43, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это и есть гугель-транслейт Ели вам действительно интересно -- на хабре есть ст... большой текст свёрнут, показать
     
  • 5.102, Owlet (?), 13:02, 10/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > почему goLevelDB рвёт все вот эти ваши Постгресы/Мускли как Тузик грелку

    Сравнивать полноценный SQL с key-value хранилищем, это экспертиза уровня боженька.

    Но за ссылки спасибо.

     
  • 3.99, mickvav (?), 13:59, 08/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Неплохо так сгубила - акции с 18-го года выросли в 15 раз примерно...
     

  • 1.5, mumu (ok), 15:21, 05/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Первое апреля же уже прошло?
     
     
  • 2.19, alex (??), 16:28, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    думаю года через два-три закончиться это твое первое апреля
     

  • 1.6, Аноним (6), 15:24, 05/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Что это? Начало конца постреляционизма?
     
     
  • 2.10, Аноним (10), 15:52, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Конец начала реляционизма. Если кто не застал первые БД, то реляционные базы это всего лишь хипстерская смузи-штука, мода на которую когда-нибудь пройдет.
     
     
  • 3.13, mc_taurus (ok), 16:01, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Интересно, как бы отнёсся профессор Эдгар Кодд, будь он жив, если бы его хипстером обозвали.
    "Мода" на фундаментальную математику и, в частности, на теорию множеств никогда не пройдёт. А если вы это не осилили - сами себе злобный Буратино. Учиться надо, а не говнокодить.
     
     
  • 4.20, Аноним (10), 16:41, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Все что старше COBOL и IMS/360 - хипстерское смузи. Это такая постирония над местными комментаторами, которые вчера выучили аж полторы технологии и считают себя самыми умными. Теорию множеств там приплетают там где надо и не надо, к примеру. Поколение пепси, что с них взять.
     
  • 4.33, Брат Анон (ok), 19:04, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вы путаете теорию и практически полезную технологию. Нафига мне ваша реляционность, если мне надо много и быстро писать в единственную таблицу и читать буквально по паре признаков?

    Откройте для себя goLevelDb -- база, которая летает. Не надо никаких вакуумов, миграций, и задержек по сети. Потому что живёт в памяти процесса. 120к РПС на домашнем ноуте -- нет ничего проще.

     
     
  • 5.96, Аноним (96), 09:51, 07/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > надо много и быстро писать в единственную таблицу и читать буквально по паре признаков

    Если наоборот? Или неизвестно распределение чтений и записей (рандом)?

     
  • 3.63, Lost Inside (ok), 09:11, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    С таким подходом мы до сих пор сидели бы по пещерам.
     
     
  • 4.68, Павин Павлик (?), 12:33, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Слезать с пальмы и тащиться в пещеру? Я что хипстер-смузихлеб што ле? Мне и здесь неплохо.
     
  • 2.16, Онаним (?), 16:22, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ды не. На самом деле у монги был шанс, но он слит в унитаз.
     
  • 2.17, Онаним (?), 16:23, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Та же самая участь ждёт эластики в скором времени. Тоже начнут проксировать для начала :D
     
  • 2.23, kai3341 (ok), 16:52, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да уже конец конца

    Начало конца было, когда лет 7 назад многие профессионалы, хлебнув г%вна, дружно сказали: "нет, спасибо" (в смысле монга как инструмент очень ОК, но кейсы, где она применима, всё ещё не нашли)

    Года 4-5 назад, когда постгрешники хвастались, что работают с JSON быстрее, чем монга, стало ясно, что область, где монга ялвяется лучшим решением, сокращается ещё сильнее

     
     
  • 3.28, лютый жабби___ (?), 17:22, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Года 4-5 назад, когда постгрешники хвастались

    правда они 3.14здели как троцкие.

    >сокращается ещё сильнее

    скоро "сократится" до 99%

    Вообще монга, это про удобство в первую очередь.

     
     
  • 4.30, kai3341 (ok), 18:32, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Мне интересно, а какой у вас опыт (проекты, технологии) и стаж (года) разработки? С профессионалом мне было бы реально интересно пообщаться, так как монгу не тыкал ни разу. А с новичком религиозным фанатиком не хочу. Регулярное чтение е*****го сайта на итальянском домене не делает профессионалом
     
     
  • 5.39, Брат Анон (ok), 19:14, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    У меня опыт есть. Чаты, знакомства, уведомления -- вот это вот всё.
    Постгрес под нагрузкой в 50к РПС ложился. Монга втаскивала до 120..150к.
    Так что разговоры про смерть NoSQL подходы мягко говоря преждевременны.
    Дело было год назад.
     
     
  • 6.48, cadmi (?), 20:22, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чаты, знакомства, уведомления -- вот это вот всё.

    ну то есть всё, что можно класть сразу прямо в /dev/null - в случае чего никто не хватится :)

     
     
  • 7.61, Брат Анон (ok), 09:02, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> Чаты, знакомства, уведомления -- вот это вот всё.
    > ну то есть всё, что можно класть сразу прямо в /dev/null -
    > в случае чего никто не хватится :)

    Не важно куда. Важно что такая возможность есть и она энергетически существенно выигрывает.
    И если вы считаете, что транзакции в монге эквиваленты /dev/null -- значит монгу вы не знаете.

    Более того, я вам открою тайну: на практике 80% данных в итоге отправляются в /dev/null. Это нормально.

     
  • 6.69, Павин Павлик (?), 12:35, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Постгрес ложился.

    Вы просто не умеете его готовить

     
     
  • 7.74, Брат Анон (ok), 15:22, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Постгрес ложился.
    > Вы просто не умеете его готовить

    Угу. Я ничего не умею готовить, я уже понял. Сколько вы сделали бенчмарков лично на Постгресе?

     
     
  • 8.75, Павин Павлик (?), 15:49, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Бенч бд у нас часть стресса, так что несколько раз в день ... текст свёрнут, показать
     
     
  • 9.83, Брат Анон (ok), 17:06, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ка, ну ка Как влияет на производительность базы увеличение RAM в 2 раза ... текст свёрнут, показать
     
  • 5.65, лютый жабби___ (?), 09:47, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >так как монгу не тыкал ни разу

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

     
  • 3.34, Брат Анон (ok), 19:07, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Значит плохо искали ваши эксперты области применения. Почему-то мои эксперты сразу нашли. И реляционки вздрагивают от шороха нереляционок. СУБД такой скорости не достигнут никогда. Уметь надо кошек готовить.
     
     
  • 4.38, Аноним (38), 19:13, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как хорошо нести чепуху, когда не разбираешься.

    Для начала надо понять что такое Mongo, и какие гарантии они дают, в отличие от реляционной БД.

    И всё СРАЗУ станет понятно.

    Как оно "летает" и за счёт чего.

     
     
  • 5.40, Брат Анон (ok), 19:18, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Как хорошо нести чепуху, когда не разбираешься.

    Ну давай, начинай))

    > Для начала надо понять что такое Mongo, и какие гарантии они дают,
    > в отличие от реляционной БД.
    > И всё СРАЗУ станет понятно.
    > Как оно "летает" и за счёт чего.

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

    И представьте себе, полно ситуаций когда всё эти ваши гарантии -- нафиг не нужны.

     
     
  • 6.43, kai3341 (ok), 19:31, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Как хорошо нести чепуху, когда не разбираешься.
    > Ну давай, начинай))

    Ну тут, очевидно, про ACID. Да, без блокировок летает, и данные с высокой скоростью становятся кашей. Но при этом никто не запрещает пользоваться головой и гарантии консистентности данных выносить в собственный код. Местами становится сильно сложнее, но оно вполне может того стоить

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

    В монгу завезли транзакции и rollback? Киньте пруфом, пожалуйста. У меня экспертизы ноль

     
     
  • 7.57, Аноним (38), 02:01, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Гарантии консистенции - это черезвычайно сложная задача.

    Вынести их не получится. Если получится - вы напишите по сути базу данных (врядли).

    Я сам начал писать новую БД и понял насколько это сложная задача.

     
     
  • 8.64, Брат Анон (ok), 09:12, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это такая же глупая идея, как написать свою ОС В мире БОЛЕЕ чем достаточно отли... текст свёрнут, показать
     
     
  • 9.70, Аноним (38), 13:18, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Только SQLite очень медленная А так всё верно И в мире нет ни одной объектно-о... текст свёрнут, показать
     
     
  • 10.78, Брат Анон (ok), 16:19, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Распределённую SQLite на go пользу ... текст свёрнут, показать
     
     
  • 11.79, Аноним (38), 16:40, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Т е мне тащить распределенную БД на Go в мобильное приложение ... текст свёрнут, показать
     
     
  • 12.84, Брат Анон (ok), 17:08, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если хотите -- никто вам не мешает Также вам никто не мешает использовать embed... текст свёрнут, показать
     
  • 10.81, Брат Анон (ok), 16:49, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Распределённую SQLite на go пользуйте -- медленно не покажется Я тут ниже 8 ссыл... текст свёрнут, показать
     
     
  • 11.86, Аноним (38), 18:16, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы не очень понимаете что такое embedded Для сервера сгодится Для embedded - к... текст свёрнут, показать
     
     
  • 12.90, Брат Анон (ok), 22:30, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по тексту это вы не понимаете Я ничего не понял что вы тут написали Embed... текст свёрнут, показать
     
  • 7.62, Брат Анон (ok), 09:04, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    >>> Как хорошо нести чепуху, когда не разбираешься.
    >> Ну давай, начинай))
    > Ну тут, очевидно, про ACID. Да, без блокировок летает, и данные с
    > высокой скоростью становятся кашей. Но при этом никто не запрещает пользоваться
    > головой и гарантии консистентности данных выносить в собственный код. Местами становится
    > сильно сложнее, но оно вполне может того стоить
    >> Вот я то как раз отлично понимаю. И могу авторитетно заявить, что гарантии монги не хуже постгреса. Вы бы для приличия документацию почитали.
    > В монгу завезли транзакции и rollback? Киньте пруфом, пожалуйста. У меня экспертизы
    > ноль

    https://tech.geekjob.ru/tranzaktsii-v-mongodb/
    https://ru.wikipedia.org/wiki/MongoDB
    С разморозкой. первая же ссылка ещё 2 года назад.
    ACID в монгу подвезли ещё в бородатом 2018.

    Если вы не умеете готовить структуры данных, то вам стоит подучиться. Если бы вы знали теорию РСУБД, то знали бы, что консистентность данных вам не сможет гарантировать ни одна РСУБД в единственном экземпляре. минимум -- 2 реплики, а ещё лучше 3 в разных ЦОДах. Ребята из монги это усвоили. Вы -- нет.

     
  • 7.66, лютый жабби___ (?), 09:50, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Да, без блокировок летает, и данные с высокой скоростью становятся кашей В монгу завезли транзакции и rollback

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

     
     
  • 8.71, Аноним (38), 13:21, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Всё верно Во-первых это не гарантии Ребята из монги откровенно наврали про сво... текст свёрнут, показать
     
     
  • 9.76, Брат Анон (ok), 16:12, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Пруфов, как всегда не будет Ну, ок ... текст свёрнут, показать
     
     
  • 10.80, Аноним (38), 16:44, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Запись в файл - это 1 IO В БД надо сначала записать в WAL, потом в файл БД Это... текст свёрнут, показать
     
     
  • 11.82, Брат Анон (ok), 17:00, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Рука-лицо В Монге уже 4 года как ACID есть Транзакции -- не гарантируют консис... текст свёрнут, показать
     
     
  • 12.87, Аноним (38), 18:38, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Боже, что вы за бред пишите WAL нужен для 1 Быстрой записи Вместо того чтобы ... большой текст свёрнут, показать
     
     
  • 13.91, Брат Анон (ok), 22:36, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это просто испанский стыд какой-то Мажоритарный принцип и автосинхронизация П... текст свёрнут, показать
     
     
  • 14.94, Аноним (38), 00:05, 07/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Начнём с азов Если вы пишите данные надёжно - вам нужно сделать как минимум 3 з... текст свёрнут, показать
     
     
  • 15.95, Брат Анон (ok), 08:57, 07/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы вообще читаете, что вам пишут Ещё раз напишу у нормальных людей Монга работ... текст свёрнут, показать
     
     
  • 16.98, Аноним (38), 14:55, 07/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну-ка, расскажите как вы с помощью hash будете восстанавливать данные Я хочу эт... текст свёрнут, показать
     
  • 12.88, Аноним (38), 18:42, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Такая бредятина делитанта Дальше спорить просто не о чем У NoSQL есть все проб... текст свёрнут, показать
     
     
  • 13.92, Брат Анон (ok), 22:39, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Слово делитант пишется дилетант Две ошибки в одном слове, глаза вытекают В... текст свёрнут, показать
     
  • 6.56, Аноним (38), 01:58, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Начнём, пожалуй, с этого https://jepsen.io/analyses/mongodb-4.2.6.

    Для профессионалов этим можно и закончить.

     
     
  • 7.85, лютый жабби___ (?), 17:25, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Для профессионалов этим можно и закончить.

    хихи, косяк в функционале которого вообще нет в слоне, какой плохой монго, особенно актуальный сейчас 5.4 )

     
  • 4.47, ананоша (?), 20:15, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Возможно монгу надо как-то готовить, но у нас на нескольких десятках тысяч документов с джойнами через агрегации уже еле ворочается, индексы вроде все есть. Скл бы даже не заметил никакой нагрузки
     
     
  • 5.77, Брат Анон (ok), 16:14, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Возможно монгу надо как-то готовить, но у нас на нескольких десятках тысяч
    > документов с джойнами через агрегации уже еле ворочается, индексы вроде все
    > есть. Скл бы даже не заметил никакой нагрузки

    Джойны в монге не нужны. Вам нужен составной ключ и фильтр Блума. Также весьма полезно иметь шардинг для больших объёмов. SQL точно так же вешался бы.

     
     
  • 6.101, ананоша (?), 20:47, 09/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я так и думал что монга нужна для поиграться
     

  • 1.11, Дедушка из IBM (?), 15:52, 05/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Неужели суперсовременный молодежный PostgreSQL наконец-то сделал то, что появилось в IBM Db2 в 2013 году! LOL

    https://www.theregister.com/2013/06/05/ibm_db2_mongodb/

    и десяти лет не прошло, а смузихлебы уже дышат в затылок Межделамаши своей пре пре альфа версией.

     
     
  • 2.14, mc_taurus (ok), 16:12, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Молодёжный? Который начался в 1986 году? Ну-ну. Скорее, нормальным людям остоелозил весь этот движ с noSQL у особей, у которых в голове газированное говно и которые не могут осилить теорию множеств в объёме среднестатистического технического института. И эти люди сделали мэппинг (по возможности) этого говна в нормальную реляционную модель.
     
     
  • 3.45, Дедушка из IBM (?), 19:41, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    YesSQL тоже появился достаточно давно:

    https://github.com/sebastienros/yessql

     
  • 2.21, Аноним (21), 16:44, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Неужели суперсовременный молодежный PostgreSQL наконец-то сделал то, что появилось в IBM Db2 в 2013 году! LOL

    А еще в суперсовременный молодежный постгрес не внедрили игру квейк, пичалька... А по серьезному - наверное обществу это не надо было в постгресе в 2013-м году, потому что тогда у монги была удовлетворяющая это общество лицензия. Лицензия на монгу поменялась в конце 18-го года, а в начале 19-го эту лицензию народ внес в список несвободных. Вот тогда для принципиальных что-то и изменилось и стали пилить замену. Зачем эмуляция монги нужна была в постгресе (или в DB2) до 18-го года, если можно было использовать оригинал?

     
  • 2.35, Брат Анон (ok), 19:08, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    При чем тут постгрес? Вы тему не попутали?
     

  • 1.15, Онаним (?), 16:19, 05/04/2022 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     ....ответы скрыты (5)

  • 1.31, Аноним (31), 18:58, 05/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Жду новости о реализации Oracle поверх MSSQL, реализующего PostgreSQL поверх Oracle.
     
     
  • 2.36, Брат Анон (ok), 19:10, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ещё раз прочитай новость. Чуваки отвязывают интерфейсы от платной загубленной базы за бесплатно. Причём тут Оракл?
     
  • 2.50, Дедушка из IBM (?), 21:26, 05/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем ждать, когда уже давно все сделано?

    IBM Db2 поддерживает синтаксис Oracle при желании.

    Amazon открыл код Babelfish, расширений для замены MS SQL Server на PostgreSQL:

    https://www.opennet.ru/opennews/art.shtml?num=56061

     
  • 2.53, Аноним (53), 00:29, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://etersoft.ru/products/selta
    SELTA@Etersoft: ваша свобода выбора СУБД

    Транслятор SELTA@Etersoft позволяет использовать свободную СУБД PostgreSQL в приложениях, ориентированных на работу с MS SQL (например, «1С: Предприятие 7.7»).

     
  • 2.54, Аноним (53), 00:33, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Postgres Plus Advanced Server (расширение PostgreSQL специальными возможностями для обеспечения совместимости с Oracle Database)
     
  • 2.55, Аноним (53), 00:37, 06/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Oracle Compatibility Libraries (SSORC) for SQL Server and SQL Azure
     

  • 1.46, Смузихлёб (?), 20:03, 05/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неплохое решение, но задачи решает явно очень узкоспециализированные, уж не знаю где оно применимо вообще.
     
  • 1.58, Аноним (58), 04:22, 06/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > при сравнении и сортировке разных типов

    В postgres можно заменить на свои функции сравнения и сортировки, для этого не обязательно выносить это на уровень приложения.

    Но гошникам конечно виднее.

     
  • 1.59, Аноним (59), 07:16, 06/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Почему просто не форкнули Mongo?
     
     
  • 2.97, игогошник (?), 11:31, 07/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как я тебе ее форкну, она ж не на go!

     

  • 1.72, PnD (??), 13:24, 06/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Гхм. В postgreSQL видимо предполагается sync для WAL отключать.
    Чтобы получить сравнимую скорострельность (ну и надёжность, да).

    * Кроме шуток, бывают случаи когда это ок.

     
  • 1.100, Фняк (?), 00:56, 09/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А оно поддерживает кластерные служебные команды? Ну т.е. чтобы можно было на mongos + пачке ferretdb собрать аналог кластерной монги
     

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



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

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