36043
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo
📜 История SQL — от лабораторной идеи до «языка данных» № 1
Как появился самый известный язык работы с базами, почему он едва не остался «Сиквелом» и какие любопытные факты о нём редко всплывают в учебниках.
1. Всё началось с таблицы на бумаге
- 1970 г. — британский математик Эдгар Ф. Кодд публикует культовую статью *“A Relational Model of Data for Large Shared Data Banks”*.
- В ней впервые прозвучала идея: хранить данные в виде связанных таблиц, а не как запутанные иерархии (IMS) или сетевые графы (Codasyl).
- Коллеги в IBM скептически называли это «бумагой на буквы», но разрешили сделать прототип, чтобы проверить утопию Кодда на практике.
2. SEQUEL — «английский» запрос к таблицам
- 1973–1974 гг. — в лаборатории IBM San José (ныне Almaden) двое молодых исследователей, Дональд Чемберлин и Рэймонд Бойс, берутся за проект System R.
- Чтобы обращаться к реляционным таблицам, они придумывают Structured English QUEry Language — SEQUEL.
- Ключевая фишка — запросы выглядят почти как английские предложения:
SELECT name, salary
FROM employees
WHERE dept = 'R&D';
SELECT превращается в процедурный план. SELECT ….FROM.
## 7 полезных приёмов для Oracle SQL
Простые советы для Oracle SQL, которые помогут аналитикам данных прокачать свои запросы.
1) Фильтрованные (partial) индексы
В Oracle можно создавать индексы только для подмножества строк, чтобы ускорить выборку по популярным условиям.
CREATE INDEX idx_orders_high_value
ON orders(order_date)
WHERE total_amount > 1000;
CREATE INDEX idx_orders_year
ON orders (EXTRACT(YEAR FROM order_date));
UNION ALL:
SELECT region, category, SUM(sales) AS total
FROM sales
GROUP BY ROLLUP (region, category);
CREATE MATERIALIZED VIEW mv_sales_by_month
BUILD IMMEDIATE
REFRESH FAST ON COMMIT
ENABLE QUERY REWRITE
AS
SELECT TRUNC(order_date, 'MM') AS month, SUM(total_amount) AS total
FROM orders
GROUP BY TRUNC(order_date, 'MM');
SELECT month, SUM(total_amount) FROM orders GROUP BY month; автоматически будет использовать mv_sales_by_month.
CREATE OR REPLACE FUNCTION get_tax_rate(p_region VARCHAR2)
RETURN NUMBER RESULT_CACHE RELIES_ON (tax_table) IS
v_rate NUMBER;
BEGIN
SELECT rate INTO v_rate FROM tax_table WHERE region = p_region;
RETURN v_rate;
END;
SELECT /*+ PARALLEL(orders, 4) */ customer_id, SUM(total_amount)
FROM orders
GROUP BY customer_id;
EXEC DBMS_STATS.GATHER_TABLE_STATS('HR', 'ORDERS', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE);
DBMS_XPLAN.DISPLAY_CURSOR, чтобы видеть реальные шаги запроса, а не только предполагаемые.
✔️ А вот и новый DeepSeek Prover v2, модель, заточенная исключительно на математику.
🚀Масштабная архитектура на базе, которая содержит 671 млрд параметров, что в 96 раз больше, чем у предыдущей версии Prover-V1.5 (7 млрд).
Построен на базе архитектуры «смеси экспертов» (MoE), что снижает затраты на обучение и повышает эффективность решения задач.
Модель заточена на формальное доказательство теорем с помощью языка программирования Lean 4, обеспечивая 100% логическую точность.
Lean 4 — это зависимо типизированный функциональный язык программирования и интерактивное средство доказательства теорем.
Результаты:
• Новая Sota( 88,9%) на MiniF2F-test.
• DeepSeek-Prover-V2 смогла доказать 49 теорем из 658.
Для тренировки использовались 8 млн синтетических примеров, созданных через рекурсивный поиск решений теорем.
🔍 Как это работает:
1) Разложение теорем: DeepSeek-V3 по prompt'у разбивает сложные задачи на подцели.
2) Формализация: Пошаговые рассуждения переводятся в доказательства на Lean 4.
3) Cold-start: Полученные цепочки рассуждений и формальные доказательства используются как начальные данные для обучения модели.
🌟 Два размера:
• 7 B — базовый вариант.
• 671 B — расширенная версия на базе DeepSeek-V3-Base.
https://huggingface.co/deepseek-ai/DeepSeek-Prover-V2-671B
NotebookLM теперь умеет делать подкасты на русском и других славянских языках
Новая функция позволяет превращать документы в аудио — можно генерировать как полезные, так и совсем абсурдные подкасты (пример в посте). Идеально, чтобы слушать вместо чтения, например, во время пробежки.
Озвучка на русском немного уступает английской, но звучит достойно.
🎧 Бесплатно, пробуем
🖥 Крутая подборка шпаргалок по SQL
Внутри
— SQL для data analysis;
— SQL Joins;
— Оконные функции;
— Основы SQL.
@sqlhub
🔍 Milvus — масштабируемая высокопроизводительная векторная БД для AI-приложений с нативной интеграцией с Kubernetes.
Проект написан на Go и C++ и оптимизирован для работы с миллиардами векторов в реальном времени. Помимо классических dense-векторов, Milvus поддерживает sparse-модели для полнотекстового поиска и гибридные запросы. Для локального тестирования есть облегченная версия, устанавливаемая через pip.
🤖 GitHub
@sqlhub
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
Нерйросети t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy
Нашел лучший сайт для изучения SQL
Хороший ресурс для освоения SQL — SQL Academy!
Это интерактивная платформа с практическими заданиями от ведущих российских компаний: ВКонтакте, Альфа-Банка, Сбера и других. Здесь найдётся всё, что нужно разработчикам, аналитикам, тестировщикам и студентам, интересующимся базами данных.интересующихся студентов.
Попробовать здесь
@sqlhub
✔️ Presto (prestoDB/presto)
Это высокопроизводительный распределённый движок SQL для анализа больших объёмов данных в реальном времени. Основные характеристики:
Распределённая архитектура
Состоит из координатора и множества воркеров, которые параллельно выполняют фрагменты запросов, обеспечивая низкую задержку даже при обработке петабайтовых данных
GitHub
Поддержка ANSI SQL и UDF
Полноценная поддержка стандартного SQL с возможностью расширения набором пользовательских функций (UDF), агрегатов и аналитических функций.
Плагинные коннекторы
Из коробки доступны коннекторы к Hive (HDFS/S3), Cassandra, Kafka, MongoDB, MySQL, PostgreSQL, Elasticsearch и многим другим системам хранения. При желании можно написать собственный плагин
GitHub
.
Масштабируемость и отказоустойчивость
Горизонтальное масштабирование за счёт добавления воркеров, автоматическое перераспределение задач при выходе узлов из строя.
Удобство развёртывания
Можно собрать из исходников через Maven (./mvnw clean install), развернуть через Docker (официальный образ есть в папке docker/), или сразу использовать готовые пакеты на prestodb.io.
Клиенты и интеграции
Имеется CLI (presto-cli), JDBC/ODBC‑драйверы, REST API. Лёгко встраивается в BI‑инструменты и платформы визуализации.
Сферы применения
Ad‑hoc‑аналитика, интерактивные дашборды, federated query (объединение данных из разных источников), подготовка данных для машинного обучения.
https://github.com/prestodb/presto
@sqlhub
🖥 Задача: “Невидимая строка”
Дана таблица users:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name TEXT,
deleted_at TIMESTAMP
);
SELECT COUNT(*) FROM users WHERE deleted_at = NULL;
deleted_at не задано.
👣 Оптимизация выделения памяти в Go: как одна строчка замедлила всё на 30%
В базе данных Dolt (аналог Git, но для SQL-таблиц) после рефакторинга один из бенчмарков (types_scan) внезапно стал работать на 30% медленнее. Причина? Казалось бы, невинная строчка кода.
📉 Что произошло
Метод GetBytes() начал вызывать ReadBytes() у интерфейса ValueStore. Всё выглядело логично, пока не включили профилировщик Go и не обнаружили странную активность:
🔍 runtime.newobject вызывался слишком часто → программа делала много лишних аллокаций в куче.
📦 Где зарыта собака
func (vs nodeStore) ReadBytes(...) ...
func (vs *nodeStore) ReadBytes(...) ...
Тратите много времени на повторяющиеся SQL-запросы, выполняя рутинные задачи вручную?
На бесплатном вебинаре, который пройдет 22 апреля в 20:00, мы решим эту проблему и научим вас создавать и использовать хранимые процедуры для автоматизации процессов в SQL! https://otus.pw/sYDb/
Представьте, что вы можете автоматизировать эти задачи с помощью хранимых процедур в MS SQL Server и PostgreSQL, увеличив свою эфффективность. Больше не придется тратить на это лишние силы.
Записывайтесь на урок, получайте практические навыки, а также скидку на большое обучение «SQL для разработчиков и аналитиков»: https://otus.pw/sYDb/
erid: 2W5zFGp9d2g
⏰Регистрируйся на вебинар
🔋 Миграция приложений с Oracle Apex, Oracle Forms на Postgres.
На вебинаре расскажем как сохранить команду разработчиков и перейти с Oracle Apex, Oracle Forms.
• 10 лет за 5 минут как мы делали клон Oracle Apex/Forms/Reports на PostgreSQL
• Разработка приложений с применением только SQL / plpgSQL
• Oracle Apex на PostgreSQL на стероидах Visual Studio Code
• Пару слов об xDac for Postgres. Презентация XSQUARE – DAC for ORACLE
📌Обещаем технический вебинар, без слайдов и маркетинга.
#реклама
О рекламодателе
erid: 2W5zFK8o3be
🔥 FireEdit — новая методика редактирования изображений по инструкции
🌟 В основе FireEdit — усовершенствованная Vision Language Model (VLM), способная выполнять тонкое и точное редактирование изображений на основе текстовых промптов.
🌟 Что внутри:
🟢Region Tokens
Позволяют VLM точно определять редактируемые объекты даже в сложных сценах, не затрагивая остальное изображение.
🟢Time-Aware Target Injection
Динамически регулирует степень редактирования на разных этапах шумоподавления, интегрируя информацию о времени с текстовыми эмбеддингами.
🟢Hybrid Visual Cross-Attention
Позволяет сохранить высокочастотные визуальные детали и семантическую согласованность изображения.
✔️Результаты
FireEdit превосходит другие SOTA-методы на датасете Emu Edit — как по точности локализации, так и по качеству результата.
✔️ Визуальные сравнения показывают, что FireEdit:
🟢Лучше локализует редактируемые области
🟢Меньше искажает фон и окружающие детали
🟢Сохраняет высокую семантическую точность
🔜 Статья
🔜Проект
@ai_machinelearning_big_data
#AI #VLM #Diffusion #ImageEditing #FireEdit #ML
🚀 SQLModel — удобное решение для работы с базами данных в Python, объединяющее силу SQLAlchemy и валидацию Pydantic. Проект устраняет главную боль разработчиков: необходимость дублировать модели для БД и API.
Инструмент имеет синтаксис на основе аннотаций типов. Один класс одновременно описывает таблицу в БД и схему для FastAPI, а встроенная поддержка IDE сразу подсказывает поля и выявляет ошибки. Например, модель Hero с полями name и secret_name готова к использованию и в миграциях, и в эндпоинтах без лишнего кода.
🤖 GitHub
@sqlhub
📕MySQL для администраторов, разработчиков, архитекторов и специалистов баз данных
Как грамотно оптимизировать производительность в MySQL и решить возникающие проблемы.
📗 На вебинаре 6 мая в 19:00 разберём:
1. Практические методы оптимизации производительности, диагностику нагрузки и анализ "узких мест" MySQL;
2. Оптимизацию запросов: от простых до сложных.
📘 В результате будете знать всё о настройке ключевых параметров конфигурации, уметь самостоятельно диагностировать и решать проблемы производительности MySQL.
👉 Регистрация и подробности о курсе Базы данных: https://otus.pw/5iMh/?erid=2W5zFGeaQTA
Все участники открытого урока получат скидку на курс
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
👣 Небольшой пример как копировать данные между базами данных используя `go`, `pgx`, и `copy`
Предположим что у нас есть два коннекта к базе (одной или нескольким, это не важно). Далее используя io.Pipe() создаём Reader и Writer, и используя CopyTo() и CopyFrom() переносим данные.
r, w := io.Pipe()
doneChan := make(chan struct{}, 1)
go func() {
defer close(doneChan)
_, err := db1.PgConn().CopyTo(ctx, w, `copy table1 to stdin binary`)
if err != nil {
slog.Error("error", "error", err)
return
}
_ = w.Close()
doneChan <- struct{}{}
}()
_, err = db2.PgConn().CopyFrom(ctx, r, `copy table1 from stdout binary`)
_ = r.Close()
select {
case <-doneChan:
case <-ctx.Done():
}
Reader может выступать что угодно, хоть файл csv, хоть другая СУБД, но тогда данные придётся дополнительно конвертировать в формат понимаемый PostgreSQL - csv или tsv, и использовать copy ... from stdin (format csv).copy ... from stdin binary , binary обязывает использовать одинаковые типы данных, нельзя будет integer колонку перенести в колонку smallint, если такое требуется, то параметр binary надо опустить.
Столкнулись с падением производительности базы данных?
Не делайте резких движений: вы можете ухудшить ситуацию.
Сначала нужно верно диагностировать причину проблемы.
Возможно вы неправильно выбрали индексы, а быть может дело вообще в самой архитектуре БД – вариантов масса!
На открытом вебинаре «Как ускорить работу и повысить надёжность PostgreSQL»
вы узнаете:
🎯как обеспечить высокую производительность и отказоустойчивость базы данных
🎯как вовремя выявить деградацию производительности с помощью диагностики
Вебинар проведёт Дмитрий Золотов, Kotlin-разработчик в «Яндексе».
Приглашаем технических руководителей, админов БД, девопсов и разработчиков.
Все участники получат в подарок видеоурок «Безопасность в PostgreSQL: защита данных, управление доступом и аудит» и скидку 7% на любой курс OTUS.
6 мая, 19:00 МСК
Бесплатно
Записаться - https://otus.pw/sWHl/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFG8vzDn
Приглашаем студентов на бесплатный студкемп Яндекс Образования и ИТМО по управлению данными
Готовы попробовать свои силы в решении реальных задач? Бесплатный студкемп Яндекса и ИТМО — ваш шанс погрузиться в востребованное IT-направление и открыть новые профессиональные горизонты!
Во время интенсива вы изучите принципы микросервисных архитектур, освоите системы распределённого хранения и разберётесь с DataOps и MLOps. А ещё будете участвовать в разработке комплексных пайплайнов: от автоматического сбора до визуализации данных.
Студкемп пройдёт с 30 июня по 12 июля в Санкт-Петербурге на базе ИТМО. Приглашают студентов со всей России и каждому, кто пройдёт отбор, оплатят проезд и проживание. Успейте подать заявку до 4 мая.
Стартовал набор в ШАД — успейте подать заявку!
Технологии меняют нашу реальность, но за их развитием стоят люди, которые умеют находить нестандартные решения. И именно в Школе анализа данных Яндекса готовят таких специалистов! Здесь амбициозные и увлечённые студенты:
• погружаются в машинное обучение, Data Science и искусственный интеллект;
• перенимают опыт экспертов из индустрии;
• учатся решать задачи, стоящие перед ведущими IT-компаниями и исследовательскими центрами.
Учёба в ШАДе — это серьёзный вызов даже для тех, кто уже знаком с анализом данных. Поступить непросто, но если вы готовы к интенсивной нагрузке, нестандартным кейсам и полной пересборке своего мышления — это место для вас! За 2 года обучения вы получите инструменты и навыки, которые позволят работать над сложнейшими задачами индустрии, запускать собственные проекты и двигать науку вперёд.
Занятия полностью бесплатны и проходят по вечерам. Если в вашем городе нет филиала, можно учиться онлайн. Готовы бросить вызов данности? Тогда подавайте заявку до 4 мая!
🖥 Задача: Анализ пользовательского поведения с аномалиями в SQL
## Условие задачи:
Дана таблица user_events со следующей структурой:
CREATE TABLE user_events (
user_id INT,
event_time TIMESTAMP,
event_type VARCHAR(50),
platform VARCHAR(50)
);
user_id — идентификатор пользователя,event_time — время события,event_type — тип события (`login`, purchase, logout, error и т.д.),platform — платформа (`iOS`, Android, `Web`).error.logout отсутствует после login — игнорировать такую сессию.LAG() или MAX() с фильтрацией событий login.login в пределах 7 дней до события purchase.LEFT JOIN событий login к событиям purchase.COUNT(*) и SUM(CASE WHEN event_type = 'error' THEN 1 ELSE 0 END).login и следующим logoutLEAD() для поиска следующего события после login.login -> logout должна иметь корректный порядок по времени.logout нет или это событие другого типа.
✔️ Wal-listener — это инструмент для прослушивания логов транзакций PostgreSQL (WAL) и конвертации их в удобный для обработки формат JSON.
Возможности
- Прослушивание изменений в PostgreSQL в режиме реального времени.
- Поддержка нескольких слотов репликации.
- Удобный вывод в формате JSON.
- Готов к использованию в качестве сервиса.
Пример использования
1. Создаём слот репликации:
SELECT * FROM pg_create_logical_replication_slot('test_slot', 'wal2json');
wal-listener --dsn "host=localhost port=5432 user=postgres dbname=test" --slot test_slot
Устал от многоэтапных собеседований и длительных тестовых заданий при приёме на работу? А что, если оффер в IT-компанию можно получить за один день?
🚀 Приходи на One Day Offer в Navio 26 апреля! Мы ищем Дата инженеров уровней middle и senior в команду BigData, которые готовы к профессиональным вызовам! Оставь отклик с резюме на сайте, получи тайм-слот от рекрутера и пройди все этапы собеседований за 1 день на онлайн-мероприятии.
У нас классные нестандартные проекты: end-to-end разработка, один из крупнейших в СНГ дата-лейков автономных машин, мониторинг данных с физическим воплощением на дороге и все преимущества работы в аккредитованной IT-компании.
📈Меняй карьеру прямо сейчас!
Мечтаешь хакнуть свою продуктивность с помощью ИИ? Приходи на AI-митап в Нижнем Новгороде! 👌
📍 Встречаемся 24 апреля в 18:00 по адресу: ул. Октябрьская, 35, пространство «Гараж».
Регистрируйся на митап и готовься к апгрейду своих скиллов!
📕Открытый урок о NoSQL с Cassandra для разработчиков, администраторов, специалистов по базам данных, Data engineers, Backend и FullStack-разработчиков.
На открытом уроке 21 апреля в 20:00 мск мы погрузимся в тонкости работы c NoSQL в Cassandra.
📗В результате вы:
- Узнаете, как работает Cassandra и какие есть особенности про которые никто говорит;
- Разберетесь, как избежать и решать проблемы в работе Сassandra;
- Освоите техники и лайфхаки в Сassandra на практике.
Спикер Дмитрий Гурьянов — Team Lead команды разработки CRM-решений на платформе .NET в Промсвязьбанке, 9+ лет в разработке, работал в Microsoft над продуктом Bing, аспирант кафедры "Системы обработки информации и управления" в МГТУ им. Н.Э. Баумана.
👉Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/6XKr/?erid=2W5zFH7KsWx
📙Все участники открытого урока получат скидку на курс "Базы данных"
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🚀 AWESOME DATA SCIENCE
Репозиторий данных с открытым исходным кодом для изучения, применения и решения реальных проблем в data science.
Это кратчайший путь к началу изучения науки о данных. Опытным специалистам, репозиторий поможет найти необходимые топики, которые удобно систематизированы.
🖥 GitHub
@sqlhub
📒 Awesome LangChain — коллекция лучших инструментов для работы с LLM.
В этом репозитории собраны 500+ проектов — порты на другие языки (Go, Java, Ruby), шаблоны для быстрого старта и даже готовые решения вроде DB GPT для приватного общения с данными.
Особенно выделяются:
▪️LangServe — развёртывание цепочек как REST API от создателей LangChain
▪️GPTCache — семантическое кеширование запросов к LLM
▪️SuperAGI — фреймворк для автономных агентов с продвинутым планированием
🤖 GitHub
@sqlhub
🧩 SQLite Internal — визуализатор структуры .sqlite-файлов
Если ты хочешь понять внутреннюю структуру SQLite, то этот инструмент — находка. SQLite Internal — веб-приложение для интерактивного анализа .sqlite-файлов.
📝 Что умеет:
• Загрузи .sqlite и изучай структуру файла
• Визуализация страниц, заголовков и схем
• Всё работает локально в браузере
💡 Технологии:
• TypeScript, Tailwind CSS, Vite
• GitHub — invisal/sqlite-internal
🧪 Попробуй онлайн: https://sqlite-internal.pages.dev
#SQLite #DevTools #WebApp
@sqlhub
Muse Group — the team behind Ultimate Guitar, MuseScore, Audacity and more — invites you to an online meetup on how analytics drives top digital products in the creative industry.
🔵 April 22, 6:00 PM (GMT+3)
🔵 Online
🔵 Free
At the meetup, you’ll:
— Utilizeyears of development on your own A/B testing platform.
— Learn how to measure the impact of changes without running experiments.
— Master tools that let you conduct research using p-values and confidence intervals instead of simple "before and after" comparisons.
We’d love to see you there!
Sign up here: https://www.tickettailor.com/events/musemeetup
📌 Kor — прототип для извлечения структуры из текста через LLM
Проект имеет интеграцию с LangChain, но предлагает свой подход: вместо JSON-режима или function calling он полагается на шаблонизацию промптов. Это позволяет работать даже с моделями, не поддерживающими новые режимы вроде GPT-4-turbo.
Новая версия 1.0.0 принесла совместимость с Pydantic v2, хотя разработчики предупреждают, что работа может заметно замедлиться
🤖 GitHub
@sqlhub