2016-05-30 4 views
0

Мы планируем использовать хранилище данных Azure для сохранения данных журнала обработки для последующего анализа. Наши системы генерируют примерно 2000 событий в минуту, и каждое «событие» является json-документом. Рассматривая цены на хранилище blob, огромное количество операций записи стоило бы нам денег, если мы возьмем каждое событие и просто напишем его на blob.Можно ли написать несколько блоков в одном запросе?

Мой вопрос: возможно ли создать несколько блоков в одной операции записи, или я должен планировать создавать капли, содержащие несколько элементов данных события (например, один кадр для данных за каждую минуту)?

ответ

0

Возможно, но это не очень хорошая практика, требуется много времени для объединения файлов, поэтому мы пытаемся отделить действие загрузки от операции сустава объекта, передав идентификатор объекта и обновив имя doc [image] в другой контроллер Также он сохраняет функциональность загрузки. Наибольшее желание

0

Невозможно создать несколько блоков в одной операции записи.

Одним из возможных решений является создание блобов, содержащих несколько элементов данных событий, как вы планировали (что сложно реализовать и на мой взгляд); другое решение состоит в том, чтобы хранить данные событий в таблице хранения Azure, а не Blob, и использовать EntityGroupTransaction для записи объектов таблицы в одной партии (которая объявляется как одна транзакция).

Обратите внимание, что все элементы таблицы в одной партии должны иметь один и тот же ключ раздела, который следует учитывать при проектировании вашей таблицы (см. Azure Storage Table Design Guide для получения дополнительной информации). Если некоторые из ваших событий имеют большой размер данных, который превышает ограничение по размеру таблицы хранения Azure (1 МБ на сущность, 4 МБ за пакет), вы можете сохранить данные этих событий в Blob и сохранить ссылки blob в таблице хранения Azure.

Смежные вопросы