Современный стек данных продолжает развиваться, но он по-прежнему стремится к масштабируемости, производительности, доступности данных, модульности и гибкости, пишет на портале The New Stack Бренна Буак, эксперт по базам данных и озерам данных компании MinIO.

Хотя точное определение современного стека данных может быть труднодостижимым, ясно одно: это не традиционный монолитный подход, который предпочитали гиганты прошлого. Современный стек данных — это динамичный ансамбль специализированных инструментов, каждый из которых обладает определенными преимуществами в работе с данными. Это модульная, меняющая форму экосистема, которая учитывает текучесть технологий и постоянно меняющиеся потребности бизнеса.

Несмотря на эту изменчивость, а может быть, и благодаря ей, современный стек данных обладает некоторыми определяющими характеристиками. Он является нативно-облачным, модульным, производительным, совместимым с RESTful API, имеет развязанные вычисления и хранение, а также является открытым. Давайте рассмотрим их более подробно:

  • Нативная облачность. Нативные облачные инструменты обеспечивают беспрецедентную масштабируемость, позволяя организациям легко обрабатывать и анализировать огромные массивы данных, сохраняя при этом высокую производительность в различных облачных средах. Будь то публичные или частные облака, современный стек данных совместим с мультиоблаками, что обеспечивает гибкость и позволяет избежать привязки к поставщику (вендорлок).
  • Модульность. Современный стек данных представляет собой набор специализированных инструментов, каждый из которых оптимизирован для решения конкретной задачи работы с данными. Модульность позволяет организациям создавать индивидуальную инфраструктуру данных, отвечающую их уникальным потребностям, что способствует гибкости и адаптивности в условиях быстро меняющегося ландшафта данных.
  • Производительность. В основе современного стека данных лежит производительность. Его компоненты рассчитаны на высокую производительность, что позволяет организациям эффективно обрабатывать и анализировать данные.
  • Совместимость с RESTful API обеспечивает бесперебойное и стандартизированное взаимодействие между компонентами стека, что способствует их совместимости и созданию микросервисов, разбивающих стек на управляемые компоненты. Примером может служить повсеместное распространение API S3 внутри стека.
  • Отделенные вычисления. Отделение вычислений от хранения данных является основополагающим архитектурным принципом современного стека данных. Такое разделение позволяет организациям независимо масштабировать свои вычислительные ресурсы и емкость хранилища, оптимизируя экономическую эффективность и производительность. Кроме того, это позволяет динамически распределять ресурсы, обеспечивая соответствие вычислительных мощностей конкретным рабочим нагрузкам.
  • Открытость. Современный стек данных поддерживает открытость: Open Source-решения и открытые форматы таблиц, устранение проприетарной разрозненности и вендорлока. Приверженность открытости способствует сотрудничеству, инновациям и доступности данных на широком спектре платформ и инструментов, усиливая адаптивность и инклюзивность стека.

Облик современного стека данных

Представьте себе современный стек данных в виде симфонического оркестра, в котором каждый инструмент играет свою партию, следуя за дирижером в лице Kubernetes, чтобы обеспечить гармоничную работу с данными. Хотя участники могут меняться, компоненты остаются неизменными: интеграция данных, хранение, трансформация, наблюдаемость данных, обнаружение данных, визуализация данных, аналитика данных, машинное обучение и искусственный интеллект. Давайте рассмотрим каждую из этих категорий.

Хранилище

Объектное хранение играет важнейшую роль в современном стеке данных. Это масштабируемое, производительное и гибкое решение для хранения постоянно растущих объемов данных. Оно повышает гибкость стека, поскольку лучшие в своем классе объектные СХД могут быть развернуты в различных инфраструктурах, что подчеркивает важность программно-определяемых систем хранения.

Хранение все чаще играет активную роль, легко интегрируясь с элементами остальной части стека и служа основой для архитектуры озер-хранилищ (lakehouse). Озера-хранилища, построенные с использованием MinIO и Iceberg, Hudi и Delta Lake, прекрасно иллюстрируют этот сценарий использования.

Интеграция данных

Ввод данных (ingest) — это мост, соединяющий разрозненные источники данных. Современные средства интеграции данных основаны на принципах гибкости и демократизации. Они не хранят данные в проприетарных «бункерах», а обеспечивают доступ к ним вне зависимости от места их хранения. Будь то публичное облако, частное облако, инфраструктура на «голом железе» или периферия, средства интеграции данных разрушают барьеры, которые раньше приводили к изоляции данных.

Одним из заметных игроков в этой области является Apache NiFi — Open Source-инструмент интеграции данных, позволяющий легко организовывать потоки данных. Он ориентирован на объектные хранилища, что обеспечивает беспрепятственное перемещение данных в различных средах. Airflow — еще один очевидный инструмент в этой области. Это Open Source-платформа, предназначенная для оркестровки, планирования и мониторинга сложных рабочих процессов с данными, упрощающая управление и автоматизацию задач, связанных с данными.

