Репост из: Инжиниринг Данных
Существует несколько терминов, которые, как говорят коллеги - confused.
Итак, есть база данных, и базы данных бывают SQL и NoSQL.
Мы обычно работаем с SQL. Пример, это Postgres, MySQL, sql server.
Такую базу данных можно использовать как хранилище данных или как источник данных для хранилища данных. Если это заточник, 99% это OLTP, а мы с помощью ETL/ELT или даже CDC, забираем данные в хранилище.
NoSQL, например MongoDb, это уже источник, обычно нам надо знать как мы можем забрать данные из неё.
Дальше непосредственно хранилище данных, что прежде всего означает SQL интерфейс, это либо тот же Postgres/sql server или кластер (аналитическая БД) как greenplum, redshift и тп.
Дальше - озеро данных. Это из мира big data, когда у нас есть файловое хранилище и отдельно compute, чтобы обрабатывать это данные. Интерфейс может быть любой. - SQL, Java, python и тп, зависит от абстракции.
Дальше у нас lake house, как понятно из названия это гибрид озёра и хранилища. Само по себе озеро обычно не обладает возможность UPDATE, DELETE и других операций, к которым мы привыкли, а вот lake house может! Примеры это delta lake, iceberg, hudi. Все работают со Spark. Самый популярный вендор это databricks.
Вот snowflake, по факту схож с понятием lake house, но для простоты он считается хранилищем данных (базой), хотя там базы то и нет.
Теперь хочу посмотреть на другую терминологию.
Сейчас часто можно видеть data platform. Это слово универсальное, ей можно обозвать любое решение для хранения и обработки данных.
Но в индустрии его трактуют по другому.
Вот пример, с которым я работаю. Есть 2 команды - традиционная DE и data platform команда.
Инженеры платформы собирают данные из систем источников с помощью Kafka cdc, складывают их в файловое хранилище (aws s3). Он отвечают за входящие данные, не используют SQL, по факту это software engineers.
Downstream команда, уже создаёт хранилище данных на Snowflake, забирая данные из S3, строя модели данных в snowflake, добавляют данные из sales force и других api через fivertran и готовят данные для tableau/looker, используя montecarlo, airflow, dbt, alation.
Раньше я думал, что de = data platform engineer. Это не так, я в этом убедился когда провалил собес в Epic на такую позицию, требования там другие.
Можете в комменты чего-нибудь интересное скинуть по теме.
Итак, есть база данных, и базы данных бывают SQL и NoSQL.
Мы обычно работаем с SQL. Пример, это Postgres, MySQL, sql server.
Такую базу данных можно использовать как хранилище данных или как источник данных для хранилища данных. Если это заточник, 99% это OLTP, а мы с помощью ETL/ELT или даже CDC, забираем данные в хранилище.
NoSQL, например MongoDb, это уже источник, обычно нам надо знать как мы можем забрать данные из неё.
Дальше непосредственно хранилище данных, что прежде всего означает SQL интерфейс, это либо тот же Postgres/sql server или кластер (аналитическая БД) как greenplum, redshift и тп.
Дальше - озеро данных. Это из мира big data, когда у нас есть файловое хранилище и отдельно compute, чтобы обрабатывать это данные. Интерфейс может быть любой. - SQL, Java, python и тп, зависит от абстракции.
Дальше у нас lake house, как понятно из названия это гибрид озёра и хранилища. Само по себе озеро обычно не обладает возможность UPDATE, DELETE и других операций, к которым мы привыкли, а вот lake house может! Примеры это delta lake, iceberg, hudi. Все работают со Spark. Самый популярный вендор это databricks.
Вот snowflake, по факту схож с понятием lake house, но для простоты он считается хранилищем данных (базой), хотя там базы то и нет.
Теперь хочу посмотреть на другую терминологию.
Сейчас часто можно видеть data platform. Это слово универсальное, ей можно обозвать любое решение для хранения и обработки данных.
Но в индустрии его трактуют по другому.
Вот пример, с которым я работаю. Есть 2 команды - традиционная DE и data platform команда.
Инженеры платформы собирают данные из систем источников с помощью Kafka cdc, складывают их в файловое хранилище (aws s3). Он отвечают за входящие данные, не используют SQL, по факту это software engineers.
Downstream команда, уже создаёт хранилище данных на Snowflake, забирая данные из S3, строя модели данных в snowflake, добавляют данные из sales force и других api через fivertran и готовят данные для tableau/looker, используя montecarlo, airflow, dbt, alation.
Раньше я думал, что de = data platform engineer. Это не так, я в этом убедился когда провалил собес в Epic на такую позицию, требования там другие.
Можете в комменты чего-нибудь интересное скинуть по теме.