Одна MariaDB на OLTP и OLAP — как в учебнике нельзя, а в жизни так и живём
В учебниках всё красиво: операционка отдельно, аналитика отдельно, между ними — ETL и уважительная дистанция. В реальности у меня одна MariaDB, в которой лежат товары, заказы, клиенты — и к ней же прицеплены внутренняя аналитика и внешний OLAP-куб. Всё в одном инстансе, на одном буфере, в одном бэкап-окне.
Так вышло не потому, что кто-то так спроектировал. Так вышло потому, что бюджет, размер команды, история — и каждое отдельное решение в своё время выглядело разумно.
С чем живём:
— Индексы, которые спасают аналитику, тормозят записи. Любой новый индекс — это компромисс.
— Лок-контеншен, когда тяжёлый отчёт приходит в час пик.
— Бэкап-окно, которое с ростом данных всё уже и уже.
— Планы запросов, которые иногда удивляют — особенно когда нагрузки конкурируют за буфер.
Если бы дали свободу — тяжёлое чтение ушло бы на реплику, куб — в нормальное хранилище. Но честно: часть этого работает нормально и трогать её незачем. Большинство отчётов крутится ночью, схему команда знает наизусть.
Это не "правильная архитектура". Это та, с которой мы живём и знаем, где у неё болит. И, подозреваю, таких сетапов вокруг сильно больше, чем принято признавать.
Post #8
49
- 🔥 2
- 😭 1