SQL Portal | Базы Данных
13.9K subscribers
1.01K photos
138 videos
51 files
767 links
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных

Связь: @devmangx

РКН: https://clck.ru/3H4Wo3
Download Telegram
Не направляйте каждый аналитический запрос или задачу поиска данных для ИИ-агентов напрямую в рабочую базу данных.

Spice — это open-source рантайм на языке Rust для разработчиков, которым нужны SQL-запросы, поиск и LLM-инференс рядом с существующими источниками данных.

Он помогает создавать приложения и ИИ-агентов, работающих с реальными данными, объединяя различные источники и предоставляя SQL, гибридный поиск и OpenAI-совместимые API из единого переносимого рантайма.

Основные возможности:

Нативный CDC (Change Data Capture) — реплицирует изменения из PostgreSQL, MySQL и MongoDB, создавая готовые для аналитики реплики.
Федеративные запросы — подключается более чем к 30 источникам данных и поддерживает query push-down для выполнения части запроса непосредственно в источнике данных.
Гибридный поиск — объединяет векторный и полнотекстовый поиск с поддержкой RRF (Reciprocal Rank Fusion) и SQL-функций для повторного ранжирования результатов.
Интерфейсы для ИИ — включает OpenAI-совместимые API, MCP-сервер и шлюз, а также поддержку Text-to-SQL.
Гибкое развёртывание — может работать как один исполняемый файл, контейнер, sidecar или распределённый кластер.

https://github.com/spiceai/spiceai

Проект полностью open-source и распространяется по лицензии Apache 2.0.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Нашли лёгкую альтернативу phpMyAdmin для работы с SQL-базами

Adminer — это веб-клиент, состоящий всего из одного PHP-файла.

Что умеет:

• Поддерживает PostgreSQL, MySQL, MariaDB, SQLite, Oracle, MS SQL и другие СУБД.
• Позволяет выполнять SQL-запросы, управлять таблицами, индексами, пользователями, а также импортировать и экспортировать данные.
• Поддерживает плагины, расширяющие возможности и добавляющие поддержку других источников данных.

Удобный инструмент, когда нужен быстрый веб-доступ к базе данных без установки тяжёлых клиентов.

https://github.com/vrana/adminer

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Универсальный open source-клиент для работы с базами данных

Нашли удобный инструмент для работы с SQL и NoSQL базами данных.

WhoDB — это open source-клиент с современным веб-интерфейсом, который поддерживает PostgreSQL, MySQL, SQLite, MariaDB, ClickHouse, MongoDB, Redis, Elasticsearch и многие другие СУБД.

Что умеет:

• Подключаться к популярным SQL и NoSQL базам данных
• Выполнять SQL-запросы с подсветкой синтаксиса и автодополнением
• Просматривать и редактировать данные в удобной табличной форме
• Визуализировать структуру базы и связи между таблицами (ERD)
• Импортировать и экспортировать данные
• Работать с ИИ: задавать вопросы к данным на естественном языке через OpenAI, Anthropic, Ollama, Gemini и другие совместимые модели
• Запускаться через Docker, как десктопное приложение, CLI или MCP-сервер для интеграции с ИИ-ассистентами

https://github.com/clidey/whodb

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Apache Cassandra — одна из самых популярных распределённых NoSQL-баз данных, разработанная для хранения огромных объёмов информации с высокой отказоустойчивостью и линейной масштабируемостью.

Проект входит в экосистему Apache Software Foundation и используется в системах, где критически важны доступность и производительность.

Что умеет:

Линейно масштабируется — новые узлы можно добавлять в кластер без остановки сервиса, увеличивая производительность практически пропорционально количеству серверов.
• Использует masterless-архитектуру — все узлы равноправны, поэтому отсутствует единая точка отказа. Поддерживается репликация между дата-центрами и регионами.
• Работает через CQL (Cassandra Query Language) — язык запросов, синтаксис которого во многом напоминает SQL, что упрощает освоение для разработчиков.
• Поддерживает высокую скорость записи, автоматическое распределение данных, резервное копирование, индексацию, пользовательские типы данных, агрегатные функции и lightweight-транзакции.

Apache Cassandra особенно хорошо подходит для высоконагруженных систем: IoT, банковских сервисов, телеком-платформ, систем мониторинга, рекомендательных сервисов и других приложений, где требуется обрабатывать большие объёмы данных без простоев.

https://github.com/apache/cassandra

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
SQL или NoSQL — редко бывают главной проблемой.

Гораздо чаще настоящая причина низкой производительности — это:

• плохо спроектированная схема базы данных;
• отсутствие необходимых индексов;
• неудачная модель хранения и организации данных.

Именно эти факторы обычно оказывают гораздо большее влияние на производительность и масштабируемость системы, чем выбор между SQL и NoSQL.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
Нашли подробный разбор самых распространённых ошибок при эксплуатации PostgreSQL

