Архитектор Данных – Telegram
Архитектор Данных
1.24K subscribers
177 photos
11 videos
2 files
136 links
Алексей, архитектор данных из ВК.

Большие данные и облака.

Для связи @alexbelozersky
Download Telegram
Дата архитектор - Помни!
🫡12😁5👌3
Forwarded from MyDB
🔥 Alibaba представила open-source интеграцию DuckDB — AP-движок для аналитических запросов прямо в MySQL

Крупнейший китайский облачный вендор Alibaba открыл исходный код глубокой интеграции аналитической СУБД DuckDB в AliSQL (форк MySQL). Это позволяет запускать аналитические запросы (OLAP) в тысячи раз быстрее, чем на InnoDB, с полным сохранением MySQL-синтаксиса.

Проект доступен полностью в open source — разработчики и компании могут использовать, модифицировать и внедрять эту технологию самостоятельно, без привязки к облачным сервисам.

🛠 Как это работает:

DuckDB встроен как плагинный storage-движок в архитектуру MySQL. Аналитические реплики синхронизируются через бинарный лог (binlog), что обеспечивает согласованность данных и отказоустойчивость. Под капотом реализованы оптимизации:
- Пакетное выполнение транзакций
- Поддержка DDL через INPLACE / INSTANT или COPY - механизмы
- Многопоточная конвертация таблиц

📊 Производительность:

На тестах TPC-H SF100 DuckDB показал впечатляющие результаты — общее время выполнения 22 запросов:
DuckDB: 15.31 сек (в 1648 раз быстрее!)
InnoDB: 25 234.31 сек

🌐 Исходный код и документация:

Решение полностью открыто и доступно в репозитории AliSQL. Сообщество может изучать, использовать и развивать эту интеграцию.

👉 Репозиторий и подробная документация

#OpenSource #AliSQL #DuckDB #MySQL #OLAP #Database #Analytics #Alibaba #GitHub
125🔥2
Целеполагания вопрос

На третьем курсе физтеха после многих семестров матана я добрался до ТФКП и решал примерно такое.

Теперь же второклассница Маша с помощью GPT 5.2 вполне может решить вот такой примерчик

sin(z) = 5 (в военное время синус может достигать пяти!)

Если больше не нужно, как ее папе, тратить 12 лет на обучение сложным техническим премудростям, то чем тогда полезным заняться Маше?
🤔7😁43
Сергей, спасибо за коммент!

Когда я в Вышке изучал трудовую экономику, узнал, что этот вопрос - одна из главных загадок мироздания. Как влияют уровни и годы обучения на доход, удовлетворенность жизнью, карьеру и так далее.

С одной стороны есть факт, что тот кто больше учится, зарабатывает больше. Даже несмотря на то, что у бросившего универ будет больше лет опыта, через лет 5 они сравниваются. То есть 5 лет учебы + 5 лет работы начинают обгонять 10 лет работы.

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

Есть еще такое хорошее объяснение как сигнальная теория. Если у человека на руках диплом хорошего ВУЗа, то это сигнал что он не тупой, и поэтому его стоит взять на работу. В стопке джунов без достижений у этого джуна достижение как раз-таки есть.

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

Подпись, печать, бланк с Госзнака.
13👍3😢2
School ties

Красивая английская идиома, которая обозначает полезные связи, полученные в школьном возрасте. На выпускной в крутых британских школах дарят галстуки с символикой школы. А слово ties это одновременно и «галстуки» и «связи»

Мне мои дипломы позволили легко перескочить один из самых сложных этапов - первые джунские позиции.

Моей первой работой была очень маленькая и бедная компания, в которой лидами тянули девушки из МГУ. Думаю, не в последнюю очередь повлияло то, что в массе откликов я как раз «сигналил». Был понятен и одной крови.

На втором месте просто первый был вопрос: «Лицо у тебя знакомое, ты с физтеха чтоли?» А физтех, он маленький, все мы ходим по одним коридорам, поэтому даже если кого-то и не знаешь лично, то в лицо вы друг другу примелькаетесь. Потом я написал за 20 секунд запрос к ораклу с двумя джойнами и оконной функцией - ох как меня дрючили девушки из МГУ! - и понял по лицам что я впереди примерно 95% кандидатов. Все, дальше я работу искал и находил уже на лида и далее.

Такие вот school ties в действии.

Учитесь, ребята. Если можете себе позволить - учитесь. Размен потенциальных полезных связей и сигналов на сиюминутные и небольшие деньги - очень невыгодная сделка.
9🤡5🤔4💯4
Архитектор Данных
Задачка для съевших собаку на Гринпламе. Реши если силен! В кластере гринплама 1 мастер, 1 стендбай-мастер и 24 сегмент-сервера. Я выключаю случайные 2 сервера. С какой вероятностью кластер упадет в отказ в обслуживании? Со звездочкой - выдергиваю 5 случайных…
Правильный ответ - задать встречный вопрос. Здесь ничего не сказано о режиме зеркалирования. Если grouped mirrors, ответ один. Если spread mirrors, то еще важно, сколько праймари сегментов на сегмент-сервер.

Дальше считаем по формуле Байеса, аккуратно складывая случаи выхода мастеров и сегментов.

Вопрос с подвохом - на понимание архитектуры ГП. Берите на собес на позиции, где она, архитектура, важна.
71👨‍💻1
Задачи разного уровня

