Как я должен использовать Azure Blob Containers? - PullRequest
2 голосов
/ 18 февраля 2020

Мой текущий подход заключается в том, что у меня есть несколько контейнеров:

  • raw (фактические необработанные файлы или экспорты, разделенные на папки, такие как servicenow-case, servicenow-users, playvox -valuation, et c.)
  • подготовка (слегка преобразованные необработанные данные)
  • аналитика (это каталоги файлов Parquet, которые объединяют и разбивают файлы)
  • визуализация (мы используем стороннюю организацию) инструмент, который синхронизируется с Azure Blob, но в настоящее время только CSV-файлы. Это почти точно так же, как контейнер аналитики)

Однако, возможно, имеет смысл создать больше контейнеров и используйте их, как если бы я использовал схему базы данных. Например, один контейнер для данных ServiceNow, другой для данных LogMeIn, другой для нашей системы телефонии и т. Д. c.

Есть ли какой-либо предпочтительный подход?

1 Ответ

2 голосов
/ 20 февраля 2020

Исходя из вашего описания, кажется, вы запутались в использовании небольшого количества контейнеров для хранения большого количества больших двоичных объектов или в создании большого количества контейнеров для хранения небольшого количества больших двоичных объектов. Если все, о чем вы думаете - это параллельность и масштабируемость, вы можете быть уверены, просто спроектировав подходящую вам структуру хранения. Поскольку разбиение в Azure хранилище BLOB-объектов выполняется на уровне BLOB-объектов, а не контейнера.

Каждый из этих двух подходов имеет свои преимущества и недостатки.

Для небольшого количества контейнеров это может сэкономить на стоимости создания контейнеров (операция создания контейнеров требует от вас оплаты). Но в то же время, когда вы пытаетесь перечислить капли в контейнере, объекты в нем будут перечислены. Если у вас все еще есть подмножество внутри, вам все равно нужно продолжать получать, в этом случае производительность ниже, чем у Lots of Container Solution. И в то же время установленная вами граница безопасности будет применяться ко всем BLOB-объектам в этом контейнере. Это не обязательно то, что вам нужно.

Для большого количества структурированных контейнеров большее количество контейнеров может устанавливать больше границ безопасности (настраиваемые разрешения доступа, сигнатуры SAS контроля доступа). Также легко перечислять большие двоичные объекты, больше не нужно больше грязных подмножеств. Но, опять же, его недостаток в том, что он будет больше потреблять при создании контейнеров (в крайних случаях это увеличит много затрат. В общем, это не имеет значения. Веб-сайт, который рассчитывает затраты: https://azure.microsoft.com/en-us/pricing/calculator/?cdn=disable).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...