⚡️ Запустили PostgreSQL в Docker и случайно открыли его всей сети?
Команда
Если доступ нужен только с самого сервера, укажите адрес явно:
Для всех контейнеров можно изменить адрес привязки по умолчанию в настройках Docker. Но самый простой способ избежать сюрприза - всегда проверять, на каком адресе опубликован порт.
Документация Docker - https://docs.docker.com/engine/network/port-publishing/
Команда
docker run -p 5432:5432 ... по умолчанию публикует порт на всех сетевых интерфейсах хоста. На Linux правило UFW, закрывающее порт, может не помочь: Docker направляет трафик к контейнеру до обработки правил UFW.Если доступ нужен только с самого сервера, укажите адрес явно:
docker run -p 127.0.0.1:5432:5432 ...
Для всех контейнеров можно изменить адрес привязки по умолчанию в настройках Docker. Но самый простой способ избежать сюрприза - всегда проверять, на каком адресе опубликован порт.
Документация Docker - https://docs.docker.com/engine/network/port-publishing/
👍9🔥1
🔥Полноценный data stack внутри своего контура
Когда данных становится много, одного SQL-движка или отдельной СУБД уже недостаточно. Нужна связка инструментов, которая закрывает весь путь данных: от загрузки и хранения до обработки, аналитики и визуализации.
Такой сценарий можно реализовать в Stackland - платформе, которая разворачивается локально в контуре компании.
В обновлении появились PaaS-компоненты Yandex Cloud, из которых можно собрать полноценную data-платформу:
🔹 Managed Service for ClickHouse® и Managed Service for PostgreSQL - хранение и обработка данных.
🔹 Yandex Managed Service for Trino + Yandex Object Storage - основа аналитического слоя: S3 обеспечивает масштабируемое хранение данных, а Managed Service for Trino — быстрый SQL-доступ к ним.
🔹 Managed Service for Apache Airflow® - управление оркестратором потоков операций по обработке данных.
🔹 Yandex DataLens - BI-система для визуализации данных.
При этом все основные компоненты платформы разворачиваются внутри инфраструктуры компании.
Для data engineering-команд такой подход интересен прежде всего тем, что можно собрать под одной платформой основные компоненты современного data stack: Storage → SQL → ETL/ELT → DWH/аналитика → BI
И не тратить время на самостоятельную сборку и поддержку каждого компонента с нуля.
Когда данных становится много, одного SQL-движка или отдельной СУБД уже недостаточно. Нужна связка инструментов, которая закрывает весь путь данных: от загрузки и хранения до обработки, аналитики и визуализации.
Такой сценарий можно реализовать в Stackland - платформе, которая разворачивается локально в контуре компании.
В обновлении появились PaaS-компоненты Yandex Cloud, из которых можно собрать полноценную data-платформу:
🔹 Managed Service for ClickHouse® и Managed Service for PostgreSQL - хранение и обработка данных.
🔹 Yandex Managed Service for Trino + Yandex Object Storage - основа аналитического слоя: S3 обеспечивает масштабируемое хранение данных, а Managed Service for Trino — быстрый SQL-доступ к ним.
🔹 Managed Service for Apache Airflow® - управление оркестратором потоков операций по обработке данных.
🔹 Yandex DataLens - BI-система для визуализации данных.
При этом все основные компоненты платформы разворачиваются внутри инфраструктуры компании.
Для data engineering-команд такой подход интересен прежде всего тем, что можно собрать под одной платформой основные компоненты современного data stack: Storage → SQL → ETL/ELT → DWH/аналитика → BI
И не тратить время на самостоятельную сборку и поддержку каждого компонента с нуля.
❤3👍3
Для чего используется команда ANALYZE в PostgreSQL?
Anonymous Quiz
7%
Для проверки целостности файлов
6%
Для удаления неиспользуемых индексов
2%
Для дефрагментации таблиц
84%
Для сбора статистики о распределении данных
❤3
sqlite-vec добавляет vector search прямо в SQLite через компактное расширение.
Что это даёт:
- без Pinecone
- без Weaviate
- без Qdrant
- без отдельного vector DB сервера
- всё хранится рядом с обычными данными в SQLite
Расширение маленькое, open source и запускается везде, где работает SQLite.
Для локальных AI-приложений, RAG, embedded-сценариев и небольших сервисов это особенно интересно: одна база, один файл, обычный SQL + поиск по эмбеддингам.
https://github.com/asg017/sqlite-vec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
🗄 ИИ-агент работает с базой, но как не дать ему показать лишнее?
6 октября в Архитектурном клубе Яндекс 360 разберут архитектуру ИИ-агента над корпоративными данными. В том числе поговорят о поиске, метаданных и фильтрах, а главное — о том, как наследовать права доступа исходных систем.
Также Даниил Смирнов, руководитель разработки ИИ-платформы Яндекс 360, расскажет, как изолировать данные пользователей и организаций и не допускать утечек через индекс или кэш..
🗓 6 октября, 17:00 МСК
💻 Онлайн, бесплатно
→ Зарегистрироваться на эфир
6 октября в Архитектурном клубе Яндекс 360 разберут архитектуру ИИ-агента над корпоративными данными. В том числе поговорят о поиске, метаданных и фильтрах, а главное — о том, как наследовать права доступа исходных систем.
Также Даниил Смирнов, руководитель разработки ИИ-платформы Яндекс 360, расскажет, как изолировать данные пользователей и организаций и не допускать утечек через индекс или кэш..
🗓 6 октября, 17:00 МСК
💻 Онлайн, бесплатно
→ Зарегистрироваться на эфир
❤1👍1
Полезный совет для MySQL 8: используй LATERAL, когда для каждой строки нужно получить «лучшие N связанных записей».
Например, взять последние 3 заказа каждого пользователя:
Без LATERAL такую задачу часто решают через оконные функции и сначала ранжируют всю таблицу orders.
С LATERAL база может для каждого пользователя сразу сходить по индексу:
Особенно полезно для задач вида:
«последние N», «самая дорогая запись», «ближайшее событие», «лучший результат для каждой строки».
Главное: всегда проверяй EXPLAIN ANALYZE — на больших таблицах правильный составной индекс здесь решает всё.
Например, взять последние 3 заказа каждого пользователя:
SELECT
u.id,
u.name,
o.id AS order_id,
o.created_at
FROM users u
JOIN LATERAL (
SELECT id, created_at
FROM orders
WHERE orders.user_id = u.id
ORDER BY created_at DESC
LIMIT 3
) o ON TRUE;
Без LATERAL такую задачу часто решают через оконные функции и сначала ранжируют всю таблицу orders.
С LATERAL база может для каждого пользователя сразу сходить по индексу:
CREATE INDEX idx_orders_user_created
ON orders (user_id, created_at DESC);
Особенно полезно для задач вида:
«последние N», «самая дорогая запись», «ближайшее событие», «лучший результат для каждой строки».
Главное: всегда проверяй EXPLAIN ANALYZE — на больших таблицах правильный составной индекс здесь решает всё.
👍5❤2🔥1
Tencent обошла экспортный запрет США: 100 000 ИИ-чипов в аренду у Oracle
По данным Financial Times, Tencent арендовала у Oracle около 100 000 передовых ИИ-чипов на 5 лет. Сумма сделки около 7 млрд долларов, то есть примерно 14 000 долларов за чип в год.
Сами чипы в Китай не попадают. Они стоят в нескольких дата-центрах Oracle в Юго-Восточной Азии, а Tencent получает к ним доступ удалённо.
Формально это законно. Экспортный контроль США регулирует, куда физически уезжают чипы, а аренда вычислительных мощностей из-за рубежа под ограничения не попадает.
Получается, что ограничения на поставки чипов для китайских компаний во многом работают только на бумаге: железо остаётся за пределами Китая, а модели на нём обучает китайский бигтех. Так что регуляторам, скорее всего, придётся заняться и облачной арендой.
https://www.ft.com/content/8799b33d-f07c-4a03-82f0-bf5d3d1d29e9
По данным Financial Times, Tencent арендовала у Oracle около 100 000 передовых ИИ-чипов на 5 лет. Сумма сделки около 7 млрд долларов, то есть примерно 14 000 долларов за чип в год.
Сами чипы в Китай не попадают. Они стоят в нескольких дата-центрах Oracle в Юго-Восточной Азии, а Tencent получает к ним доступ удалённо.
Формально это законно. Экспортный контроль США регулирует, куда физически уезжают чипы, а аренда вычислительных мощностей из-за рубежа под ограничения не попадает.
Получается, что ограничения на поставки чипов для китайских компаний во многом работают только на бумаге: железо остаётся за пределами Китая, а модели на нём обучает китайский бигтех. Так что регуляторам, скорее всего, придётся заняться и облачной арендой.
https://www.ft.com/content/8799b33d-f07c-4a03-82f0-bf5d3d1d29e9
❤2👍1🔥1
GitHub представил Agentic Engineering System - фреймворк для команд, которые внедряют AI-агентов в разработку.
Идея простая: больше сгенерированного кода ещё не означает больше пользы.
GitHub предлагает строить работу вокруг трёх вещей:
- Governance — что агентам можно делегировать и где нужен человек
- Shared Knowledge — код, документация, решения, телеметрия и контекст
- Customer Value — приносит ли ускорение реальную пользу пользователям
Сам процесс делится на цикл Define → Deliver → Detect, а человек и AI могут выступать как director, performer или assessor.
Главная метрика: скорость должна расти без роста дефектов и потери качества.
https://github.com/resources/insights/agentic-engineering-system
Идея простая: больше сгенерированного кода ещё не означает больше пользы.
GitHub предлагает строить работу вокруг трёх вещей:
- Governance — что агентам можно делегировать и где нужен человек
- Shared Knowledge — код, документация, решения, телеметрия и контекст
- Customer Value — приносит ли ускорение реальную пользу пользователям
Сам процесс делится на цикл Define → Deliver → Detect, а человек и AI могут выступать как director, performer или assessor.
Главная метрика: скорость должна расти без роста дефектов и потери качества.
https://github.com/resources/insights/agentic-engineering-system
❤3👍1🔥1
🧠 TIL: SQLite превращает числа в текст сразу по две цифры
Обычно
и повторяем снова.
SQLite идёт хитрее.
В исходниках есть строка на 200 символов, содержащая все пары от
При преобразовании числа SQLite обрабатывает его по две цифры за раз и просто берёт нужную пару символов по индексу.
То есть вместо множества операций
делим на 100 → получаем две цифры → копируем готовую пару.
Маленькая оптимизация, но именно из таких деталей и состоит быстрый системный код.
Исходник:
Обычно
integer → string делают циклом:/ 10 → берём цифру % 10 → остаток и повторяем снова.
SQLite идёт хитрее.
В исходниках есть строка на 200 символов, содержащая все пары от
00 до 99:000102030405...979899При преобразовании числа SQLite обрабатывает его по две цифры за раз и просто берёт нужную пару символов по индексу.
То есть вместо множества операций
/10 и %10:делим на 100 → получаем две цифры → копируем готовую пару.
Маленькая оптимизация, но именно из таких деталей и состоит быстрый системный код.
Исходник:
sqlite/src/util.c❤4🔥3👍2
Из аналитика в дата-инженеры: переход реален? 🤔
В последнее время все чаще дата-инженерия для аналитиков становится более привлекательной, но в то же время страшной.
С одной стороны, хочется понимать не только то, что происходит с данными, но и как эти данные вообще доезжают до нас. Откуда берутся, где хранятся, как обновляются, почему сегодня в витрине 10 млн строк, а завтра 8 млн и кто опять сломал загрузку🥲
И получается ситуация, когда хочется попробовать, но непонятно, с чего начинать и сколько лет на это закладывать.
Поэтому мне понравилось, как Симулейтив пересобрали свой буткемп «Инженер данных».
Курс разделен на 2 этапа: за первые 10 недель вы осваиваете базу и доходите до уровня junior-специалиста. А на втором этапе — углубленное изучение ключевых инструментов, где вы дорастаете до мидла.
Что вас ждет на курсе:
➖ SQL, Python, пайплайны сбора и обновления данных, хранение и обработка, DWH;
➖ Живые занятия с ментором каждую неделю — не записи, а разборы вживую;
➖ Подготовка к собеседованиям с первых недель, а не в самом конце;
➖ ИИ-инструменты как часть программы — учите работать с ними, а не избегать;
➖ Гостевые лекции от практикующих дата-инженеров из Яндекса, Т-Банка, Авито, Сбера, OZON;
➖ Официальный диплом о профессиональной переподготовке.
Кому подойдёт:
1. Тем, кто хочет войти в дата-инженерию с нуля или перейти из аналитики;
2. Тем, кто пробовал учиться самостоятельно, но теряет темп без структуры;
3. Тем, кому интереснее не просто считать метрики, а выстраивать систему, на которой держатся данные.
Почему сейчас: специалистов, которые управляют данными как системой, на рынке меньше, чем нужно, — а спрос растёт, потому что без инженерии любые данные быстро превращаются в хаос.
🔥ВАЖНО: Симулейтив дают возможность получить грант обучение и гарантируют трудоустройство своих студентов. Количество грантов ограничено!
Оставляйте заявку до завтра включительно, чтобы занять одно из 5 оставшихся мест нового потока!
🔗 ЗАБРОНИРОВАТЬ МЕСТО
В последнее время все чаще дата-инженерия для аналитиков становится более привлекательной, но в то же время страшной.
С одной стороны, хочется понимать не только то, что происходит с данными, но и как эти данные вообще доезжают до нас. Откуда берутся, где хранятся, как обновляются, почему сегодня в витрине 10 млн строк, а завтра 8 млн и кто опять сломал загрузку🥲
И получается ситуация, когда хочется попробовать, но непонятно, с чего начинать и сколько лет на это закладывать.
Поэтому мне понравилось, как Симулейтив пересобрали свой буткемп «Инженер данных».
Курс разделен на 2 этапа: за первые 10 недель вы осваиваете базу и доходите до уровня junior-специалиста. А на втором этапе — углубленное изучение ключевых инструментов, где вы дорастаете до мидла.
Что вас ждет на курсе:
Кому подойдёт:
1. Тем, кто хочет войти в дата-инженерию с нуля или перейти из аналитики;
2. Тем, кто пробовал учиться самостоятельно, но теряет темп без структуры;
3. Тем, кому интереснее не просто считать метрики, а выстраивать систему, на которой держатся данные.
Почему сейчас: специалистов, которые управляют данными как системой, на рынке меньше, чем нужно, — а спрос растёт, потому что без инженерии любые данные быстро превращаются в хаос.
🔥ВАЖНО: Симулейтив дают возможность получить грант обучение и гарантируют трудоустройство своих студентов. Количество грантов ограничено!
Оставляйте заявку до завтра включительно, чтобы занять одно из 5 оставшихся мест нового потока!
🔗 ЗАБРОНИРОВАТЬ МЕСТО
Please open Telegram to view this post
VIEW IN TELEGRAM
DOOM запустили внутри SQL-базы. Каждый кадр теперь результат запроса 🤯
Лукас Фогель собрал SQLDoom: игровая логика и рендеринг оригинального DOOM работают внутри CedarDB.
Карты, монстры, оружие и состояние игры хранятся в таблицах. SQL рассчитывает движение, атаки и столкновения, а затем собирает картинку:
• около 1300 строк SQL и 89 CTE отвечают за рендеринг;
• ещё 5900 строк SQL реализуют игровую логику;
• кадры 320×200 генерируются примерно с 60 FPS на ноутбуке с Ryzen 7 PRO 7840U. В тяжёлых сценах частота падает до 35 FPS.
Python обрабатывает ввод, задаёт тайминг и выводит готовые кадры. Работает даже мультиплеер.
Теперь оптимизировать SQL нужно ещё и для того, чтобы монстры не лагали ☕️
Код:
https://github.com/cedardb/sqldoom
Онлайн-демка:
https://demo.cedardb.cloud/projects/38c0ee59-327d-495e-ad40-735521bba941
Лукас Фогель собрал SQLDoom: игровая логика и рендеринг оригинального DOOM работают внутри CedarDB.
Карты, монстры, оружие и состояние игры хранятся в таблицах. SQL рассчитывает движение, атаки и столкновения, а затем собирает картинку:
• около 1300 строк SQL и 89 CTE отвечают за рендеринг;
• ещё 5900 строк SQL реализуют игровую логику;
• кадры 320×200 генерируются примерно с 60 FPS на ноутбуке с Ryzen 7 PRO 7840U. В тяжёлых сценах частота падает до 35 FPS.
Python обрабатывает ввод, задаёт тайминг и выводит готовые кадры. Работает даже мультиплеер.
Теперь оптимизировать SQL нужно ещё и для того, чтобы монстры не лагали ☕️
Код:
https://github.com/cedardb/sqldoom
Онлайн-демка:
https://demo.cedardb.cloud/projects/38c0ee59-327d-495e-ad40-735521bba941
🔥5❤4😁2🥰1