Вчера ночером (© Маззи) поэкспериментировал с BYOD в Azure SQL
Вводная:
- "своя" таблица (размер записи 1KB)
- 1M записей (2.8 GB allocated)
- "своя" "плоская" data entity без добавленных datasources и виртуальных полей
- экспорт из D365FO в DM (Full push only)
Таблица ниже - сводная:
- primary_max_log_rate и primary_group_max_io - лимиты на log writes (bytes/seс) и IOPS из sys.dm_user_db_resource_governance
- время полного экспорта 1М записей (2.8GB), как его рапортует data management
- рассчитанная пропускная способность (MB/sec, делим 2.8GB на время экспорта)
Выводы:
- Basic tiers, естественно, в контексте BYOD существуют просто для галочки (чтоб было). Результаты даже сохранять не стал, так как несерьезно
- Standard tier (тестировал S2) - нельзя сказать что не работает, но страсть какой медленный (2MB/s на запись, почему - см. таблицу). Ну а что мы хотели за эти деньги, с другой стороны
- Premium tier (тестировал P1, P6 и P15) работает без нареканий (P6 быстрее чем S2 где-то раз в 20), но ограничения есть и не все проблемы можно решить тупо перейдя на более высокий (дорогой) уровень. Так, P6 и P15 (P15 дороже навскидку раза в 4) при записи в один поток упираются в один и тот же потолок по Log IO (т.е. быстрее уже не будет даже в теории), а P6 уже со всеми накладными расходами (D365, data management, трафик и пр.) выдал около 90% (40.1 МБ/c) от теоретических максимальных 44 МБ/c. "Пацан сказал - пацан сделал" (с)
Как по мне, так даже начальные premium tier позволяют не напрягаясь выгрузить инкрементом все данные которые типичный D365FO клиент генерит за день за вполне приемлемые время и деньги. Data lakes могу рассматривать как альтернативный вариант (дешевле/моднее), но "быстрее" - зачем? Чтобы выгружать весь GeneralJournalAccountEntry каждые 15 минут? Ну, можно конечно
По поводу того, тянуть сырые данные из BYOD куда-то дальше, или крутить отчеты прямо из него - вариантов масса,
primary_group_max_io на средних и старших premium tier много чего позволяет. Лично мне репортить прямо из BYOD не очень нравится
P.S. Из забавного - покопавшись в
sys.dm_user_db_resource_governance на sandboх-е (T2 и выше), можно узнать разное про лимиты на своем инстансе, а также узнать кто еще сидит на нашем spartan-е (на моем тестовом инстансе было еще порядка 50 других D365FO сред, можно даже попытаться по имени БД угадать клиента

)