Перейти к содержанию
Установить приложение

Установите наше приложение для более удобного доступа к сообществу.

Best Gothic Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Mongo DB

MongoDB is a Popular Open-Source NoSQL Database - Locus IT Services Nordic  | Your Trusted Partner for Data Science & Analytics Solutions

Это доступная из исходного кода, кроссплатформенная, документоориентированная база данных. Классифицируемая как NoSQL-база данных, MongoDB отказывается от традиционной структуры реляционных баз данных на основе таблиц в пользу JSON-подобных документов с необязательными схемами.

Основные концепции

1. Документоориентированное хранение данных

В отличие от реляционных баз данных, использующих строки и столбцы, MongoDB хранит данные в формате BSON (Binary JSON). Это позволяет создавать вложенные структуры, массивы и различные типы полей в рамках одной коллекции.

Коллекции: эквивалентны таблицам в SQL.

Документы: эквивалентны строкам или записям.

Поля: эквивалентны столбцам.

2. Динамическая схема

MongoDB обладает гибкой схемой, что означает, что документы в одной коллекции не обязательно должны иметь одинаковый набор полей или структуру. Это особенно полезно для:

Быстрого прототипирования и итеративной разработки.

Обработки неструктурированных или полуструктурированных данных. Аналитика в реальном времени, где форматы данных могут меняться.

Ключевые особенности

3. Масштабируемость:

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

3. Высокая доступность:

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

4. Мощные запросы:

Поддерживаются запросы ad hoc, индексирование и агрегация в реальном времени. Язык запросов MongoDB (MQL) выразителен и прост в освоении для разработчиков.

Индексирование: Поддержка различных типов индексов (однополочные, составные, геопространственные, текстовые) обеспечивает высокопроизводительный поиск.

Распространенные сценарии использования

Системы управления контентом (CMS): Хранение различных типов медиафайлов, статей и пользовательского контента.

Электронная коммерция: Управление каталогами товаров, где разные товары имеют разные атрибуты.

Аналитика в реальном времени: обработка высокоскоростных данных с IoT-устройств или лент социальных сетей.

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

5. Заключение:

Главное преимущество MongoDB - это удобство для разработчиков. Поскольку документы напрямую сопоставляются с объектами в большинстве современных языков программирования (таких как JavaScript, Python и Java), разработчики могут тратить меньше времени на написание сложных слоев объектно-реляционного отображения (ORM) и больше времени на разработку функций.

К сожалению из личного опыта есть проблема что некоторые разработчики пытаются работать с Mongo DB как и с реляционными пытаясь эмулировать какие - то ORM что приводит часто к

редкостному бреду и даже идиотизму которые обращают плюсы в минусы. Думаю что если очень хочется этим заниматься то просто Mongo DB для такого разработчика критически не подходит :-)

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

Изменено пользователем Zuboskal
картинка

Рекомендуемые сообщения

Я сейчас пилю SaaS продукт в MongoDB Atlas (документная база данных). Моя команда выбрала его, потому что говорят, что так проще масштабировать и проще программировать, так как нет структуры. Типа, если захотим что-то поменять в фичах, будет легче, нам так сказали. Несмотря на наши трудности, аргумент о масштабировании изначально недействителен, потому что очень немногие проекты в итоге сами управляют своим кластером, они в любом случае берут RDS или Mongo Atlas. И очень немногие проекты вообще достигают такого масштаба. И еще меньше проектов заканчивают только с одним решением для хранения данных, когда они достигают такого масштаба.

Лотар, дело говоришь. Все эти сказки про бесконечное масштабирование — морковка для осла, пока проект реально не прижмет, никто об этом и не вспомнит. А отсутствие структуры обычно означает, что разработчики просто ленятся продумать схему на берегу. В итоге получается куча мусора, в которой потом сами же и тонут. Если руки из одного места, то хоть Монго, хоть РДС — результат будет один, печальный. Лучше сразу понимать, что ты строишь, чем потом пытаться подпереть разваливающийся сарай палками.

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.