Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описаны критерии сравнения для использования при оценке хранилища данных. Цель состоит в том, чтобы определить, какие типы хранилища данных могут соответствовать требованиям вашего решения.
Общие рекомендации
При выборе следует учитывать следующие рекомендации.
Функциональные требования
- Формат данных: какой тип данных планируется хранить? Распространенные типы включают транзакционные данные, объекты JSON, телеметрию, индексы поиска или неструктурированные файлы.
- Размер данных: насколько большими являются сущности, которые необходимо хранить? Должны ли эти сущности поддерживаться как один документ или могут ли они быть разделены по нескольким документам, таблицам и коллекциям?
- Масштабирование и структура. Какова общая емкость хранилища? Предполагается ли секционирование данных?
- Связи данных: должны ли ваши данные поддерживать связи "один ко многим" или "многие ко многим"? Являются ли отношения важной частью данных? Придется ли объединить данные внутри одного и того же набора данных или из внешних наборов данных?
- Модель согласованности. Насколько важно, чтобы обновления, внесенные в один узел, отображались в других узлах перед дальнейшими изменениями? Можно ли принять итоговую согласованность? Требуются ли гарантии ACID для транзакций?
- Гибкость схемы: какие схемы будут применяться к данным? Будете ли вы использовать фиксированную схему, схему при записи или схему при чтении?
- Параллелизм. Какой механизм параллелизма вы хотите использовать при обновлении и синхронизации данных? Будет ли приложение выполнять множество обновлений, которые могут потенциально конфликтуть? В этом случае может потребоваться блокировка записей и пессимистичное управление параллелизмом. Или можете ли вы поддерживать оптимистические механизмы контроля параллелизма? Если да, достаточно простого элемента управления параллелизмом на основе меток времени или требуется добавленная функциональность элемента управления параллелизмом с несколькими версиями?
- Перемещение данных. Потребуется ли решение выполнять задачи ETL для перемещения данных в другие хранилища или хранилища данных?
- Жизненный цикл данных: запись один раз, чтение много раз? Можно ли переместить его в прохладное или холодное хранилище?
- Другие поддерживаемые функции: требуются ли другие специальные функции, такие как проверка схемы, агрегирование, индексирование, полнотекстовый поиск, MapReduce или другие возможности запросов?
Нефункциональные требования
- Производительность и масштабируемость. Каковы требования к производительности данных? У вас есть конкретные требования к скоростям приема данных и скоростям обработки данных? Каково допустимое время отклика для запроса и агрегирования данных после загрузки? Насколько большой объем хранилища данных потребуется для увеличения масштаба? Является ли ваша рабочая нагрузка ориентирована больше на чтение или на запись?
- Надежность. Какое общее соглашение об уровне обслуживания требуется для поддержки? Какой уровень отказоустойчивости необходим для потребителей данных? Какие возможности резервного копирования и восстановления требуются?
- Репликация. Необходимо ли распределять данные между несколькими репликами или регионами? Какие возможности репликации данных требуются?
- Ограничения. Будут ли ограничения определенного хранилища данных поддерживать ваши требования к масштабу, количеству подключений и пропускной способности?
Управление и затраты
- Управляемая служба. Если это возможно, используйте управляемую службу данных, если не требуется определенных возможностей, которые можно найти только в инфраструктуре как услуга (IaaS) размещенного хранилища данных.
- Доступность региона: для управляемых служб служба доступна во всех регионах Azure? Нужно ли размещать решение в определенных регионах Azure?
- Переносимость: необходимо ли перенести данные в локальные, внешние центры обработки данных или другие облачные среды размещения?
- Лицензирование: у вас есть предпочтение между проприетарной и лицензией СКПО? Существуют ли другие внешние ограничения на то, какой тип лицензии вы можете использовать?
- Общая стоимость: какова общая стоимость использования службы в решении? Сколько экземпляров потребуется запустить для поддержки требований к доступности и пропускной способности? Рассмотрим затраты на операции в этом расчете. Одной из причин, по которым следует предпочесть управляемые службы, является снижение операционных затрат.
- Эффективность затрат: можно ли секционировать данные для более эффективного хранения данных? Например, можно переместить большие объекты из дорогой реляционной базы данных в хранилище объектов?
Безопасность
- Безопасность: какой тип шифрования требуется? Требуется ли шифрование неактивных данных? Какой механизм проверки подлинности вы хотите использовать для подключения к данным?
- Аудит: какой журнал аудита необходимо создать?
- Требования к сети. Необходимо ли ограничить или иным образом управлять доступом к данным из других сетевых ресурсов? Должны ли данные быть доступны только из среды Azure? Должны ли данные быть доступны из определенных IP-адресов или подсетей? Требуется ли доступ к приложениям или службам, размещенным локально или в других внешних центрах обработки данных?
DevOps
- Набор навыков: существуют ли языки программирования, операционные системы или другие технологии, которые ваша команда использует? Есть ли другие, с которыми будет трудно работать ваша команда?
- Клиенты: есть ли хорошая поддержка клиентов для ваших языков разработки?
Дальнейшие действия
- Решения и службы облачного хранилища Azure
- Просмотр параметров хранилища
- Общие сведения о службе хранилища Azure