Ввиду растущего числа клиентов, сталкивающихся с трудностями при эффективном развертывании MongoDB в больших масштабах, Amazon представила решение DocumentDB. С помощью масштабирования данных машинного обучения в DocumentDB можно легко расширить емкость хранилища с 10 ГБ до 64 ТБ. Продолжайте читать это руководство, чтобы узнать больше о том, как работает DocumentDB, его функциях и некоторых его главных конкурентах.
Обзор DocumentDB
Amazon DocumentDB — это полностью управляемый сервис базы данных документов, совместимый с MongoDB. Структура базы данных документов DocumentDB упрощает хранение, извлечение и индексирование данных JSON. Разработчики могут развертывать, поддерживать и масштабировать приложения в Amazon DocumentDB, используя тот же код, драйверы и инструменты, которые они используют с MongoDB.
Однако в системе есть только один записываемый мастер, но благодаря конструкции хранилище и вычисления разделены. Amazon DocumentDB использует Aurora Storage Engine; изначально он был разработан для реляционной базы данных MySQL. Данные реплицируются шесть раз в трех зонах доступности (AZ) AWS, что позволяет механизму хранения быть распределенным, отказоустойчивым, самовосстанавливающимся и надежным.
Поскольку MongoDB имеет открытый исходный код, «совместимость с MongoDB» означает, что DocumentDB может взаимодействовать с интерфейсами прикладного программирования MongoDB 3.6 и 4.0. Пользователи MongoDB и DocumentDB могут использовать одни и те же драйверы, приложения и инструменты (например, Hackolade) с минимальными усилиями. Однако не все API-интерфейсы MongoDB поддерживаются DocumentDB, несмотря на то, что он поддерживает подавляющее большинство API-интерфейсов MongoDB, которые фактически используют клиенты.
Кроме того, Hackolade требуется плагин DocumentDB для моделирования данных в DocumentDB.
Моделирование базы данных, коллекций и индексов DocumentDB поддерживается специальной версией Hackolade. Кроме того, программное обеспечение строго придерживается выбранной в базе данных терминологии.
Как работает DocumentDB?
Amazon DocumentDB предназначен для работы в качестве базы данных документов с использованием API-интерфейсов MongoDB 2.0 и 3.6 с открытым исходным кодом Apache 4.0 для беспрепятственного взаимодействия. Следовательно, можно беспрепятственно использовать идентичные драйверы, приложения и инструменты MongoDB с Amazon DDocumentDB, требуя минимальных модификаций или вообще не требуя их вообще.
Первым шагом в использовании Amazon DocumentDB является настройка кластера. Том кластера, который является компонентом самого кластера, управляет данными одного или нескольких экземпляров базы данных. Тома хранилища виртуальных баз данных, охватывающие множество зон доступности, тома кластера Amazon DocumentDB используются для хранения баз данных в облаке. Реплика информации кластера хранится в каждой зоне доступности.
Кластер Amazon DocumentDB состоит из двух компонентов:
- Плотность кластера. Данные реплицируются шесть раз в трех зонах доступности с использованием облачной службы хранения, что гарантирует высокую надежность и доступность. Один том кластера может содержать до 128 терабайт данных в кластере Amazon DocumentDB.
- Экземпляры: используйте вычислительные ресурсы для работы базы данных, включая чтение и запись в общее хранилище кластера. Кластеры Amazon DocumentDB могут иметь от нуля до шестнадцати узлов.
Например, есть две основные функции:
- Первичный экземпляр: позволяет считывать и записывать данные в том кластера, а также выполнять любые другие необходимые обновления. Для каждого кластера Amazon DocumentDB существует один основной экземпляр.
- Экземпляр реплики: поддерживается только доступ для чтения. В кластере Amazon DocumentDB может быть до 15 вторичных узлов. Если у вас много реплик, вы можете разделить трафик между ними. Кроме того, вы можете повысить доступность вашего кластера, разместив реплики в разных зонах доступности.
Каковы особенности документаБД?
Вот некоторые ключевые особенности DocumentDB:
№1. Полностью контролируемое обслуживание
Обеспечение, обновления, резервное копирование, высокая доступность и долгосрочная надежность — это все, что делает AWS. Теперь вы можете сосредоточиться на разработке приложений вместо утомительной работы по администрированию.
№2. Совместимость с MongoDB.
Amazon DocumentDB поддерживает API-интерфейсы MongoDB 3.6 и 4.0, что делает его совместимым с популярной базой данных. Он имитирует ответы, которые клиент получил бы от реального сервера MongoDB. Это гарантирует, что вам придется внести небольшие изменения в существующие драйверы и инструменты MongoDB, чтобы использовать их с Amazon DocumentDB. После переноса данных в Amazon DocumentDB обновить приложение для использования Amazon DocumentDB можно так же просто, как перенаправить приложение на API Amazon DocumentDB.
№3. Превосходная масштабируемость
В Amazon DocumentDB вы можете увеличивать как хранилище, так и вычислительные ресурсы независимо друг от друга. Кластеры, имеющие всего один экземпляр, могут масштабироваться для обработки миллионов операций чтения в секунду путем добавления до 15 реплик чтения. Кроме того, DocumentDB автоматически увеличивает выделенное хранилище с шагом 10 ГБ до 64 ТБ по мере роста ваших данных, поэтому вам никогда не придется беспокоиться о нехватке места.
№4. Терпимость к неудачам
Высокая надежность характеризует Amazon DocumentDB. Шесть копий ваших данных создаются в трех разных зонах доступности. Две из шести копий данных могут быть потеряны, не влияя на доступность записи в Amazon DocumentDB, а три из шести могут быть потеряны, не влияя на доступность чтения.
№5. Автоматическое, непрерывное, инкрементное резервное копирование и восстановление на определенный момент времени
Ваши кластеры можно восстановить на определенный момент времени с помощью функции резервного копирования Amazon DocumentDB. Если вы удалите кластер и создадите новый, вы сможете восстановить свои данные в любое время в течение последних пяти минут срока хранения резервной копии. В автоматических резервных копиях можно хранить до 35 дней данных. Кроме того, Amazon Simple Storage Service (Amazon S3) — это место, где мы сохраняем наши регулярно запланированные резервные копии, поскольку его надежность составляет 99.999999999%. Автоматическое инкрементальное непрерывное резервное копирование Amazon DocumentDB не оказывает никакого влияния на производительность кластера.
№6. Чрезвычайно безопасно
Чтобы обеспечить безопасность ваших данных во время передачи, Amazon DocumentDB работает в вашем виртуальном частном облаке Amazon (Amazon VPC) и использует шифрование Transport Layer Security (TLS) для всех соединений. В Amazon DocumentDB хранящиеся данные также по умолчанию шифруются.
Каковы преимущества DocumentdDB?
Вот некоторые из главных преимуществ DocumentDB:
№1. Контроль доступа
В Amazon DocumentDB имеется встроенная и настраиваемая поддержка ролей для RBAC. Контролируя доступ пользователей с помощью RBAC, вы можете следовать принципу «наименьших привилегий».
Действия пользователей и групп в AWS IAM с ресурсами Amazon DocumentDB, такими как кластеры, экземпляры, снимки и группы параметров, управляются в рамках AWS IAM. Вы можете управлять группами пользователей Amazon DocumentDB и другими ресурсами с помощью тегов в IAM.
№2. Шифрование
Базы данных Amazon DocumentDB (KMS) можно зашифровать с помощью службы управления ключами AWS.
Шифрование Amazon DocumentDB защищает данные в базовом хранилище, а также обеспечивает автоматическое резервное копирование, снимки и реплики кластера. Кроме того, все соединения клиента с Amazon DocumentDB по умолчанию защищены с помощью TLS.
№3. Совместимость с MongoDB
Amazon DocumentDB поддерживает драйверы MongoDB версий 3.6 и 4.0. Он поддерживает широкий спектр драйверов, приложений и инструментов, уже знакомых клиентам.
Для имитации сервера MongoDB Amazon DocumentDB использует интерфейсы прикладного программирования MongoDB 2.0 и 3.6 с открытым исходным кодом Apache 4.0. Теперь разработчики могут создавать критически важные приложения на базе MongoDB с необходимой им скоростью, масштабируемостью и доступностью.
№4. Система хранения данных, способная самостоятельно восстанавливаться после сбоев
Данные реплицируются шесть раз в трех зонах доступности (AZ). Чтобы справиться с потерей до двух копий данных без ущерба для доступности записи, Amazon DocumentDB предоставляет отказоустойчивое хранилище. При выходе из строя блока данных или диска в Amazon DocumentDB он автоматически заменяется.
№5. Проверка соответствия
Amazon DocumentDB был разработан с учетом высочайшего уровня безопасности, чтобы помочь вам удовлетворить ваши собственные внутренние требования к соблюдению нормативных требований. Соответствие HIPAA, ISO 9001, 27001, 27017 и 27018, а также SOC 1, 2 и 3 отмечено для Amazon DocumentDB.
DocumentDB лучше, чем MongoDB?
И MongoDB, и DocumentDB — это мощные, многофункциональные, ориентированные на документы базы данных NoSQL. Помимо множества вариантов запросов, MongoDB очень гибкая, масштабируемая и поддерживается надежной экосистемой. Благодаря своему статусу сервиса, управляемого AWS, DocumentDB обладает превосходной масштабируемостью, совместимостью с MongoDB, интеграцией сервисов AWS и безопасностью. При выборе между MongoDB и DocumentDB подумайте о целях вашего приложения, желаемом уровне масштабируемости, сложности ваших запросов, предпочтительном методе интеграции и вашем бюджете. Вы можете выбрать лучшую базу данных для своих нужд, серьезно приняв во внимание вышеупомянутые факторы.
Конкуренты DocumentDB
Ищете MongoDB-совместимых конкурентов Amazon DocumentDB? Ознакомьтесь с другими рассмотренными покупателями облачных систем управления базами данных Amazon DocumentDB (совместимыми с MongoDB). Потенциальные покупатели сравнивают компетенции в таких областях, как оценка и заключение контрактов, интеграция и развертывание, обслуживание и поддержка, а также возможности продуктов, оценивая различные решения. Вот некоторые из главных конкурентов DocumentDB:
№1. SQL-сервер
Microsoft SQL — это мощная и гибкая система управления базами данных (СУБД), главный конкурент DocumentDB. Она проста в установке и использовании, поддерживает множество языков и хорошо работает на любом ПК. Когда все настроено и функционирует как надо, жизнь прекрасна. Кроме того, по сравнению с другими коммерчески доступными программами программирование гораздо более продуктивно. Это одна из лучших баз данных из-за ее превосходной масштабируемости и способности сокращать сетевой трафик. Встроенная функция введения облегчает работу любого программиста.
№2. Google Cloud Firestore
Предоставляя бессерверную базу данных документов NoSQL, хорошо подходящую для современных веб-приложений и мобильных приложений, Google Cloud Firestore является сильным конкурентом DocumentDB. Firestore обеспечивает непрерывную синхронизацию данных, что облегчает обновления в реальном времени и командную работу между устройствами. Он использует универсальную модель данных, которая может включать как коллекции, так и документы, что упрощает хранение и извлечение информации.
Однако Firestore идеально подходит для международных приложений благодаря распространению по всему миру и динамическому масштабированию, которые гарантируют высокую доступность и доступ с малой задержкой. При интеграции с другими сервисами Google Cloud его аналитические возможности, возможности машинного обучения и бессерверных вычислений значительно расширяются.
Шифрование Firestore, критерии проверки данных и аутентификация пользователя — это лишь некоторые из его надежных функций безопасности. Разнообразие клиентских библиотек и SDK, доступных для разработчиков, является благом.
Вообще говоря, Google Cloud Firestore является серьезным конкурентом DocumentDB из-за своих возможностей работы в реальном времени, масштабируемости и тесного взаимодействия с сервисами Google Cloud, особенно для приложений, требующих оперативного, совместного и глобально доступного хранилища данных.
№ 3. MongoDB
При сравнении баз данных NoSQL MongoDB является сильным конкурентом DocumentDB. MongoDB идеально подходит для неструктурированных или полуструктурированных данных благодаря своей адаптивности и масштабируемости. Как и JSON, BSON допускает динамическое обновление схемы, поэтому он может идти в ногу с меняющимися потребностями в данных.
По мере увеличения объемов данных надежная поддержка горизонтального масштабирования MongoDB посредством сегментирования позволяет легко расширять их. Однако он позволяет эффективно извлекать и анализировать данные, предоставляя интеллектуальный язык запросов, индексы и структуру агрегирования. Соответствие ACID гарантирует целостность и согласованность ваших данных.
Благодаря обширному набору инструментов и драйверов с открытым исходным кодом платформу могут использовать программисты, работающие на самых разных языках. Функции безопасности, резервного копирования и мониторинга полностью управляемой службы баз данных MongoDB Atlas упрощают развертывание и управление.
Учитывая свой опыт в различных вариантах использования, MongoDB является сильным конкурентом DocumentDB для компаний, которым требуется гибкое, масштабируемое и удобное для разработчиков решение для работы с базами данных NoSQL.
№ 4. Couchbase
Couchbase — популярный конкурент DocumentDB, поскольку он также предоставляет решение для распределенных баз данных NoSQL, но он более известен своей высокой производительностью и адаптируемостью. Он универсален, поскольку хорошо работает с полуструктурированными и неструктурированными данными.
Мощный формат данных документов Couchbase на основе JSON позволяет эффективно хранить сложные структуры данных и вносить динамические изменения в базовую схему. Он хорошо подходит для приложений с растущими требованиями благодаря своей многоузловой распределенной архитектуре, которая гарантирует горизонтальную масштабируемость и отказоустойчивость.
Couchbase — отличный вариант для мобильных и онлайн-приложений, которым необходимо обеспечить удобство работы с пользователем благодаря поддержке синхронизации данных в реальном времени и приложений, ориентированных на офлайн-режим.
Кроме того, Couchbase предоставляет функциональные возможности для микросервисов, управляемых событиями, и аналитики полнотекстового поиска. Кроме того, он включает в себя строгие функции безопасности, такие как зашифрованное хранение данных и управление доступом на основе ролей.
В конечном счете, сочетание настраиваемости, масштабируемости и возможностей работы в реальном времени Couchbase делает его жизнеспособным конкурентом DocumentDB, особенно для приложений с распределенной средой, требующих быстрого управления данными.
№5. Переосмыслить БД
Предоставляя распределенную систему баз данных NoSQL с открытым исходным кодом, оптимизированную для приложений реального времени, RethinkDB является серьезным конкурентом DocumentDB. Его главное преимущество заключается в том, что он может обновлять данные в режиме реального времени, что делает его отличным вариантом для ситуаций, когда пользователям необходим мгновенный доступ к информации.
Поскольку RethinkDB использует формат данных документа, основанный на JSON, он может легко адаптироваться к новым и меняющимся потребностям в данных. Извлечение и обработка данных улучшаются благодаря поддержке языка запросов сложных запросов и агрегаций.
Приложения могут подписаться на каналы изменений (уникальную функцию RethinkDB) для получения обновлений об изменениях данных в режиме реального времени. Приложения для совместной работы, информационные панели и инструменты аналитики в реальном времени — все они значительно выигрывают от этой возможности.
Открытый исходный код RethinkDB поощряет активное сообщество разработчиков и интеграцию со сторонними организациями, а распределенная архитектура базы данных гарантирует отличную доступность и масштабируемость.
Для приложений, которым требуется мгновенная синхронизация данных и функциональность, управляемая данными в реальном времени, RethinkDB является серьезным конкурентом DocumentDB благодаря своим функциям реального времени, гибкости и поддержке сообщества.
№6. Microsoft Azure Космос БД
Благодаря глобально распределенной многомодельной службе баз данных, а также превосходной масштабируемости и гибкости Microsoft Azure Cosmos DB является серьезным конкурентом DocumentDB. Он достаточно гибок для работы с данными во многих различных форматах, включая SQL, NoSQL, ключ-значение, граф и данные семейства столбцов.
Глобальное распространение Cosmos DB подходит для глобально распределенных приложений и гарантирует доступ к данным с малой задержкой в разных местах. Он предоставляет ряд моделей согласованности, позволяя программистам регулировать надежность своих данных в соответствии со своими конкретными потребностями.
Замечательная производительность и плавное масштабирование этой службы базы данных делают ее подходящей для легкого обслуживания огромных объемов трафика. Для передовой аналитики, машинного обучения и бессерверных вычислений не ищите ничего, кроме Cosmo DB с Microsoft Azure.
Такие функции, как шифрование, управление доступом на основе ролей и сертификаты соответствия, обеспечивают надежную защиту данных и соответствие требованиям.
Для компаний, которым требуется масштабируемое и глобально распределенное решение для баз данных, Azure Cosmos DB является серьезным конкурентом DocumentDB благодаря своей гибкости, глобальному охвату и взаимодействию со службами Azure.
№7. Кассандра
Cassandra является серьезным конкурентом DocumentDB, поскольку предоставляет распределенную и масштабируемую базу данных NoSQL. Это онлайн-система управления базами данных (СУБД), созданная Apache Software Foundation. Его основная цель — управлять большими наборами данных на многих серверах и центрах обработки данных.
Благодаря своей горизонтально масштабируемой конструкции Cassandra идеально подходит для приложений, требующих быстрого расширения данных. Используемая модель данных семейства столбцов хорошо подходит для хранения данных временных рядов и других типов данных, требующих высокой пропускной способности записи.
Кроме того, высокая доступность и отказоустойчивость Cassandra являются двумя ее сильными сторонами, поскольку они гарантируют целостность данных и предотвращают выход из строя систем. Кроме того, он имеет настраиваемые уровни согласованности, поэтому программисты могут сбалансировать целостность данных и пропускную способность по мере необходимости для своих приложений.
Cassandra часто используется в сценариях, где информация должна быть доступна в любое время и из многих мест. В частности, для приложений, требующих масштабируемости, отказоустойчивости и высокопроизводительного хранения данных, широкая экосистема инструментов и сильная поддержка сообщества еще больше укрепляют ее позицию конкурента DocumentDB.
№8. Neo4j
Среди DocumentDB Neo4j выделяется своим превосходством в обработке графических данных и является серьезным конкурентом. Хотя это не настоящая альтернатива DocumentDB, она включает в себя несколько полезных дополнений. Когда дело доходит до моделей данных, предполагающих сложные взаимодействия, включая социальные сети, системы рекомендаций и графы знаний, Neo4j проявляет себя как специалист по графовым базам данных.
Его подход к графам свойств рассматривает узлы и связи как равные, что обеспечивает легко адаптируемое и наглядное представление данных. Cypher, язык запросов Neo4j, представляет собой надежный инструмент для эффективного перемещения и поиска графических данных.
Соответствие Neo4j ACID защищает целостность данных, а возможности кластеризации обеспечивают масштабируемость. Он также поддерживает множество фреймворков и языков, используемых разработчиками.
Хотя Neo4j является идеальным выбором для управления онлайн-данными, возможно, что он не является оптимальным решением для всех реализаций DocumentDB. Его основные преимущества заключаются в тех случаях, когда связи между точками данных имеют первостепенное значение, что делает его серьезным конкурентом для компаний, нуждающихся в графических технологиях.
Зачем использовать DocumentDB вместо DynamoDB?
DocumentDB сильно отличается как от MongoDB, так и от DynamoDB, поскольку выполняет промежуточную роль между ними.
Вы сами определяете максимальный размер своей базы данных DynamoDB, поскольку это полностью управляемый масштабируемый сервис. Если вам нужен дополнительный контроль над DocumentDB, вы можете настроить размер кластера и количество используемых им экземпляров. Вам нужно будет следить за их потреблением и производительностью, но не так тщательно, как за MongoDB.
Хотя MongoDB предлагает больше всего возможностей настройки, она также требует больше всего обслуживания. С точки зрения производительности, все они являются надежными вариантами, но готовы ли вы платить за дополнительное обслуживание, необходимое для поддержания максимальной гибкости, зависит от вас.
Структура цен является еще одним соображением. У MongoDB (Atlas) и DocumentDB есть почасовая оплата (с дополнительной оплатой за DocumentDB). С DynamoDB вы можете выбирать между оплатой ресурсов заранее или оплатой по мере использования. Прочтите полную информацию: DYNAMODB против MONGODB: полное сравнение 2023 г.
Использует ли Amazon MongoDB?
Да, некоторые сервисы и программы Amazon используют MongoDB. Для своих клиентов Amazon Web Services (AWS) предлагает управляемое решение MongoDB под названием Amazon DocumentDB, которое полностью совместимо с MongoDB. Имейте в виду, что использование Amazon MongoDB с тех пор могло измениться из-за изменчивого характера технологии.
Почему выбирают DocumentDB?
DocumentDB обладает рядом функций, обычно встречающихся в реляционных базах данных, таких как язык запросов, допускающий сложные выражения и высокий уровень согласованности данных. Благодаря своей бессхемной природе MongoDB/Document DB позволяет создавать документы без предварительного создания структуры документа.
Резюме
В заключение отметим, что DocumentDB от Amazon — единственная полностью управляемая альтернатива MongoDB. По данным Amazon, пропускная способность DocumentDB вдвое превышает пропускную способность существующих систем MongoDB. Вместо этого вам придется столкнуться с трудностями управления базами данных на Amazon EC2 и Elastic Beanstalk.
Выберите DocumentDB или продолжайте использовать MongoDB, если вам требуются такие гарантии. Возможность хранить все данные на AWS — еще один плюс DocumentDB.
Часто задаваемые вопросы о конкурентах DocumentDB
Какое хранилище лучше всего подходит для базы данных в AWS?
Вы можете использовать Amazon Elastic Block Store (EBS) в сочетании с твердотельными накопителями в своих экземплярах для создания чрезвычайно высокопроизводительных архитектур. AWS настоятельно рекомендует использовать тома общего назначения (GP2) или тома Provisioned IOPS (PIOPS), чтобы обеспечить высокий и стабильный уровень IOPS и производительность базы данных.
DocumentDB — это SQL или NoSQL?
В мире баз данных DocumentDB подпадает под категорию нереляционных (или NoSQL) систем. Базы данных документов используют документы в качестве основного механизма хранения данных, в отличие от более традиционных строк и столбцов. Если вы ищете альтернативу или серьезного конкурента традиционным табличным реляционным базам данных, DocumentDB — ваш лучший выбор.
Похожие сообщения
- КОРПОРАТИВНОЕ ГИБРИДНОЕ ОБЛАКО: что это такое и каковы преимущества?
- Как сделать резервную копию iPhone на Mac: подробное руководство
- Как сделать резервную копию Apple Watch: простые и эффективные шаги
- РЕЗЕРВНЫЙ СЕРВЕР: что это такое и почему это важно?