Лазурное хранилище для многопользовательского приложения. Мы работаем над разработкой многопользовательской заявки на Azure, при которой на каждого арендатора требуется около 10 000 арендаторов и около 100 ГБ на 1 ТБ. Приложение должно поддерживать документы и бинарный контент вместе с метаданными для каждого арендатора отдельно. Мы думаем о хранении данных в блоке Azure Block Blob. Поскольку требование состоит в том, чтобы хранить данные отдельно для каждого арендатора, мы сталкивались со следующим подходом.
- Создайте отдельную учетную запись хранилища для каждого арендатора
- Это помогает поддерживать использование арендатора мудрым, что также помогает при выставлении счетов.
- Создайте отдельный контейнер в каждой учетной записи хранилища, чтобы отделить на основе категории
- Храните документ в блочном блочном хранилище вместе с метаданными.
У нас есть следующие запросы относительно нашего подхода:
- Хорошо ли хранить документы или двоичный контент в блочном блоке наряду с метаданными? Или есть лучший способ его достижения (возможно, используя SQL Azure для метаданных и blob для контента, или лучше)?
- Как запросить данные с некоторым условием фильтрации метаданных? то есть получить все blob, где metadat1 = value1 и metadata2 = value2
- Это хорошая идея создать отдельную учетную запись хранилища для каждого арендатора?
а. Если нет, то какова будет модель, через которую мы можем хранить конкретные данные арендатора в хранилище и приложении Azure, может эффективно их использовать? - Существует ли пропускная способность или любое другое ограничение на количество запросов на чтение/запись данных на хранилище Blob в контексте масштабируемости и высокой доступности?
- В соответствии с моделью оценки azure они загружают планку для хранения, то есть сначала 1 ТБ $0,095/ГБ, затем 49 ТБ $0,08/ГБ. Эти сборы зачисляются на одну учетную запись или на подписку?
а. Точно так же стоимость транзакции применима для каждой учетной записи или для каждой подписки?