A Fun & Absurd Introduction to Vector Databases - Alexander Chatzizacharias - GOTO 2024 (Рубрика #ML)
Интересный доклад про векторные базы данных для хранения embeddings, которые активно применяются в современном мире в AI приложениях:) Классно, что тут мало сложных слов и много понятных и забавных примеров для объяснения этой нетривиальной темы. Основные тезисы в докладе такие
- Все начинается с определения вектора, который является математической конструкцией, в которой определена длина и направление
- Дальше говорится о том, что векторы используются повсюду, но для ML важными вехами были
-- Word2vec - 2013 год - модели, предназначенные для получения векторных представлений слов на естественном языке (не учитывается контекст при векторизации)
-- GloVe (Global Vectors) - 2014 год - model for distributed word representation (не учитывается контекст при векторизации)
-- BERT (Bidirectional Encoder Representations from Transformers) - 2018 год - Model the learned by self-supervised learning to represent text as a sequence of vectors (учитывается контекст при векторизации)
-- CLIP (Contrastive Language-Image Pre-Training) is a neural network trained on a variety of (image, text) pairs (учитывается контекст при векторизации)
- Дальше автор переходит к обсуждению того, а что такое векторная база данных, для чего она нужна и как она работает
-- Это не general база данных - в нее не стоит сувать все подряд
-- В ней хранятся и индексируются векторы с большими размерностями
-- Данные забираются из базы с использованием Nearest Neighbor Search (NNS)
- Векторная база данных из коробки позволяет делать семантический поиск по данным, часто такие базы данных используются в качестве системы хранения для AI систем
- Индексирование в векторных базах данных очень интересно
-- Есть точные способы для поиска соседей: linear search, k-nearest neighbors, space partitioning, ...
-- Есть приблизительные способы: inverted file with flat compression (IVFFlat), locality-sensitive hashing (LSH), approximate nearest neighbors oh yeah (ANNOY), hierarchical navigable small world (HNSW), ...
-- Все эти способы используют определенные метрики расстояния/близости: euclidean distance/similarity, cosine distance/similarity, hamming distance, manhatten distance, dot product, ..
-- Вычисление дистанций и индексирование происходит в одном и том же векторном пространстве
- Сейчас очень популярна тема создания отдельных векторных баз, а также создание расширений внутри существующих (pg, redis, elastic)
- У некоторых баз данных есть встроенная функциональность, что позволяет автоматически векторизовать данные
- У большинства баз есть python клиент, javascrip клиент или REST API
У выступающего отличные демки, где он показывает как можно использовать векторные базы данных. Для этого он используют игровые визуализации на Unity, код на Kotlin и векторную базу Weaviate, которая open-source, модульная, может сама векторизировать данные, а также есть java клиент и документация. В демо используется косинусное расстояние и HNSW (hierarchical navigable small world).
Демки показывают следующие сценарии
- Векторизация названий вооружений и дальше их семантический поиск, как искал когда-то Нео в Матрице
- Векторизации заклинаний из Dungeon & Dragons и дальше их семантический поиск
- Векторизация изображений покемонов и поиск по ним
- Векторизация музыки и дальше поиск по ней
В итоге, это очень прикольный пример доклада, который рассказывает базу про одну из горячих тем, показывает демо и как бы приглашает слушаетелей самим поиграть с этой технологией.
#Software #Architecture #DistributedSystems #SystemDesign #Database
Интересный доклад про векторные базы данных для хранения embeddings, которые активно применяются в современном мире в AI приложениях:) Классно, что тут мало сложных слов и много понятных и забавных примеров для объяснения этой нетривиальной темы. Основные тезисы в докладе такие
- Все начинается с определения вектора, который является математической конструкцией, в которой определена длина и направление
- Дальше говорится о том, что векторы используются повсюду, но для ML важными вехами были
-- Word2vec - 2013 год - модели, предназначенные для получения векторных представлений слов на естественном языке (не учитывается контекст при векторизации)
-- GloVe (Global Vectors) - 2014 год - model for distributed word representation (не учитывается контекст при векторизации)
-- BERT (Bidirectional Encoder Representations from Transformers) - 2018 год - Model the learned by self-supervised learning to represent text as a sequence of vectors (учитывается контекст при векторизации)
-- CLIP (Contrastive Language-Image Pre-Training) is a neural network trained on a variety of (image, text) pairs (учитывается контекст при векторизации)
- Дальше автор переходит к обсуждению того, а что такое векторная база данных, для чего она нужна и как она работает
-- Это не general база данных - в нее не стоит сувать все подряд
-- В ней хранятся и индексируются векторы с большими размерностями
-- Данные забираются из базы с использованием Nearest Neighbor Search (NNS)
- Векторная база данных из коробки позволяет делать семантический поиск по данным, часто такие базы данных используются в качестве системы хранения для AI систем
- Индексирование в векторных базах данных очень интересно
-- Есть точные способы для поиска соседей: linear search, k-nearest neighbors, space partitioning, ...
-- Есть приблизительные способы: inverted file with flat compression (IVFFlat), locality-sensitive hashing (LSH), approximate nearest neighbors oh yeah (ANNOY), hierarchical navigable small world (HNSW), ...
-- Все эти способы используют определенные метрики расстояния/близости: euclidean distance/similarity, cosine distance/similarity, hamming distance, manhatten distance, dot product, ..
-- Вычисление дистанций и индексирование происходит в одном и том же векторном пространстве
- Сейчас очень популярна тема создания отдельных векторных баз, а также создание расширений внутри существующих (pg, redis, elastic)
- У некоторых баз данных есть встроенная функциональность, что позволяет автоматически векторизовать данные
- У большинства баз есть python клиент, javascrip клиент или REST API
У выступающего отличные демки, где он показывает как можно использовать векторные базы данных. Для этого он используют игровые визуализации на Unity, код на Kotlin и векторную базу Weaviate, которая open-source, модульная, может сама векторизировать данные, а также есть java клиент и документация. В демо используется косинусное расстояние и HNSW (hierarchical navigable small world).
Демки показывают следующие сценарии
- Векторизация названий вооружений и дальше их семантический поиск, как искал когда-то Нео в Матрице
- Векторизации заклинаний из Dungeon & Dragons и дальше их семантический поиск
- Векторизация изображений покемонов и поиск по ним
- Векторизация музыки и дальше поиск по ней
В итоге, это очень прикольный пример доклада, который рассказывает базу про одну из горячих тем, показывает демо и как бы приглашает слушаетелей самим поиграть с этой технологией.
#Software #Architecture #DistributedSystems #SystemDesign #Database
YouTube
A Fun & Absurd Introduction to Vector Databases • Alexander Chatzizacharias • GOTO 2024
This presentation was recorded at GOTO Amsterdam 2024. #GOTOcon #GOTOams
https://gotoams.nl
Alexander Chatzizacharias - Software Engineer at JDriven
RESOURCES
https://twitter.com/alex90_ch
https://www.linkedin.com/in/alexander-chatzizacharias
ABSTRACT…
https://gotoams.nl
Alexander Chatzizacharias - Software Engineer at JDriven
RESOURCES
https://twitter.com/alex90_ch
https://www.linkedin.com/in/alexander-chatzizacharias
ABSTRACT…
👍8🔥4❤3
DuckDB: Crunching Data Anywhere, From Laptops to Servers • Gabor Szarnyas • GOTO 2024 (Рубрика #Architecture)
Интересный доклад про аналитическую реляционную базу данных DuckDB, которую можно запускать на своем ноутбуке и успешно обрабатывать объемы где-то до 1 Tb сильно эффективнее, чем на кластере Apache Spark. DuckDB имеет полную поддержку SQL и может читать/писать такие форматы, как CSV, Parquet и JSON. Он построен в соответствии с современной архитектурой, которая позволяет выполнять сложные запросы параллельно и выгружать на диск рабочие нагрузки, превышающие объем памяти.
В этом докладе Габор, технический писатель из DuckDb, рассказывает про ключевые составляющие DuckDB и демонстрирует, как DuckDB может обрабатывать сотни ГБ данных на ноутбуке или терабайты данных на одном сервере. Основные моменты следующие
1) Демо работы с CSV файлом на 15 Gb для анализа информации о задержках прибытия поездов - в демке видно, что все работает очень быстро. В продолжении демки Габор показывает, что можно увеличить количество данных в 40 раз и дальше после 15 минут загрузки данных те же самые запросы будут уже занимать десятки секунд, но это все равно быстрее, чем грузить данные в облако и дальше выполнять их там. Потом Габор показывает как DuckDB поддерживает стандартные SQL функции вида rank over, pivot, unpivot
2) Архитектура DuckDB выглядит как single-file database:) Условно, вы взаимодействуете с ней внутри вашего приложения и отдельного сервера как такового нет. Здесь она похожа на SQLite, который похожим образом работает для OLTP нагрузок, а DuckDB предназначен для аналитических нагрузок
3) Дальше автор переходит к обсуждению хранения и обработке данных и вспоминает про строчное и колоночное хранение (row-oriented vs column-oriented)
- Транзакционные системы используют строчное хранение, а системы на основе столбцов — столбцовое.
- Столбцовое хранение позволяет эффективно сжимать данные и удалять ненужные столбцы.
- Выполнение по столбцам удобно для аналитики, но может привести к нехватке памяти.
И дальше он рассказывает про векторизацию и кеш процессора, которая позволяет обрабатывать данные векторами, что экономит память. Векторы выбираются такого размера, чтобы помещаться в кэш процессора. Вообще, векторизация кода усложняет перенос между архитектурами, но современные компиляторы автоматически векторизуют код. И в DuckDB используются zonemaps для оптимизации индексации, а также DuckDB не имеет внешних зависимостей, что делает его портируемым на разные архитектуры.
4) DuckDB поддерживает множество форматов и протоколов, включая CSV, Spark, JSON, Delta и Iceberg. Есть поддержка протоколов HTTPS, AWS S3 и Azure Blob. Существует возможность подключения к транзакционным базам данных и интеграция с Pandas и NumPy.
5) У DuckDB есть интеграция с Pandas и NumPy что позволяет читать данные без создания копий. DuckDB работает параллельно, что ускоряет чтение данных по сравнению с самим Pandas
6) DuckDB в июне выпустил обновление и достиг 19 тысяч звезд на GitHub и 30 тысяч подписчиков в LinkedIn и Twitter. Недавно вышла версия Snow Duck с акцентом на стабильность и обратную совместимость.
7) У DuckDB есть множество расширений, которые основаны на механизме для добавления новых функций, типов данных и операторов. Примеры расширений: HTTPFS, JSON, Parquet
😍 DuckDB можно использовать для сокращения расходов на облачные хранилища данных за счет выполнения части вычислений локально. Автор показал TPC-H эксперимент с обработкой Parquet файлов через DuckDB и Apache Spark. Если файл небольшой, то затраты на координацию в Spark убиывают всю производительность
9) У DuckDB есть ограничения - она не поддерживает параллельные запросы на запись, а также работает на одной ноде
10) DuckDB финансируется за счет прибыли и консультирует крупные компании, фонд DuckDB обладает правами на код, а MotherDuck сооздает облачную версию DuckDB
#Database #Architecure #Software #Data #SystemDesign
Интересный доклад про аналитическую реляционную базу данных DuckDB, которую можно запускать на своем ноутбуке и успешно обрабатывать объемы где-то до 1 Tb сильно эффективнее, чем на кластере Apache Spark. DuckDB имеет полную поддержку SQL и может читать/писать такие форматы, как CSV, Parquet и JSON. Он построен в соответствии с современной архитектурой, которая позволяет выполнять сложные запросы параллельно и выгружать на диск рабочие нагрузки, превышающие объем памяти.
В этом докладе Габор, технический писатель из DuckDb, рассказывает про ключевые составляющие DuckDB и демонстрирует, как DuckDB может обрабатывать сотни ГБ данных на ноутбуке или терабайты данных на одном сервере. Основные моменты следующие
1) Демо работы с CSV файлом на 15 Gb для анализа информации о задержках прибытия поездов - в демке видно, что все работает очень быстро. В продолжении демки Габор показывает, что можно увеличить количество данных в 40 раз и дальше после 15 минут загрузки данных те же самые запросы будут уже занимать десятки секунд, но это все равно быстрее, чем грузить данные в облако и дальше выполнять их там. Потом Габор показывает как DuckDB поддерживает стандартные SQL функции вида rank over, pivot, unpivot
2) Архитектура DuckDB выглядит как single-file database:) Условно, вы взаимодействуете с ней внутри вашего приложения и отдельного сервера как такового нет. Здесь она похожа на SQLite, который похожим образом работает для OLTP нагрузок, а DuckDB предназначен для аналитических нагрузок
3) Дальше автор переходит к обсуждению хранения и обработке данных и вспоминает про строчное и колоночное хранение (row-oriented vs column-oriented)
- Транзакционные системы используют строчное хранение, а системы на основе столбцов — столбцовое.
- Столбцовое хранение позволяет эффективно сжимать данные и удалять ненужные столбцы.
- Выполнение по столбцам удобно для аналитики, но может привести к нехватке памяти.
И дальше он рассказывает про векторизацию и кеш процессора, которая позволяет обрабатывать данные векторами, что экономит память. Векторы выбираются такого размера, чтобы помещаться в кэш процессора. Вообще, векторизация кода усложняет перенос между архитектурами, но современные компиляторы автоматически векторизуют код. И в DuckDB используются zonemaps для оптимизации индексации, а также DuckDB не имеет внешних зависимостей, что делает его портируемым на разные архитектуры.
4) DuckDB поддерживает множество форматов и протоколов, включая CSV, Spark, JSON, Delta и Iceberg. Есть поддержка протоколов HTTPS, AWS S3 и Azure Blob. Существует возможность подключения к транзакционным базам данных и интеграция с Pandas и NumPy.
5) У DuckDB есть интеграция с Pandas и NumPy что позволяет читать данные без создания копий. DuckDB работает параллельно, что ускоряет чтение данных по сравнению с самим Pandas
6) DuckDB в июне выпустил обновление и достиг 19 тысяч звезд на GitHub и 30 тысяч подписчиков в LinkedIn и Twitter. Недавно вышла версия Snow Duck с акцентом на стабильность и обратную совместимость.
7) У DuckDB есть множество расширений, которые основаны на механизме для добавления новых функций, типов данных и операторов. Примеры расширений: HTTPFS, JSON, Parquet
😍 DuckDB можно использовать для сокращения расходов на облачные хранилища данных за счет выполнения части вычислений локально. Автор показал TPC-H эксперимент с обработкой Parquet файлов через DuckDB и Apache Spark. Если файл небольшой, то затраты на координацию в Spark убиывают всю производительность
9) У DuckDB есть ограничения - она не поддерживает параллельные запросы на запись, а также работает на одной ноде
10) DuckDB финансируется за счет прибыли и консультирует крупные компании, фонд DuckDB обладает правами на код, а MotherDuck сооздает облачную версию DuckDB
#Database #Architecure #Software #Data #SystemDesign
👍19❤8🔥6😍1
Code of Leadership #22 - Интервью с Дмитрием Аношиным про data engineering (Рубрика #Data)
В этом выпуске ко мне пришел в гости крутой гость, Дмитрий Аношин. Дима является экспертом в data engineering, ведет канал @rockyourdata, также Дима почти 10 лет работал западных Bigtech компаниях. Кстати, выпуск доступен в виде подкаста и в Яндекс Музыке.
Мы обсудили следующие темы:
- Как Дима входил в IT порядка 15 лет назад
- Как он развивал свои навыки как дата инженер
- Как он уехал в Канаду и адаптировался там
- Как развивалась карьера Димы в Amazon, Microsoft и что он вынес из этого опыта
- Как Дима стал создателем обучающих проектов datalearn, surfalytics, а также как ему удалось написать целую гору книг
- Как находить мотивацию для роста и развития
Если говорить подробнее про Дмитрия, то он уже больше 15 лет занимается аналитикой и инжинирингом данных, а 10 последних лет проработал в Северной Америке. Из них 5 лет в Амазоне, где работал в нескольких командах, включая Alexa AI (в Бостоне) и Customer Behaviour Analytics (в Сиэтле). Поучаствовал в действительно инновационных проектах, где драйвером являются данные. Видел и Big Data и Machine Learning в действии в масштабе крупнейшей компании мира. После Амазона работал 4 года в Microsoft Xbox и Microsoft Azure Data&AI. Активно принимал участие в развитии Microsoft продуктов для аналитики - Synapse, Fabric, Azure Databricks.
Теперь, Дмитрий помогает создавать инновационные аналитические решения, дата команды и модернизировать устаревшие решения через свою компанию rockyourdata.cloud и глобально готовит инженеров и аналитиков через свое сообщество Surfalytics.com (на английском), до этого несколько лет развивал проект Datalearn.ru, на котором делился фундаментальными знаниями и помогал бесплатно всем желающим войти в ИТ, знания там все еще актуальны.
Дмитрий написал несколько книг по аналитике и преподает несколько лет Облачные Вычисления (Cloud Computing) в партнерстве с Microsoft в Университете Виктории.
Еще из интересных проектов:
- Создал онлайн выставку писем CEO про увольнения в крупных компаниях - https://www.layoffmemos.com/
- Совместно с Московским Зоопарком и Вконтакте организовал группу по наблюдению за популяцией пеликанов и экомониторинга с использованием AI - https://www.scifly.ai/
Из последнего, Дмитрий создает главный Российский портал Дата Инженеръ посвященный карьере дата инженера, куда он планирует добавить road map для вакансий Инженера Данных, Аналитика и BI разработчика и ссылки на лучшие бесплатные ресурсы: книги, тренинги, курсы, видео, телеграмм каналы, и многое друго, что поможет понять, кто такой иженер данных и как таким стать, преимущественно на русском языке.
#Database #Architecure #Software #Data #SystemDesign #Management
В этом выпуске ко мне пришел в гости крутой гость, Дмитрий Аношин. Дима является экспертом в data engineering, ведет канал @rockyourdata, также Дима почти 10 лет работал западных Bigtech компаниях. Кстати, выпуск доступен в виде подкаста и в Яндекс Музыке.
Мы обсудили следующие темы:
- Как Дима входил в IT порядка 15 лет назад
- Как он развивал свои навыки как дата инженер
- Как он уехал в Канаду и адаптировался там
- Как развивалась карьера Димы в Amazon, Microsoft и что он вынес из этого опыта
- Как Дима стал создателем обучающих проектов datalearn, surfalytics, а также как ему удалось написать целую гору книг
- Как находить мотивацию для роста и развития
Если говорить подробнее про Дмитрия, то он уже больше 15 лет занимается аналитикой и инжинирингом данных, а 10 последних лет проработал в Северной Америке. Из них 5 лет в Амазоне, где работал в нескольких командах, включая Alexa AI (в Бостоне) и Customer Behaviour Analytics (в Сиэтле). Поучаствовал в действительно инновационных проектах, где драйвером являются данные. Видел и Big Data и Machine Learning в действии в масштабе крупнейшей компании мира. После Амазона работал 4 года в Microsoft Xbox и Microsoft Azure Data&AI. Активно принимал участие в развитии Microsoft продуктов для аналитики - Synapse, Fabric, Azure Databricks.
Теперь, Дмитрий помогает создавать инновационные аналитические решения, дата команды и модернизировать устаревшие решения через свою компанию rockyourdata.cloud и глобально готовит инженеров и аналитиков через свое сообщество Surfalytics.com (на английском), до этого несколько лет развивал проект Datalearn.ru, на котором делился фундаментальными знаниями и помогал бесплатно всем желающим войти в ИТ, знания там все еще актуальны.
Дмитрий написал несколько книг по аналитике и преподает несколько лет Облачные Вычисления (Cloud Computing) в партнерстве с Microsoft в Университете Виктории.
Еще из интересных проектов:
- Создал онлайн выставку писем CEO про увольнения в крупных компаниях - https://www.layoffmemos.com/
- Совместно с Московским Зоопарком и Вконтакте организовал группу по наблюдению за популяцией пеликанов и экомониторинга с использованием AI - https://www.scifly.ai/
Из последнего, Дмитрий создает главный Российский портал Дата Инженеръ посвященный карьере дата инженера, куда он планирует добавить road map для вакансий Инженера Данных, Аналитика и BI разработчика и ссылки на лучшие бесплатные ресурсы: книги, тренинги, курсы, видео, телеграмм каналы, и многое друго, что поможет понять, кто такой иженер данных и как таким стать, преимущественно на русском языке.
#Database #Architecure #Software #Data #SystemDesign #Management
🔥20👍7👎3❤2😁1
Database Internals Meetup #5 (офлайн + онлайн): 5 докладов на конференции ISPRAS Open
Последние пару дней у меня в канале посвящены базам данных, поэтому позволю себе порекомендовать посетить пятый митап российского сообщества разработчиков СУБД и распределенных систем, на котором будут доклады от основателей и ведущих разработчиков YDB, Picodata, Tarantool, openGauss и CedrusData. Мероприятие пройдет 11 декабря офлайн и оно будет частью конференции ISPRAS Open в Москве. Регистрация бесплатна и доступна здесь.
Программа митапа будет плотной и насыщенной:
- 13:00 - 14:00 - Эволюция архитектуры СУБД на примере YDB, Андрей Фомичев, Яндекс, основатель и руководитель YDB
- 14:00 - 15:00 - Blue/green deploy для хранимых процедур в кластерной СУБД на примере Picodata, Константин Осипов, Picodata, основатель Picodata
- 15:00 - 16:00 - Оптимизация подсказками: ускоряем запросы, не изменяя планировщик. Сергей Зинченко, OpenGauss, Инженер
- 16:30 - 17:30 - Columnar In-Memory в Tarantool: зачем нужно строить еще одну колоночную СУБД, да еще и в памяти? Николай Карлов, VK, Head of Innovations, tarantool.io
- 17:30 - 18:30 - Переписывание запросов на основе материализованных представлений в аналитической системе CedrusData. Владимир Озеров, Александр Блажков, генеральный директор и разработчик CedrusData
#Database #Architecture #Management #DistributedSystems #Software #Engineering
Последние пару дней у меня в канале посвящены базам данных, поэтому позволю себе порекомендовать посетить пятый митап российского сообщества разработчиков СУБД и распределенных систем, на котором будут доклады от основателей и ведущих разработчиков YDB, Picodata, Tarantool, openGauss и CedrusData. Мероприятие пройдет 11 декабря офлайн и оно будет частью конференции ISPRAS Open в Москве. Регистрация бесплатна и доступна здесь.
Программа митапа будет плотной и насыщенной:
- 13:00 - 14:00 - Эволюция архитектуры СУБД на примере YDB, Андрей Фомичев, Яндекс, основатель и руководитель YDB
- 14:00 - 15:00 - Blue/green deploy для хранимых процедур в кластерной СУБД на примере Picodata, Константин Осипов, Picodata, основатель Picodata
- 15:00 - 16:00 - Оптимизация подсказками: ускоряем запросы, не изменяя планировщик. Сергей Зинченко, OpenGauss, Инженер
- 16:30 - 17:30 - Columnar In-Memory в Tarantool: зачем нужно строить еще одну колоночную СУБД, да еще и в памяти? Николай Карлов, VK, Head of Innovations, tarantool.io
- 17:30 - 18:30 - Переписывание запросов на основе материализованных представлений в аналитической системе CedrusData. Владимир Озеров, Александр Блажков, генеральный директор и разработчик CedrusData
#Database #Architecture #Management #DistributedSystems #Software #Engineering
databaseinternals.timepad.ru
Database Internals Meetup #5 (офлайн + онлайн): 5 докладов на конференции ISPRAS Open / События на TimePad.ru
Пятый митап российского сообщества разработчиков СУБД и распределенных систем. Доклады от основателей и ведущих разработчиков YDB, Picodata, Tarantool, openGauss и CedrusData
👍6❤3🔥2
Code of Leadership #24 - Interview with Konstantin Evteev (Рубрика #Management)
В этом эпизоде подкаста я беру интервью у Константина Евтеева. Костя - директор департамента ИТ сервисов, поддержки и инфраструктуры X5 Digital. В настоящий момент отвечает за инфраструктуру и развитие платформ для разработчиков. Прошел путь развития стартапа сервисов онлайн-доставки до одного из лидеров рынка. Раньше занимался развитием платформы баз данных и продуктовой разработкой в Авито. Активный участник PostgreSQL и других сообществ.
Мы обсудили следующие темы
- Как Костя начинал свою карьеру в Туле, работая в НИИ
- Как он перебрался в Авито и прошел собеседования
- Как в Авито менялась его роль по мере переноса логики из базы в микросервисы, а потом при разъезде на продуктовые и платформенные команды
- Как Костя участвовал в развитии Postgres и ездил на конфу по Postgres в Канаду с докладом
- Как ушел из Авито в X5 Digital (тогда X5 Food tech) за новым вызовом
- Как X5 Digital кратно рос, а Костя с командой справлялся с этим
- Какие советы для инженеров есть, чтобы расти как профессионально
Дополнительные ссылки от Кости
- Качество vs Скорость: технические процессы в растущей команде
- Запуск платформенных команд
- Recovery use cases for Logical Replication in PostgreSQL 10
- Standby in production: scaling application in the second largest classified site in the world
- Pg Saga (Хабр, Youtube)
#Architecture #Software #Management #Leadership #Processes #Architecture #Database
В этом эпизоде подкаста я беру интервью у Константина Евтеева. Костя - директор департамента ИТ сервисов, поддержки и инфраструктуры X5 Digital. В настоящий момент отвечает за инфраструктуру и развитие платформ для разработчиков. Прошел путь развития стартапа сервисов онлайн-доставки до одного из лидеров рынка. Раньше занимался развитием платформы баз данных и продуктовой разработкой в Авито. Активный участник PostgreSQL и других сообществ.
Мы обсудили следующие темы
- Как Костя начинал свою карьеру в Туле, работая в НИИ
- Как он перебрался в Авито и прошел собеседования
- Как в Авито менялась его роль по мере переноса логики из базы в микросервисы, а потом при разъезде на продуктовые и платформенные команды
- Как Костя участвовал в развитии Postgres и ездил на конфу по Postgres в Канаду с докладом
- Как ушел из Авито в X5 Digital (тогда X5 Food tech) за новым вызовом
- Как X5 Digital кратно рос, а Костя с командой справлялся с этим
- Какие советы для инженеров есть, чтобы расти как профессионально
Дополнительные ссылки от Кости
- Качество vs Скорость: технические процессы в растущей команде
- Запуск платформенных команд
- Recovery use cases for Logical Replication in PostgreSQL 10
- Standby in production: scaling application in the second largest classified site in the world
- Pg Saga (Хабр, Youtube)
#Architecture #Software #Management #Leadership #Processes #Architecture #Database
YouTube
Code of Leadership #24 - Interview with Konstantin Evteev
В этом эпизоде подкаста я беру интервью у Константина Евтеева. Костя - директор департамента ИТ сервисов, поддержки и инфраструктуры X5 Digital. В настоящий момент отвечает за инфраструктуру и развитие платформ для разработчиков. Прошел путь развития стартапа…
🔥11❤4👍4
Database Internals Meetup #5 (офлайн + онлайн): 5 докладов на конференции ISPRAS Open
Добрался на пятый митап российского сообщества разработчиков СУБД и распределенных систем, на котором будут доклады от основателей и ведущих разработчиков YDB, Picodata, Tarantool, openGauss и CedrusData. Мероприятие является частью конференции ISPRAS Open в Москве.
Программа митапа плотная и насыщенная:
- Эволюция архитектуры СУБД на примере YDB, Андрей Фомичев, Яндекс, основатель и руководитель YDB - отличный доклад получился (Андрей и его ключевые мысли из доклада на первом снимке)
- Blue/green deploy для хранимых процедур в кластерной СУБД на примере Picodata, Константин Осипов, Picodata, основатель Picodata - доклад тоже получается интересным (Костя и слайд про in-memory на втором снимке)
Дальше будет еще пара докладов и панельная дискуссия про планировщики запросов
- Оптимизация подсказками: ускоряем запросы, не изменяя планировщик. Сергей Зинченко, OpenGauss, Инженер
- Переписывание запросов на основе материализованных представлений в аналитической системе CedrusData. Владимир Озеров, Александр Блажков, генеральный директор и разработчик CedrusData
P.S.
Есть онлайн-трансляция, а обсуждения можно вести в чатике https://t.iss.one/databaseinternalschat
#Database #Architecture #Management #DistributedSystems #Software #Engineering
Добрался на пятый митап российского сообщества разработчиков СУБД и распределенных систем, на котором будут доклады от основателей и ведущих разработчиков YDB, Picodata, Tarantool, openGauss и CedrusData. Мероприятие является частью конференции ISPRAS Open в Москве.
Программа митапа плотная и насыщенная:
- Эволюция архитектуры СУБД на примере YDB, Андрей Фомичев, Яндекс, основатель и руководитель YDB - отличный доклад получился (Андрей и его ключевые мысли из доклада на первом снимке)
- Blue/green deploy для хранимых процедур в кластерной СУБД на примере Picodata, Константин Осипов, Picodata, основатель Picodata - доклад тоже получается интересным (Костя и слайд про in-memory на втором снимке)
Дальше будет еще пара докладов и панельная дискуссия про планировщики запросов
- Оптимизация подсказками: ускоряем запросы, не изменяя планировщик. Сергей Зинченко, OpenGauss, Инженер
- Переписывание запросов на основе материализованных представлений в аналитической системе CedrusData. Владимир Озеров, Александр Блажков, генеральный директор и разработчик CedrusData
P.S.
Есть онлайн-трансляция, а обсуждения можно вести в чатике https://t.iss.one/databaseinternalschat
#Database #Architecture #Management #DistributedSystems #Software #Engineering
👍7❤3🔥3
Big Data is Dead (Рубрика #Data)
Этот пост Jordan Tigani вышел почти два года назад в блоге компании MotherDuck, которая является материнской для DuckDB. Сам Jordan был одним из инженеров, что стояли у основ Google BigQuery, а потом он отвечал за ее продуктовое развитие, а значит знает о чем говорит. Ну а компания MotherDuck пытается сделать облачную версию DuckDB, интересную аналитическую in-process базу данных, про которую рассказывали в докладе "DuckDB: Crunching Data Anywhere, From Laptops to Servers • Gabor Szarnyas • GOTO 2024 ", который я уже разбирал. Но если возвращаться к самой статье, то основной посыл Джордана в том, что эпоха «больших данных» как доминирующей концепции завершилась. Суть в том, что большинство организаций на самом деле не работают с огромными объемами данных, и акцент должен сместиться с размера данных на получение практических инсайтов. Ключевыми идеями статьи являются
1) Рассмотрение хайпа больших данных через призму реальности: нарратив о том, что компании перегружены огромными объемами данных, не оправдался для большинства организаций. Хотя объемы данных растут, развитие аппаратного обеспечения и технологий баз данных опережает эти темпы, делая традиционные системы достаточными для многих задач.
2) У большинства компаний умеренный объем данных: анализ клиентских данных Google BigQuery показывает, что большинство организаций управляют относительно небольшими наборами данных, часто менее 1 терабайта. Даже крупные предприятия редко генерируют или обрабатывают действительно огромные массивы данных, а типичные рабочие нагрузки затрагивают лишь небольшую часть хранимой информации.
3) Разделение compute и storage: современные облачные архитектуры разделяют хранение и вычислительные ресурсы, позволяя масштабировать их независимо. Это привело к росту объема хранилищ при тех же вычислительных потребностях, так как аналитика чаще сосредоточена на актуальных или агрегированных данных, а не на исторических архивах.
4) Экономические и практические ограничения: обработка больших объемов данных дорогостоящая и зачастую избыточная. Такие технологии, как колоночное хранилище, отсечение разделов и сжатие данных, сокращают объем обрабатываемой информации, что соответствует экономическим стимулам минимизировать затраты.
5) Данные как источник риска: хранение большого количества неиспользуемых данных может создавать риски, включая проблемы с соблюдением нормативных требований (например, GDPR), юридическую ответственность и операционные сложности из-за «старения» старых наборов данных.
6) Спад популярности систем для больших данных: традиционные монолитные базы данных (например, MySQL и Postgres) демонстрируют рост популярности, тогда как масштабируемые системы вроде NoSQL стагнируют. Количество рабочих нагрузок, требующих распределенных систем, сократилось благодаря значительному увеличению возможностей одиночных машин.
Напоследок Джордан предлагает компаниям оценивать свои реальные потребности в работе с данными вместо того, чтобы следовать маркетинговым нарративам о «больших данных». Большинство организаций могут извлечь выгоду из инструментов для управления данными меньшего масштаба вместо инвестиций в системы для гипотетически огромных массивов информации. Кстати, одним из таких инструментов может быть и DuckDB (это читается между строк).
P.S.
В продолжении темы можно изучить
1) Статью "What Goes Around Comes Around... And Around..." Майкла Стоунбрейкера, создателя Postgres, и Эндрю Павло, исследователя баз данных, про развитие СУБД за последние 20 лет. У меня есть краткий обзор в трех частях: 1, 2 и 3
2) Выступление от создателя DuckDB "A Short Summary of the Last Decades of Data Management • Hannes Mühleisen • GOTO 2024" и мое краткое саммари
2) Подкаст "Research Insights #6 с Колей Головым про дата платформы"
3) Подкаст "Code of leadership #22 с Димой Аношиным про data engineering"
#Database #Architecure #Software #Data #SystemDesign #Engineering
Этот пост Jordan Tigani вышел почти два года назад в блоге компании MotherDuck, которая является материнской для DuckDB. Сам Jordan был одним из инженеров, что стояли у основ Google BigQuery, а потом он отвечал за ее продуктовое развитие, а значит знает о чем говорит. Ну а компания MotherDuck пытается сделать облачную версию DuckDB, интересную аналитическую in-process базу данных, про которую рассказывали в докладе "DuckDB: Crunching Data Anywhere, From Laptops to Servers • Gabor Szarnyas • GOTO 2024 ", который я уже разбирал. Но если возвращаться к самой статье, то основной посыл Джордана в том, что эпоха «больших данных» как доминирующей концепции завершилась. Суть в том, что большинство организаций на самом деле не работают с огромными объемами данных, и акцент должен сместиться с размера данных на получение практических инсайтов. Ключевыми идеями статьи являются
1) Рассмотрение хайпа больших данных через призму реальности: нарратив о том, что компании перегружены огромными объемами данных, не оправдался для большинства организаций. Хотя объемы данных растут, развитие аппаратного обеспечения и технологий баз данных опережает эти темпы, делая традиционные системы достаточными для многих задач.
2) У большинства компаний умеренный объем данных: анализ клиентских данных Google BigQuery показывает, что большинство организаций управляют относительно небольшими наборами данных, часто менее 1 терабайта. Даже крупные предприятия редко генерируют или обрабатывают действительно огромные массивы данных, а типичные рабочие нагрузки затрагивают лишь небольшую часть хранимой информации.
3) Разделение compute и storage: современные облачные архитектуры разделяют хранение и вычислительные ресурсы, позволяя масштабировать их независимо. Это привело к росту объема хранилищ при тех же вычислительных потребностях, так как аналитика чаще сосредоточена на актуальных или агрегированных данных, а не на исторических архивах.
4) Экономические и практические ограничения: обработка больших объемов данных дорогостоящая и зачастую избыточная. Такие технологии, как колоночное хранилище, отсечение разделов и сжатие данных, сокращают объем обрабатываемой информации, что соответствует экономическим стимулам минимизировать затраты.
5) Данные как источник риска: хранение большого количества неиспользуемых данных может создавать риски, включая проблемы с соблюдением нормативных требований (например, GDPR), юридическую ответственность и операционные сложности из-за «старения» старых наборов данных.
6) Спад популярности систем для больших данных: традиционные монолитные базы данных (например, MySQL и Postgres) демонстрируют рост популярности, тогда как масштабируемые системы вроде NoSQL стагнируют. Количество рабочих нагрузок, требующих распределенных систем, сократилось благодаря значительному увеличению возможностей одиночных машин.
Напоследок Джордан предлагает компаниям оценивать свои реальные потребности в работе с данными вместо того, чтобы следовать маркетинговым нарративам о «больших данных». Большинство организаций могут извлечь выгоду из инструментов для управления данными меньшего масштаба вместо инвестиций в системы для гипотетически огромных массивов информации. Кстати, одним из таких инструментов может быть и DuckDB (это читается между строк).
P.S.
В продолжении темы можно изучить
1) Статью "What Goes Around Comes Around... And Around..." Майкла Стоунбрейкера, создателя Postgres, и Эндрю Павло, исследователя баз данных, про развитие СУБД за последние 20 лет. У меня есть краткий обзор в трех частях: 1, 2 и 3
2) Выступление от создателя DuckDB "A Short Summary of the Last Decades of Data Management • Hannes Mühleisen • GOTO 2024" и мое краткое саммари
2) Подкаст "Research Insights #6 с Колей Головым про дата платформы"
3) Подкаст "Code of leadership #22 с Димой Аношиным про data engineering"
#Database #Architecure #Software #Data #SystemDesign #Engineering
MotherDuck
Big Data is Dead - MotherDuck Blog
Big data is dead. Long live easy data.
👍11🔥7❤3
Database Internals Meetup #5: пять докладов на секции СУБД конференции ISPRAS Open (Рубрика #Architecture)
Две недели назад я был на конференции ИСП РАН, а точнее на митапе Database Internals #5, который проходил в рамках этой конференции. Мне очень понравились выступления и я рекомендую их посмотреть в записи, если уж есть такая возможность. А я расскажу про мысли Андрея Фомичева, которые он рассказывал по итогам разработки YDB на протяжении 10 лет и которые выглядели как keynote этого митапа.
В процессе рассказа Андрей не только формулировал эти идеи из практики YDB, но и упоминал другие вещи, такие как статью "What Goes Around Comes Around... And Around... " от Michael Stonebraker и Andrew Pavlo про развитие баз данных за последние 20 лет. Я рассказывал про нее в трех частях: 1, 2 и 3. Также в докладе были мысли созвучные статье "Big Data is Dead", о котором я уже тоже рассказывал или рассказ про расширение стандартных баз данных на новые сценарии, такие как векторные данные - про этот сценарий и тип данных можно подробнее почитать в моем обзоре доклада "A Fun & Absurd Introduction to Vector Databases".
В общем, митап был крутой - тянул на уровень полноценной конфы ... а так он же и был частью конфы от ИСП РАН.
#Data #Architecture #Software #DistributedSystems #Database
Две недели назад я был на конференции ИСП РАН, а точнее на митапе Database Internals #5, который проходил в рамках этой конференции. Мне очень понравились выступления и я рекомендую их посмотреть в записи, если уж есть такая возможность. А я расскажу про мысли Андрея Фомичева, которые он рассказывал по итогам разработки YDB на протяжении 10 лет и которые выглядели как keynote этого митапа.
1) Новая СУБД начинается с идеи
2) Необходимо срезать углы, чтобы проверить гипотезу и запуститься. Но по долгам придется платить
3) Иногда заложенная прочность и универсальность пригождаются
4) Новаторские идеи рано или поздно догоняют. И могут осложнить жизнь
5) Производительность - это всегда важно
6) Пользователи хотят all-in-one СУБД
7) СУБД - это не только технологии, но еще и команда, окружение и инвестиции
😍 Новая СУБД начинается с идеи, но идея должна быть амбициозной и на века
В процессе рассказа Андрей не только формулировал эти идеи из практики YDB, но и упоминал другие вещи, такие как статью "What Goes Around Comes Around... And Around... " от Michael Stonebraker и Andrew Pavlo про развитие баз данных за последние 20 лет. Я рассказывал про нее в трех частях: 1, 2 и 3. Также в докладе были мысли созвучные статье "Big Data is Dead", о котором я уже тоже рассказывал или рассказ про расширение стандартных баз данных на новые сценарии, такие как векторные данные - про этот сценарий и тип данных можно подробнее почитать в моем обзоре доклада "A Fun & Absurd Introduction to Vector Databases".
В общем, митап был крутой - тянул на уровень полноценной конфы ... а так он же и был частью конфы от ИСП РАН.
#Data #Architecture #Software #DistributedSystems #Database
VK Видео
Database Internals Meetup #5: пять докладов на секции СУБД конференции ISPRAS Open
Приглашаем вас на пятый митап сообщества Database Internals. В программе пять докладов от основателей и разработчиков YDB, Picodata, Tarantool, openGauss и CedrusData. Мероприятие пройдёт в формате секции "Системы Управления Базами Данных" на конференции…
❤7👍5🔥3
Data завтрак в T-Space 13 января (Рубрика #Data)
Мы в Т-Банке начнем новый год митапом про данные, который пройдете 13 января в формате завтрака. На мероприятии будет 2 доклада
1) Дмитрий Аношин, основатель консалтинговой компании Rock Your Data (Северная Америка), специализирующейся на облачной аналитике, представит обзор аналитических решений, инструментов и подходов к формированию команд. Вы узнаете о построении эффективных аналитических команд, преодолении сложностей и разработке архитектур аналитических систем. Дима ведет отличный канал "Инжиниринг Данных" (@rockyourdata), на который я подписан уже давно. Кстати, Дима привез мне в подарок бумажную версию книги Влада Хононова "Balancing Coupling in Software Design", так что к концу новогодних каникул можно ожидать ее обзор.
2) Валерий Поляков, CDO в Т-Банке, поделится опытом трансформации платформы данных в Т-Банке: от централизованных вендорских решений до сложной экосистемы open-source компонентов. С 2011 года он работает с данными в разных ролях: от построения отчетности и хранилищ данных до разработки аналитических продуктов. В Т-Банке Валерий работал с 2012 по 2019 год, а затем вновь присоединился к команде в 2022 году.
Этот митап будет полезен аналитикам, инженерам данных, разработчикам, которые смогут не просто послушать доклады, но и пообщаться за завтраком с экспертами и коллегами за чашечкой кофе. Кстати, во время митапа будет проводиться игра Data-бинго, что позволит получить подарки победителям:)
#Database #Datamesh #Data #Processes #Conference
Мы в Т-Банке начнем новый год митапом про данные, который пройдете 13 января в формате завтрака. На мероприятии будет 2 доклада
1) Дмитрий Аношин, основатель консалтинговой компании Rock Your Data (Северная Америка), специализирующейся на облачной аналитике, представит обзор аналитических решений, инструментов и подходов к формированию команд. Вы узнаете о построении эффективных аналитических команд, преодолении сложностей и разработке архитектур аналитических систем. Дима ведет отличный канал "Инжиниринг Данных" (@rockyourdata), на который я подписан уже давно. Кстати, Дима привез мне в подарок бумажную версию книги Влада Хононова "Balancing Coupling in Software Design", так что к концу новогодних каникул можно ожидать ее обзор.
2) Валерий Поляков, CDO в Т-Банке, поделится опытом трансформации платформы данных в Т-Банке: от централизованных вендорских решений до сложной экосистемы open-source компонентов. С 2011 года он работает с данными в разных ролях: от построения отчетности и хранилищ данных до разработки аналитических продуктов. В Т-Банке Валерий работал с 2012 по 2019 год, а затем вновь присоединился к команде в 2022 году.
Этот митап будет полезен аналитикам, инженерам данных, разработчикам, которые смогут не просто послушать доклады, но и пообщаться за завтраком с экспертами и коллегами за чашечкой кофе. Кстати, во время митапа будет проводиться игра Data-бинго, что позволит получить подарки победителям:)
#Database #Datamesh #Data #Processes #Conference
Т-Банк Митапы
Митап Data завтрак
Начните утро 13 января с Data завтрака: обсудим архитектуру аналитических решений, команды и инструменты.
❤9👍7🔥7🌚1🙊1
Postgres против MySQL: что решает выбор базы данных | Петр Зайцев (Рубрика #Engineering)
Посмотрел интересное двухчасовое интервью Петра Зайцева, создателя компании Percona. Такое ощущение, что вернулся в начало карьеры, когда особо еще не было облаков и все хвастались тем, как они свой Mysql готовят к высоким нагрузукам:) Ну а если серьезно, то Кирилл Мокевнин, автор подкаста, и Петр Зайцев за 2 часа успели обсудить кучу тем, среди которых
1. Эволюция и история развития баз данных и компаний
Ребята вспоминали истории Percona, MySQL, PostgreSQL, MariaDB, а также влияние крупных игроков (Oracle, Sun) на рынок и развитие экосистемы баз данных.
2. Бизнес-модели и монетизация open-source
Обсудили особенности бизнес-моделей Percona, MySQL, вопросы монетизации open-source-проектов, проблемы коммерциализации и поддержка клиентов.
3. Технические отличия и сравнение MySQL и PostgreSQL
Базово сравненили архитектуры, производительности, типов данных, масштабируемости, соответствия стандартам SQL, особенностей работы с большими данными и сложными запросами.
4. Влияние облачных технологий
Обсудили роль облаков (Amazon, Google Cloud, Яндекс.Облако), опыт миграций, плюсы и минусы облачных решений, вопросы доверия и безопасности, влияние санкций и переход на европейские облака.
5. Миграция между СУБД и связанные сложности
Привели примеры перехода с Oracle на PostgreSQL, сложности миграции крупных проектов, зависимость от типа приложения, риски и опыт успешных/неудачных миграций.
6. Рынок, конкуренция и экосистема баз данных
Описали рост рынка, появление новых игроков (Redis, MongoDB, InfluxDB), конкуренция между решениями, роль форков и коммерческих версий, а также поддержка множества СУБД для удовлетворения разных потребностей.
7. Роль и влияние крупных компаний и специалистов
Поговорили про влияние Oracle, Amazon, Google на рынок, формирование профессиональной элиты, обучение специалистов, создание монополий и альтернативных решений.
8. Технические аспекты и особенности работы с СУБД
Поговорили про движки баз данных, вспомнили MyISAM, а также InnoDB, а также как на этом поднялась Percona Server. Поговорили про особенности работы с транзакциями, блокировками, индексами, поддержка расширенных типов данных и языков программирования.
9. Проблемы безопасности, управления и надежности
Вспомнили примеры сбоев, хакерских атак, важность резервного копирования, меры по обеспечению безопасности и управления данными в облаке и on-premise.
10. Будущее рынка и тенденции развития
Обсудили темы разнообразия баз данных, появление специализированных решений (Vector Search, Redis), влияние разработчиков и облаков на выбор технологий, перспективы развития PostgreSQL и других СУБД.
В общем, я выпуск посмотрел с удовольствием:)
#Database #Engineering #Architecture #Management #Software #Data
Посмотрел интересное двухчасовое интервью Петра Зайцева, создателя компании Percona. Такое ощущение, что вернулся в начало карьеры, когда особо еще не было облаков и все хвастались тем, как они свой Mysql готовят к высоким нагрузукам:) Ну а если серьезно, то Кирилл Мокевнин, автор подкаста, и Петр Зайцев за 2 часа успели обсудить кучу тем, среди которых
1. Эволюция и история развития баз данных и компаний
Ребята вспоминали истории Percona, MySQL, PostgreSQL, MariaDB, а также влияние крупных игроков (Oracle, Sun) на рынок и развитие экосистемы баз данных.
2. Бизнес-модели и монетизация open-source
Обсудили особенности бизнес-моделей Percona, MySQL, вопросы монетизации open-source-проектов, проблемы коммерциализации и поддержка клиентов.
3. Технические отличия и сравнение MySQL и PostgreSQL
Базово сравненили архитектуры, производительности, типов данных, масштабируемости, соответствия стандартам SQL, особенностей работы с большими данными и сложными запросами.
4. Влияние облачных технологий
Обсудили роль облаков (Amazon, Google Cloud, Яндекс.Облако), опыт миграций, плюсы и минусы облачных решений, вопросы доверия и безопасности, влияние санкций и переход на европейские облака.
5. Миграция между СУБД и связанные сложности
Привели примеры перехода с Oracle на PostgreSQL, сложности миграции крупных проектов, зависимость от типа приложения, риски и опыт успешных/неудачных миграций.
6. Рынок, конкуренция и экосистема баз данных
Описали рост рынка, появление новых игроков (Redis, MongoDB, InfluxDB), конкуренция между решениями, роль форков и коммерческих версий, а также поддержка множества СУБД для удовлетворения разных потребностей.
7. Роль и влияние крупных компаний и специалистов
Поговорили про влияние Oracle, Amazon, Google на рынок, формирование профессиональной элиты, обучение специалистов, создание монополий и альтернативных решений.
8. Технические аспекты и особенности работы с СУБД
Поговорили про движки баз данных, вспомнили MyISAM, а также InnoDB, а также как на этом поднялась Percona Server. Поговорили про особенности работы с транзакциями, блокировками, индексами, поддержка расширенных типов данных и языков программирования.
9. Проблемы безопасности, управления и надежности
Вспомнили примеры сбоев, хакерских атак, важность резервного копирования, меры по обеспечению безопасности и управления данными в облаке и on-premise.
10. Будущее рынка и тенденции развития
Обсудили темы разнообразия баз данных, появление специализированных решений (Vector Search, Redis), влияние разработчиков и облаков на выбор технологий, перспективы развития PostgreSQL и других СУБД.
В общем, я выпуск посмотрел с удовольствием:)
#Database #Engineering #Architecture #Management #Software #Data
YouTube
Postgres против MySQL: что решает выбор базы данных | Петр Зайцев |#40
В этом выпуске мы поговорили с Петром Зайцевым из Percona, который раскрыл историю и эволюцию популярных баз данных: MySQL, Postgres, MariaDB и других решений. Обсудили, как MySQL оказалась в руках Oracle и к чему это привело, как возникли форки вроде MariaDB…
👍14❤4🔥4