Джун: Неси [куриные] яйца из холодильника к плите и постарайся не разбить, как в прошлый раз!

Миддл: Бери скоровороду, наливай масло, ставь на огонь, кидай туда яйца, жарь до готовности!

Сениор: Приготовь яичницу!

Тимлид: Приготовь вкусный и полезный ужин!

Архитектор: Спланируй кухню: где что лежит, сколько надо обрудования, какой персонал, какие требования по помещению, электричеству и т.д.

СТО: Организуй надежную массовую готовку и поставку еды.

СЕО: Открой сеть ресторанов и выведи их в прибыль.
1👍20🔥86🥴4
PgPro Day 2026

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

Уверен, мы будем слышать от них много интересных и прорывных в хорошем смысле идей в ближайшие годы.
97🔥3
Эти ребята пользуются популярностью у детей (6, 6 и 8).

ВК бы мультики про них снимать
7😁3👍1
Что не так с постом от OpenAI про PostgreSQL на 800 млн пользователей

Недавно вышла статья про 800 миллионов юзеров ChatGPT на одном постгресе. Помимо очевидного пиара размера ChatGPT и достоинств Azure очевиден мессадж “А слыхали, постгрес крут — миллиард юзеров держит”. И действительно, в статье есть интересное, но в целом это не только ода PostgreSQL 😉 Ниже — саммари и комментарии в критическом, провокацонном ключе! Nuff said, погнали.

🤩 1 один primary + ~50 read-replicas по миру. OpenAI держит один мастер (Azure PostgreSQL Flexible Server) и почти 50 реплик чтения в разных регионах, при этом заявляет миллионы QPS на read-heavy нагрузке от 800 млн пользователей.

🤩 Главный враг — каскады аварий. Сценарий: сбой выше → промах кэша → лавина чтения; или всплеск дорогих join’ов → умираем по CPU; или write-storm от релиза/маркетинга → деградация. Дальше таймауты и ретраи раскручивают “петлю смерти”. Тут мы понимаем, что львиная доля запросов оседает в кеше, что если б кеша не было - постгресу приходит кабзда, и собственно можно расходиться со всем заявлением о могуществе PostgreSQL.

🤩 Postgres “упирается” в MVCC на записи — write-heavy уводят в шардированные системы. MVCC причиной write amplification / bloat / сложностей autovacuum и постепенно мигрируют шардируемые write-heavy нагрузки в Azure Cosmos DB, а в текущий Postgres даже не разрешают добавлять новые таблицы (новые ворклоады по умолчанию — в шардированные хранилища). Тут мы понимаем, что где-то ещё есть какой-то шардированный сторадж, это космос, и грустнеем ещё больше.

🤩 Главный анти-паттерн: джойнус гигантус вульгарис, особенно из ORM. Приводят пример запроса с join 12 таблиц, пики которого приводили к серьёзным инцидентам. Рецепт: ломать сложные join’ы, часть логики переносить в приложение, ревьюить SQL. Тюнить аймауты вроде idle_in_transaction_session_timeout, чтобы “idle in transaction” не блокировали vacuum.

🤩 Интересные моменты “уличной магии”
🤩 PgBouncer для защиты от connection storms и лимитов (в Azure упоминают 5000 коннектов на инстанс). В их бенчмарках коннект-латентность упала примерно с 50 ms до 5 ms.
🤩Workload isolation: разделяют high-priority и low-priority трафик на разные инстансы (борьба с noisy neighbor).
🤩Caching + locking/leasing: при промахах по одному ключу в БД ходит только один “победитель”, остальные ждут — защита от cache-miss storm.
🤩Rate limiting на нескольких слоях (приложение/пулер/прокси/запросы) + возможность блокировать конкретные “query digests”, чтобы быстро гасить дорогие паттерны.
Отличные советы, но почему баунсер, он же херово скейлится по ядрам? Впрочем, можно по-дедовски много инстансов наподнимать - да всё нагрузку-то оказывается уже унесли.

🤩 Много реплик: привет, Релей. Primary стримит WAL на каждую реплику; с ростом их числа растёт нагрузка на сеть/CPU и риск лагов. Поэтому они вместе с Azure делают каскад (промежуточные реплики, или релеи, ретранслируют WAL дальше), чтобы масштабироваться до “сотни+” реплик без убийства primary, но отмечают усложнение failover. Тут я подумал, что я будто машине времени лет на 20 назад переместился.

🤩Минное поле альтеров. Даже маленький ALTER может вызвать полный table rewrite. Разрешают только лёгкие операции, вводят таймаут 5 секунд на schema changes, индексы — только CONCURRENTLY, а backfill’ы — под строгими лимитами.

Ну! Надавали по рукам программистам со своими ORM, увели writes в волшебный космос, наставили релеев, чтобы репликация не убивала систему, немного уличной магии — и можно и порадоваться: p99 на клиенте “низкие десятки миллисекунд”, five-nines availability и всего один SEV-0 за 12 месяцев (вирусный запуск ImageGen, пришло +100 млн пользователей за неделю).

Так-то! Статья супер, но много вопросов к постгресу при чтении “между строк” 🙂

🔥всё правильно пишешь
👍и всё равно постгрес - вещь!


обучение devhands
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥443