Вышла версия 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] https://www.mongodb.com/blog/post/big-reasons-upgrade-mongodb-6-0
#mongodb #data #datatools #rdbms
В новой версии анонсируют:
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] https://www.mongodb.com/blog/post/big-reasons-upgrade-mongodb-6-0
#mongodb #data #datatools #rdbms
MongoDB
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.
🔥9👍5🤔1
В рубрике интересных продуктов для работы с данными SurrealDb [1] свежая документоориентированная СУБД категории NewSQL позиционируемая создателями как облачная без-серверная СУБД.
Облачная версия у них ещё в разработке, а открытый код уже общедоступен, можно установить и тестировать на собственных задачах.
Внутри язык запросов похожий на SQL, но не SQL, называется https://SurrealQL [2] не поддерживающий JOIN'ы по изначальному его дизайну.
Причём код стал открытым только летом прошлого года [3], а на сентябрь обещают версию 1.0, однако сейчас он стремительно набирает популярность, порядка 1500+ лайков за август 2022 года и далее популярность нарастает.
Среди клиентских библиотек основная NodeJS, по позиционированию СУБД скорее под Jamstack чем под MDS (Modern Data Stack), так что для тех кто программирует на JS она может быть полезной находкой.
Ссылки:
[1] https://surrealdb.com
[2] https://surrealdb.com/docs/surrealql
[3] https://surrealdb.com/roadmap
#opensource #rdbms #datatools
Облачная версия у них ещё в разработке, а открытый код уже общедоступен, можно установить и тестировать на собственных задачах.
Внутри язык запросов похожий на SQL, но не SQL, называется https://SurrealQL [2] не поддерживающий JOIN'ы по изначальному его дизайну.
Причём код стал открытым только летом прошлого года [3], а на сентябрь обещают версию 1.0, однако сейчас он стремительно набирает популярность, порядка 1500+ лайков за август 2022 года и далее популярность нарастает.
Среди клиентских библиотек основная NodeJS, по позиционированию СУБД скорее под Jamstack чем под MDS (Modern Data Stack), так что для тех кто программирует на JS она может быть полезной находкой.
Ссылки:
[1] https://surrealdb.com
[2] https://surrealdb.com/docs/surrealql
[3] https://surrealdb.com/roadmap
#opensource #rdbms #datatools
SurrealDB
The ultimate multi-model database | SurrealDB
The ultimate multi-model database for AI agents and applications
👍3❤1