Рекомендации по разработке таблиц
Разработка таблиц для использования со службой таблиц хранилища Azure сильно отличается от инструкций для реляционной базы данных. В этой статье описываются рекомендации по разработке эффективного для чтения и записи решения службы таблиц.
Разработка эффективного для чтения решения для службы таблиц
- Разрабатывайте решения с учетом выполнения запросов в приложениях с большим количеством операций чтения.При проектировании таблиц сначала необходимо сосредоточиться на запросах (особенно на чувствительных к задержкам), которые будут выполняться, а затем уделить внимание вариантам обновления сущностей. Это позволит создать эффективное и высокопроизводительное решение.
- Укажите partitionKey и RowKey в запросах. Запросы точек, такие как эти, являются наиболее эффективными запросами службы таблиц.
- Рассмотрите возможность хранения дубликатов сущностей.Хранилище таблиц является недорогим в использовании, поэтому в целях создания более эффективных запросов рекомендуется сохранять одни и те же сущности несколько раз (с разными ключами).
- Рассмотрите возможность денормализации данныхХранилище таблиц не требует больших затрат, поэтому рассмотрите возможность денормализации данных. Например, храните сущности сводки, чтобы запросы к объединенным данным обращались только к одной сущности.
- Используйте значения составного ключа. Вам доступны только ключи PartitionKey и RowKey. Например, значения составного ключа можно использовать для включения альтернативных путей доступа с ключами к сущностям.
- Используйте проекции в запросах. С помощью запросов, выбирающих только необходимые поля, можно сократить объем данных, передаваемых по сети.
Разработка эффективного для записи решения для службы таблиц
- Не создавайте разделы с высокой нагрузкой Выбирайте ключи, которые позволяют распределять запросы по нескольким разделам в любой момент времени.
- Избегайте пиковых нагрузок по трафику Обеспечьте выравнивание трафика в течение разумного периода времени и избегайте пиковых нагрузок по трафику.
- Для каждого типа сущности не требуется создавать отдельную таблицу. Чтобы выполнять атомарные транзакции с типами сущностей, эти несколько типов сущностей можно хранить в одном разделе одной таблицы.
- Рассмотрите требуемую максимальную пропускную способность. Необходимо иметь в виду целевые показатели масштабируемости для службы таблиц и обеспечить их соблюдение.
При чтении данного руководства вы увидите примеры, которые демонстрируют практическую реализацию всех этих принципов.