Автор на основе реальных аудитов СУБД собрал 10 проблем, которые чаще всего встречаются в production-системах, и объяснил, как их обнаружить и исправить.

Что разбирается в статье:

• Резервное копирование PostgreSQL: почему наличие бэкапов ещё не гарантирует возможность восстановления данных.
• Типичные ошибки безопасности: использование суперпользователя приложением, слишком широкие правила доступа в pg_hba.conf и отсутствие TLS.
• Настройка логирования, контрольных сумм, мониторинга, поиск долгих транзакций, борьба с bloat и правильная работа autovacuum.
• Оптимизация конфигурации PostgreSQL под реальную нагрузку, архитектурные ошибки, а также проверка соответствия требованиям RTO/RPO и отказоустойчивости.

Материал будет полезен DBA, DevOps, системным администраторам и всем, кто отвечает за эксплуатацию PostgreSQL в production. В статье не только разбираются причины возникновения проблем, но и приводятся практические рекомендации, SQL-запросы и примеры их решения.

https://habr.com/ru/companies/k2tech/articles/1064474/

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Редко встретишь терминальный инструмент для работы с базами данных, который действительно удобен в использовании

sqlit — это быстрый TUI-клиент с поддержкой большого количества СУБД, автоматическим обнаружением Docker-контейнеров, историей запросов и умным автодополнением команд. И всё это — без тяжёлых и требовательных к памяти приложений.

Если вы часто работаете с SQL из терминала, sqlit определённо стоит попробовать.

https://github.com/Maxteabag/sqlit

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Нашли интересный способ упростить работу с JOIN в PostgreSQL

Автор предлагает автоматически генерировать функции на основе foreign key, чтобы выполнять соединения без ручного написания JOIN ... ON. Такой подход делает SQL-запросы короче, снижает вероятность ошибок и приближает работу с базой данных к навигации по связям, как в ORM.

Что разбирается в статье:

• Почему классический синтаксис JOIN заставляет каждый раз повторять уже известные базе связи и какие проблемы это создаёт.
• История попыток добавить в SQL соединения по внешним ключам (KEY JOIN) и почему эта идея до сих пор не стала частью стандарта.
• Проект pg_relation_sql, который автоматически создаёт функции навигации по внешним ключам и позволяет писать запросы в стиле client(document) вместо длинных JOIN ... ON.
• Сравнение производительности с обычными JOIN, ограничения подхода и примеры использования в реальных запросах.

Материал будет особенно интересен разработчикам и DBA, которые хотят глубже разобраться в возможностях PostgreSQL и взглянуть на альтернативный подход к работе со связями между таблицами.

https://habr.com/ru/articles/1065684/

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Совет по PostgreSQL: FILTER для нескольких агрегатов за один проход

Вместо нескольких CASE WHEN внутри агрегатных функций используйте FILTER:

SELECT
COUNT(*) AS total_orders,
COUNT(*) FILTER (WHERE status = 'completed') AS completed,
COUNT(*) FILTER (WHERE status = 'cancelled') AS cancelled
FROM orders;


Результат:
 total_orders | completed | cancelled
--------------+-----------+-----------
1523 | 1402 | 121


FILTER
позволяет применять собственное условие к каждой агрегатной функции. Так запрос становится компактнее, легче читается и избавляет от множества CASE WHEN.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
SQL — это не сложно

Для старта достаточно освоить всего 5 основных запросов. Вот в каком порядке я рекомендую изучать SQL новичкам:

SELECT + FROM + WHERE — выборка и фильтрация данных.
ORDER BY + LIMIT — сортировка результатов и ограничение количества строк.
GROUP BY + COUNT() / SUM() — группировка данных и вычисление агрегатов.
JOIN — объединение данных из нескольких таблиц (именно этот этап вызывает больше всего вопросов).
CASE WHEN — добавление условной логики прямо в SQL-запросы.

Освоив эти пять конструкций, вы сможете решать большинство повседневных задач при работе с базами данных.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Бесплатные IT книг

На GoalKicker собраны десятки PDF-книг по SQL, PostgreSQL, MySQL, SQL Server, Oracle, SQLite и другим СУБД.

Все книги доступны бесплатно, содержат множество примеров кода и основаны на лучших материалах сообщества Stack Overflow.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3
История SQLite началась в 2000 году, когда разработчик Д. Ричард Хипп создавал ПО для эсминца ВМС США.

Военным нужна была база данных, способная работать где угодно:

• без сервера
• без интернета
• без администратора
• без настройки

Так появился SQLite.

В отличие от MySQL, PostgreSQL и Oracle, SQLite не запускает отдельный серверный процесс. Вся база данных хранится в одном файле, а приложение работает с ним напрямую.

Никакой установки, конфигурации или сетевых подключений.

Сегодня SQLite используется в миллиардах устройств и приложений:

→ iPhone
→ Android
→ Google Chrome
→ продукты Adobe
→ встраиваемые и авиационные системы

