Цель / проблема
, так как в течение 3 недель мы пытаемся найти наилучшее из возможных высокопроизводительных решений в Azure для загрузки 10 миллионов записей (может быть даже больше!) В стадии подготовкиобласти, выполняйте различные преобразования на основе поэтапных записей и, наконец, физически сохраняйте обновления в магазине.
Чтобы достичь этого, мы провели много исследований и попробовали разные подходы, чтобы получить результаты в приличном количестве.время (максимум 1 минута), но мы полностью застряли!Каждая секунда, которую мы можем сэкономить, является огромным преимуществом для нашего клиента!
Примечание. У нас огромный бюджет для решения этой проблемы, поэтому фактор стоимости можно игнорировать.
Пример вводасхема
+------+--------+----------+
| Id | Year | Amount |
+------+--------+----------+
| 1 | 1900 | 1000 |
| 2 | 1900 | 2000 |
| 3 | 1901 | 4000 |
| 4 | 1902 | 8000 |
| ... | ... | ... |
| 1M | 9999 | 1000 |
+------+--------+----------+
Преобразование
Процесс преобразования разбивается на отдельные этапы.Каждый шаг должен временно сохранять свои результаты, пока мы не сохраним данные в физическом хранилище.Должна быть возможность изменить порядок шагов в другом порядке или просто пропустить шаг, чтобы создать какой-то рабочий процесс.
A step может быть одним из следующих:
- Удвоение
Amount
- Субъект 1k от
Amount
- Крышка
Amount
максимум до 5k - Крышка
Amount
до минимума ноль - Ограничьте сумму
Year
до максимума 100k
В Azure существует так много возможных решений и возможностей, что действительно трудноЯ знаю, какой путь лучше выбрать, поэтому нам нужна ваша помощь.
Какие хранилища данных мы уже рассмотрели
- База данных SQL Azure
- Azure CosmosDB
Какие сервисы мы уже рассмотрели
- Фабрика данных Azure
- Функции Azure с самореализованной архитектурой Fanout / Fanin (с точки зрения очередей ServiceBus и Redis Cache)
- Прочные функции
- Azure Databricks
Вопрос
Есть ли кто-нибудь, кто мог решить подобную проблему и мог бы дать нам несколько советов или рекомендаций по архитектуре?Мы были бы очень благодарны.
Edit # 1: добавлено описание процесса преобразования