Обложка канала

Ivan Begtin

3903 @begtin

I am focused on Open Data, Procurement, e-Government, Open Government and other tech stuff

Ivan Begtin

4 года назад
Открыть в
Вышла версия 6.0 MongoDB, самой популярной документо-ориентированной NoSQL СУБД в мире. Если Вы никогда о ней не слышали и не читали, но работаете с JSON документами, то самое время узнать что это такое и как работает. В новой версии анонсируют: 1. Улучшение работы с временными рядами 2. Улучшение работы с потоками изменений и возможности подписки на них 3. Улучшенная обработка сложных запросов 4. Больше операторов в языке запросов 5. Улучшенная синхронизация и новые операторы для этих задач 6. Улучшенная безопасность (запросы к зашифрованным данным) 7. Улучшения в поиске в виде фасетного поиска Если посмотреть на всё это вместе, то кажется всё, в общем-то, очень даже неплохо. Продукт развивается, у него реально очень мало альтернатив, наиболее близкий по функциям продукт ArangoDB, но мигрировать на него требует переписать все запросы, поэтому основная конкуренция идет между MongoDB Cloud и MongoDB-совместимыми облачными базами данных. Но я скажу честно, по личному опыту и практическому применению, MongoDB - это огромная находка и огромное разочарование. Дело в том что для многих задач без высокой нагрузки, с иерархическими данными, созданием API с отдачей JSON и тд. у MongoDB очень много уникальных возможностей. Многое готово из коробки, язык запросов прост, привычен, удобства очень велики. Но, как только дело доходит до высокой производительности то часто оказывается что использовать MongoDB как расширенное key-value хранилище - это норм, а много сложных запросов на больших данных оно не тянет. По многим причинам, рассказывать о них можно много и отдельно, но в целом high-load - это не про MongoDB. Другая проблема MongoDB в неэффективном хранении данных, по сравнению с колоночными базами данных, к примеру. Это особенность архитектуры, у данных нет схем, нет возможности сжатия их по колонкам, что сжатие улучшает. Но самая главная проблема в том что MongoDB нет в Modern data stack! Понятно что MDS - это концепция, а не четкий стек инструментов, но MongoDB попадает туда только как унаследованное хранилище данных. Ключевые продукты популярные в MDS основаны на SQL и плоских структурах данных с чёткими спецификациями. Инструменты вроде dbt не поддерживают MongoDB, не поддерживают его и большая часть ETL инструментов и так далее. Фактически MongoDB и другие документо-ориентированные NoSQL СУБД - это продукты в себе. Чтобы реализовать для них полноценный инструмент по контролю качества данных или их преобразованию придётся делать его узкозаточенным и, как следствие, плохо переносимым на другие продукты. И эти проблемы, увы, не решаются релизом 6.0, но, в остальном, конечно, это полезный продукт пригодный для многих задач когда данных много, они иерархичны (JSON) и проектировать таблицы не хочется. Ссылки: [1] www.mongodb.com/blog/po…godb-6-0 #mongodb #data #datatools #rdbms
7 Big Reasons to Upgrade to MongoDB 6.0 | MongoDB Blog

First announced at MongoDB World 2022, MongoDB 6.0 is now generally available and ready for download now. Learn more.

MongoDB