Старая модель интеграции данных, предполагающая фактическое перемещение данных, в значительной степени утратила свою актуальность благодаря концепции интеграции на месте. Эта смена парадигмы представляет собой не просто изменение способа управления данными, а фундаментальную трансформацию подхода к свободе, доступности и гибкости данных. Данные в современном стеке данных принадлежат вам, а не проприетарным системам. Субъектом, получающим выгоду, должны быть вы и ваша организация, а не транснациональная компания, продающая устаревшую систему управления реляционными базами данных.

Трансформация данных

Хотя возможно частичное пересечение приложений для трансформации и интеграции данных, важно отметить существование узкоспециализированных инструментов трансформации, таких как Apache Spark и DBT. Эти инструменты служат определенным целям, позволяя инженерам и аналитикам данных изменять и уточнять данные перед их использованием в последующих приложениях стека. Благодаря использованию объектного хранилища в качестве как источника, так и места назначения данных эти инструменты обеспечивают их неизменность, доступность и надежность на протяжении всего процесса трансформации.

Наблюдаемость данных

Обеспечение надежности и качества данных имеет первостепенное значение в современном стеке данных. Средства наблюдаемости данных выступают в роли бдительных стражей, предоставляя информацию о состоянии и поведении конвейеров данных. Эти инструменты не только отслеживают, но и выявляют аномалии, помогая поддерживать целостность данных.

Prometheus, популярный инструмент наблюдаемости, позволяет получить глубокое понимание инфраструктуры данных, обеспечивая необходимую наблюдаемость наряду с совместимостью с S3, которое является стандартом для современного стека данных. Grafana, которая часто ассоциируется с мониторингом инфраструктуры и приложений, также может быть расширена для мониторинга конвейеров данных.

Обнаружение данных

Такие инструменты, как Apache Atlas и Collibra, предоставляют средства для каталогизации и обнаружения информационных активов в организации. Интеграция с репозиториями объектного хранения обеспечивает возможность обнаружения и использования всех данных, независимо от их местоположения.

Визуализация данных

Средства визуализации данных превращают необработанные данные в значимые и действенные инсайты. Они позволяют пользователям создавать убедительные истории, выявлять закономерности и принимать решения на основе данных. Эти инструменты отличаются доступностью — они обеспечивают доступность данных для всех, а не только для специалистов в области науки о данных и аналитиков. Здесь мы снова видим широкое использование RESTful API для подключения к данным в стеке.

В этой категории лидируют такие инструменты, как Tableau, Power BI, Looker и Apache SuperSet, которые позволяют получить представление о данных, где бы они ни находились.

Аналитика данных

Объектное хранилище является основным хранилищем для аналитических баз данных, работающих в режиме оперативной аналитической обработки (OLAP). Этот перспективный подход, принятый такими гигантами аналитики, как Snowflake, SQL Server и Teradata, основывается на концепции таблиц с возможностью выполнения запросов (queryable tables), которая устраняет необходимость миграции данных и позволяет этим высокопроизводительным базам данных сосредоточить свои усилия на выполнении запросов, а не на хранении данных. Из этой тенденции следует следующий логический шаг: небольшие, легкие аналитические системы, такие как DuckDB, которые полностью отказались от хранения данных и полагаются только на процессы в оперативной памяти (in-memory) для дальнейшего ускорения аналитических нагрузок.

Нативно-облачные аналитические платформы, использующие преимущества объектных хранилищ в плане масштабируемости, производительности и экономичности, революционизируют способы извлечения предприятиями ценности из своих данных. Это не просто технологический сдвиг, это стратегический императив для организаций, стремящихся сохранить конкурентоспособность в современном мире, основанном на данных.

Машинное обучение и искусственный интеллект

МО и ИИ занимают важное место в современном стеке данных, обеспечивая возможность получения трансформирующих инсайтов и принятия преобразующих решений. Фреймворки MО, такие как TensorFlow и PyTorch, занимают здесь центральное место, демонстрируя свою способность к гипермасштабированию при интеграции с высокопроизводительными объектными хранилищами. Эта мощная синергия не только ускоряет этапы обучения и получения выводов моделей MО, но и повышает гибкость приложений, основанных на ИИ, позволяя организациям использовать потенциал своих данных для обнаружения аномалий, обработки естественного языка, реализации компьютерного зрения и многого другого. В эпоху инноваций, основанных на данных, МО и ИИ стали незаменимыми столпами, меняющими отрасли и открывающими новые возможности для компаний, желающих воспользоваться преимуществами интеллектуальной автоматизации и поддержки принятия решений на основе данных, опираясь на мощные объектные хранилища.

Заключение

Перечисленные претенденты на звание участников современного стека данных не являются исчерпывающими вариантами для архитектора предприятия. Многое осталось за кадром и многое еще предстоит изучить, но читателям стоит обратить внимание на представленные категории. Современный стек данных продолжает развиваться, внедряя новые инструменты и технологии. Однако неизменными остаются требования к масштабируемости, производительности, доступности данных, модульности и гибкости.