С высокой вероятностью вы уже использовали SQLite сегодня:

- Instagram
- Spotify
- WhatsApp

Самое удивительное — проект по-прежнему поддерживает его создатель, Ричард Хипп.

Без венчурных инвестиций, IPO и продажи компании.

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

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72
Вопрос по SQL:

Что вернёт этот запрос?

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Варианты:
Anonymous Quiz
10%
A
50%
B
22%
C
17%
D
Шпаргалка по SQL JOIN

Если постоянно путаетесь в JOIN, сохраните эту схему — на ней собраны самые популярные варианты объединения таблиц.


LEFT JOIN: Возвращает все строки из левой таблицы (T1) и совпадающие строки из правой (T2). Если совпадений нет — значения из T2 будут NULL.

SELECT *
FROM T1
LEFT JOIN T2
ON T1.NAME = T2.NAME;


INNER JOIN
: Возвращает только совпадающие записи, присутствующие в обеих таблицах.

SELECT *
FROM T1
INNER JOIN T2
ON T1.NAME = T2.NAME;


RIGHT JOIN
: Возвращает все строки из правой таблицы (T2) и совпадающие строки из левой (T1). Если совпадений нет — значения из T1 будут NULL.
SELECT *
FROM T1
RIGHT JOIN T2
ON T1.NAME = T2.NAME;


LEFT JOIN (EXCLUDE T2)
: Возвращает записи, которые есть только в левой таблице.
SELECT *
FROM T1
LEFT JOIN T2
ON T1.NAME = T2.NAME
WHERE T2.ID IS NULL;


UNION ALL (EXCLUDE INNER)
: Возвращает записи, которые присутствуют только в одной из таблиц, исключая пересечение.
SELECT *
FROM T1
LEFT JOIN T2
ON T1.NAME = T2.NAME
WHERE T2.ID IS NULL

UNION ALL

SELECT *
FROM T1
RIGHT JOIN T2
ON T1.NAME = T2.NAME
WHERE T1.ID IS NULL;


RIGHT JOIN (EXCLUDE T1)
: Возвращает записи, которые есть только в правой таблице.
SELECT *
FROM T1
RIGHT JOIN T2
ON T1.NAME = T2.NAME
WHERE T1.ID IS NULL;


FULL OUTER JOIN
: Возвращает все записи из обеих таблиц: совпадающие и несовпадающие.
SELECT *
FROM T1
FULL OUTER JOIN T2
ON T1.NAME = T2.NAME;


UNION ALL
: Альтернатива FULL OUTER JOIN для СУБД, где он не поддерживается (например, MySQL).
SELECT *
FROM T1
LEFT JOIN T2
ON T1.NAME = T2.NAME

UNION ALL

SELECT *
FROM T1
RIGHT JOIN T2
ON T1.NAME = T2.NAME
WHERE T1.ID IS NULL;


👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Бесплатные курсы по ИИ Data Science и облачным технологиям

Платформа от IBM предлагает более 100 бесплатных курсов и проектов по искусственному интеллекту, анализу данных, облачным вычислениям и другим современным технологиям 👦

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Нашли мощную open-source платформу для работы с SQL через ИИ — WrenAI

WrenAI это Generative BI-платформа, которая позволяет задавать вопросы к данным обычным языком. Сервис автоматически генерирует SQL-запросы, строит визуализации и учитывает бизнес-контекст, а не просто угадывает структуру таблиц.

Что умеет:

• Поддерживает более 20 источников данных, включая PostgreSQL, MySQL, ClickHouse, Snowflake, BigQuery и другие.
• Генерирует SQL-запросы по описанию на естественном языке и помогает анализировать данные без ручного написания сложных запросов.
• Использует семантический слой (Semantic Layer), благодаря которому ИИ понимает связи между таблицами и бизнес-логику, значительно снижая вероятность ошибок при генерации SQL.
• Автоматически строит графики, дашборды и отчёты по результатам запросов.
• Поддерживает интеграцию с Claude Code, Cursor и другими AI-агентами.
• Полностью open-source (Apache 2.0) и может быть развёрнут в собственной инфраструктуре.

Если следите за развитием AI + SQL, Text-to-SQL и Generative BI, этот проект определённо стоит добавить в закладки.

https://github.com/Canner/WrenAI

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
Шпаргалка по проектированию веб систем System Design 101

Подробное руководство по архитектуре веб‑сервисов, которое обязательно стоит сохранить. Это перевод статьи от ByteByteGo опубликованный на Хабре

Сохраняем за лайк ❤️

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
5000+ бесплатных проектов

Python, JavaScript, Go, Rust, Java, C/C++ и другим технологиям для обучения через практику. 270+ тыс. звёзд на GitHub и регулярные обновления.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Вопрос по SQL: COALESCE и NULLIF

Что вернёт этот запрос?

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Варианты
Anonymous Quiz
29%
A
27%
B
39%
C
5%
D