Эффективность производительности для озера данных
В этой статье рассматриваются принципы архитектуры
схема архитектуры Lakehouse для повышения производительности в Databricks.
Принципы эффективности производительности
Использовать бессерверные архитектуры
Бессерверные архитектуры не требуют от клиентов эксплуатации и обслуживания вычислительной инфраструктуры в облаке. Это устраняет операционные расходы на управление облачной инфраструктурой и снижает затраты на транзакции, так как управляемые службы работают в масштабе облака. Они также обеспечивают немедленную доступность, встроенную безопасность и требуют минимальной конфигурации или администрирования.
Проектирование рабочих нагрузок для повышения производительности
Для повторяющихся рабочих нагрузок, таких как инженерные потоки данных, производительность никогда не должна быть вторичной мыслью. Данные должны быть следующими:
- Эффективное чтение данных из памяти объекта.
- Эффективно преобразовано.
- Эффективная публикация для потребления.
Кроме того, большинство шаблонов конвейеров или потребления используют цепочку систем. Чтобы достичь максимально возможной производительности, необходимо учитывать всю цепочку и выбирать её, исходя из лучших показателей.
Запустите тестирование производительности в рамках разработки
Каждая рабочая нагрузка разработки должна проходить непрерывное тестирование производительности. Тесты гарантируют, что любые изменения в базе кода не негативно влияют на производительность рабочей нагрузки. Установите регулярное расписание выполнения тестов. Запустите тест как часть запланированного события или как часть конвейера непрерывной сборки интеграции.
Создайте базовые показатели производительности и определите текущую эффективность рабочих нагрузок и поддержку инфраструктуры. Измерение производительности по базовым показателям может обеспечить стратегии улучшения и определить, соответствует ли приложение бизнес-целям.
Определите узкие места, которые могут повлиять на производительность. Эти узкие места могут быть вызваны ошибками кода или неправильной настройкой службы. Как правило, узкие места становятся хуже по мере увеличения нагрузки.
Мониторинг производительности
Убедитесь, что ресурсы и службы остаются доступными и что производительность соответствует требованиям пользователей или рабочей нагрузки. Мониторинг позволяет выявлять узкие места или недостаточно ресурсов, оптимизировать конфигурации и обнаруживать ошибки конвейера или рабочей нагрузки.
Далее: рекомендации по повышению эффективности производительности
См. лучшие практики для повышения эффективности производительности.