В течение нескольких последних лет Microsoft предлагает хранилище ключей / значений «NoSQL» под названием «Хранилище таблиц» (http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/)
Table Storage предлагает высокую производительность, масштабируемость (за счет секционирования) и относительно низкую стоимость. Основной недостаток таблиц в том, что индексировать можно только ключи разделов и строк, поэтому выполнение запросов по значениям очень неэффективно.
Недавно Microsoft анонсировала новую службу «NoSQL» под названием «DocumentDB» (http://azure.microsoft.com/en-us/documentation/services/documentdb/)
Вместо хранения списка свойств (как в таблицах) DocumentDB хранит объекты JSON. Индексируется весь объект - поэтому эффективные запросы могут быть созданы на основе каждого свойства и любого вложенного свойства сохраненных объектов.
Microsoft заявляет, что DocumentDB также обеспечивает высокую производительность и масштабируемость.
Если это так - зачем кому-то использовать хранилище таблиц поверх DocumentDB? Похоже, DocumentDB предоставляет те же функции, что и таблицы, но с дополнительными возможностями, такими как возможность индексировать что угодно.
Я буду рад, если кто-нибудь сможет провести сравнение между DocumentDB и Table Storage, выделив минусы и плюсы каждого из них.