Table Storage - это базовая функция хранилища Windows Azure, предназначенная для масштабирования ( 100 ТБ 200 ТБ 500 ТБ на учетную запись), долговечной (с тройной репликацией в центре обработки данных, с возможностью георепликации для другой центр обработки данных) и без схемы (каждая строка может содержать любые свойства, которые вы хотите). Ряд расположен по ключу раздела + ключу строки, обеспечивая очень быстрый поиск. Весь доступ к хранилищу таблиц осуществляется через четко определенный REST API, который можно использовать на любом языке (с SDK, построенными поверх API REST, уже имеющимися для .NET, PHP, Java, Python и Ruby).
MongoDB - это документно-ориентированная база данных. Чтобы запустить его в Azure, вам необходимо установить MongoDB на веб / рабочие роли или виртуальную машину, указать ее на облачный диск (таким образом, предоставляя букву диска) или подключенный диск (для виртуальных машин Windows / Linux), при необходимости включить ведение журнала. (что я бы порекомендовал), и при необходимости определите внешнюю конечную точку для вашего использования (или получите доступ к ней через виртуальную сеть). Кстати, облачный диск / подключенный диск фактически хранится в BLOB-объекте Azure, что обеспечивает такую же надежность и георепликацию, что и таблицы Azure.
При сравнении этих двух типов помните, что Table Storage является Storage-as-a-Service: вы просто получаете доступ к известной конечной точке REST. С MongoDB вы несете ответственность за поддержание базы данных (например, всякий раз, когда MongoDB Inc (ранее 10gen) выпускает новую версию MongoDB, вам необходимо соответствующим образом обновить сервер).
Относительно альфа-версии MongoDB Inc, на которую указывает jtoberon: Если вы внимательно посмотрите на нее, вы увидите несколько ключевых вещей:
- Настройка для автономного экземпляра mongodb, без наборов реплик или осколков. Что касается наборов реплик, вы по-прежнему получаете несколько преимуществ, используя автономную версию, благодаря тому, как работает хранилище BLOB-объектов.
- Чтобы обеспечить высокую доступность, вы можете запускать несколько экземпляров. В этом случае только один экземпляр обслуживает базу данных, и один является «горячим резервом», который запускает процесс mongod, как только происходит сбой другого экземпляра (для перезагрузки обслуживания, сбоя оборудования и т. Д.).
Хотя оболочка Windows Azure от 10gen по-прежнему считается альфа-версией, mongod.exe - нет. Вы можете запустить mongod exe точно так же, как любой другой Windows exe. Это всего лишь код управления запуском, и именно это демонстрирует реализация alpa.
РЕДАКТИРОВАТЬ 2011-12-8: Это больше не в альфа-состоянии. Вы можете скачать последнюю версию MongoDB + Windows Azure здесь , которая обеспечивает поддержку набора реплик.
Для производительности, я думаю, вам нужно сделать несколько тестов. Сказав это, рассмотрите следующее:
- При доступе к Table Storage или MongoDB, скажем, из веб-роли, вы все равно обращаетесь к системе хранения Windows Azure.
- MongoDB использует много памяти для собственного кэша. По этой причине многие крупномасштабные системы MongoDB развертываются на больших размерах экземпляров. Для доступа к табличному хранилищу у вас не будет такого же размера памяти.
РЕДАКТИРОВАТЬ 7 апреля 2015
Если вы хотите использовать базу данных на основе документов как сервис, Azure теперь предлагает DocumentDB.