Использование архитектуры данных самообслуживания для обмена данными между группами разработчиков
27 февраля 2022 г.Автор: Адит Мадан, Жасмин Ван и Бин Фан, Alluxio
В этой статье подчеркивается синергия между двумя широко распространенными проектами с открытым исходным кодом, Alluxio и Presto, и демонстрируется, как они вместе предоставить архитектуру данных самообслуживания в облаках.
Что делает архитектуру самообслуживаемой?
Условие 1. Развитие платформы данных не требует изменений
Все платформы данных со временем развиваются, включая добавление нового хранилища данных, вычислительной машины или новой команды, которой необходим доступ к общим данным. В любом случае платформа данных является самообслуживаемой, если она не требует изменений для адаптации к эволюции.
Условие 2. Изоляция между командами
Бизнес-единицы не наступают друг на друга с платформой самообслуживания. Когда создается новая команда, доступ к данным одной команды не должен влиять на существующее использование общей инфраструктуры данных.
Сочетание этих двух факторов обеспечивает гибкость, которая часто важнее, чем стоимость физической инфраструктуры.
Рекомендации по платформе данных
Ниже мы представляем некоторые соображения по разработке платформы самообслуживания и архитектурные шаблоны для простых решений.
Замечание 1. Доступ к данным открыт
- Между вычислительными платформами
- Существует большое количество специализированных вычислительных движков. Каждый движок лучше подходит для конкретной задачи, а значит, есть необходимость в обмене данными между движками. Например, ETL в пакетной обработке, за которой следует Presto для интерактивных запросов.
- Между разными командами
- Например, команда отвечает за сбор операционных данных, которые затем используются несколькими другими бизнес-подразделениями.
- Между центрами обработки данных в разных регионах и облачными провайдерами
- Это обеспечивает гибкость выбора наиболее оптимального сервиса в разных средах.
Решение для общих данных заключается в наличии слоя абстракции для гетерогенных вычислений. Alluxio обеспечивает такую абстракцию в облаках для беспрепятственного обмена данными между Presto и другими вычислительными системами независимо от хранилища данных.
Соображение 2. Данные имеют домены владения, и их обработка проста
- Хотя репликация обеспечивает изоляцию, управление усложняется, поскольку владелец данных применяет строгие правила использования данных.
- Копии создают избыточность, которая подвержена ошибкам и требует больших ресурсов.
Может показаться очевидным, что решение состоит в том, чтобы не делать копии данных, но как насчет производительности, когда мы не перемещаем данные? Для этого требуется единый уровень абстракции, который отвечает за управление, производительность и перемещение данных между доменами владения.
Архитектура ниже показывает, что Presto использует слой Alluxio для доступа к данным независимо от местоположения.
Приведенный выше дизайн можно разбить на несколько простых случаев.
- Все в одном облаке или центре обработки данных
- Совместное использование несколькими центрами обработки данных или гибридным облаком.
Во всех этих случаях отделение ПОТРЕБИТЕЛЯ от ПРОИЗВОДИТЕЛЯ данных обеспечивается уровнем абстракции, который обеспечивает нечто большее, чем простой кэш. Расширенные возможности предварительной загрузки и записи гарантируют SLA даже при отделении данных от вычислений.
Заключение:
Благодаря архитектуре самообслуживания данных в облаках мы создаем решение, которое выдерживает испытание временем по мере развития платформы данных. Узнайте больше из технического описания Обзор Presto с Alluxio — эволюция архитектуры для интерактивных запросов и узнайте, как такие компании, как Facebook, TikTok, Electronic Arts, Walmart, Tencent, Comcast и т. д., повышают уровень своей текущей платформы Presto, используя Alluxio.
- Впервые опубликовано [здесь] (https://www.alluxio.io/blog/self-serve-data-architecture-with-presto-and-alluxio-across-clouds/)*
Оригинал