SQL и Анализ данных
12.4K subscribers
752 photos
91 videos
4 files
765 links
Базы данных и всё, что с ними связано!

Сотрудничество: @haarrp

РКН № 6766085482
Download Telegram
❔ Вопрос с собеседования

Когда LEFT JOIN может вернуть меньше строк, чем ожидается?

Ответ: Когда после LEFT JOIN в блоке WHERE используются условия на поля из правой таблицы без проверки на NULL. Такие условия отфильтровывают строки, в которых совпадений не было, и фактически превращают LEFT JOIN в INNER JOIN.

tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤2
💻 MVCC-5. Внутристраничная очистка и HOT

В статье объясняется, почему база данных в PostgreSQL со временем может раздуваться и замедляться, несмотря на удаление и обновление строк.

Разбирается, как работают внутристраничная очистка и HOT-обновления, и как понять, применяются ли они в вашей таблице и помогают ли экономить место.

⛓ Читать статью

tags: #статья #postgresql

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30😭15💯3
❔ Вопрос с собеседования

Что произойдёт, если удалить строку из таблицы, на которую ссылается внешний ключ?

Ответ: Если внешний ключ не настроен с ON DELETE, попытка удалить связанную строку из родительской таблицы вызовет ошибку — чтобы сохранить ссылочную целостность.

Чтобы задать нужное поведение, используют ON DELETE CASCADE (автоматическое удаление зависимых строк), SET NULL (обнуление внешнего ключа) или RESTRICT/NO ACTION (запрет на удаление при наличии связей).


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤8🔥6
💻 MVCC-6. Очистка

В статье объясняется, как работает процесс VACUUM и почему без него база со временем начинает занимать больше места и работать медленнее.

Автор разбирает ключевые этапы очистки, такие как удаление “мусорных” строк и обновление внутренних структур, влияющих на производительность.

⛓ Читать статью

tags: #статья #postgresql

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁49💊4🔥2❤1👍1
❔ Вопрос с собеседования

Можно ли создать индекс на представление (VIEW)?

Ответ: Нет, на обычное представление индекс создать нельзя. VIEW — это виртуальная структура, которая не хранит данные сама по себе, а каждый раз формирует результат заново при обращении.

Индексы работают только с объектами, которые действительно содержат данные — это таблицы и материализованные представления (MATERIALIZED VIEW). Только они могут быть проиндексированы для ускорения запросов.


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4😨4
💻 MVCC-7. Автоочистка

В статье разбирается, как autovacuum в PostgreSQL незаметно поддерживает производительность базы и что делать, если он перестаёт справляться.

Объясняется, как настроить параметры, отследить проблемы и избежать незаметного раздувания таблиц и падения скорости запросов.

⛓ Читать статью

tags: #статья #postgresql

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁50🔥14
❔ Вопрос с собеседования

Почему не рекомендуется применять функции к полям с индексом в WHERE?

Ответ: Потому что как только к колонке применяется функция (например, LOWER(name)), индекс перестаёт использоваться — СУБД больше не может воспользоваться порядком значений в индексе. В этом случае ей придётся просканировать всю таблицу построчно.

Чтобы сохранить эффективность индекса, лучше либо преобразовать данные заранее и хранить в отдельной колонке, либо использовать функциональный индекс, если это поддерживает СУБД (например, в PostgreSQL).


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2🔥1
💻 О векторных базах данных простым языком

В статье объясняется, как устроены векторные базы данных и почему они необходимы для работы с неструктурированными данными — такими как тексты, изображения и аудио.

Разбираются базовые принципы хранения и поиска по векторам, отличие от классических СУБД и реальные сценарии применения.

⛓ Читать статью

tags: #статья

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Когда твой код работает, но ты не знаешь как:

➡ SQL Community | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁38😨13🔥3
❔ Вопрос с собеседования

Чем отличается реляционная СУБД от документо-ориентированной?

Ответ: Реляционная СУБД (например, PostgreSQL, MySQL) хранит данные в таблицах с чёткой схемой: каждый столбец имеет заданный тип, а связи между таблицами выражаются через внешние ключи и JOIN.

Документо-ориентированная СУБД (например, MongoDB) хранит данные в виде документов, обычно в формате JSON или BSON. У таких документов может быть разная структура даже внутри одной коллекции. Вместо связей между таблицами используется вложенность, а масштабирование и изменение схемы происходят гибче.


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍8❤4
💻 MVCC-8. Заморозка

В заключительной статье цикла о многоверсионности в PostgreSQL рассматривается проблема переполнения 32-битного счетчика транзакций и механизм заморозки строк.

Автор объясняет, как система предотвращает сбои, помечая старые версии строк как «замороженные», и демонстрирует этот процесс на практических примерах.

⛓ Читать статью

tags: #статья

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
❔ Вопрос с собеседования

Что такое колоночная СУБД?

Ответ: Колоночная СУБД — это база данных, где данные хранятся по столбцам, а не по строкам, как в классических (реляционных) СУБД. Такой способ хранения позволяет эффективно обрабатывать аналитические запросы, быстро выполнять агрегатные функции и считывать только нужные поля.

Например, ClickHouse — популярная колоночная СУБД, которая справляется с миллиардами строк при подсчётах вроде AVG(price) быстрее, чем PostgreSQL, потому что читает только один столбец, а не всю строку целиком.


tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍4❤2
💻 Шардированный кластер ClickHouse

В статье разбирается, как организовать шардированный кластер ClickHouse для работы с большими объёмами данных без потери скорости.

Показано, как настроить вставку, чтение и объединение данных между шардами, чтобы обеспечить стабильную и масштабируемую обработку запросов.

⛓ Читать статью

tags: #статья

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Когда полез разбираться в чужом проекте 😆

➡ SQL Community | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁49🔥4👀1
❔ Вопрос с собеседования

Зачем использовать CHECK-ограничения в SQL?

Ответ: CHECK-ограничения позволяют задать условие, которому должно соответствовать значение в столбце. Это способ встроенной валидации на уровне базы: например, можно запретить отрицательные числа в поле salary, указав CHECK (salary > 0).

tags: #собеседование

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3
💻 Лучшие книги по PostgreSQL

Полезная подборка бесплатных книг по PostgreSQL на русском языке для изучения СУБД от основ до архитектурных тонкостей:

▶️ Postgres: первое знакомство — брошюра для новичков с кратким введением в PostgreSQL, установку и начальную настройку.

▶️ PostgreSQL. Основы языка SQL — учебник по SQL с акцентом на особенности реализации в PostgreSQL.

▶️ PostgreSQL. Профессиональный SQL — продолжение предыдущей книги, охватывающее оконные функции, CTE, подзапросы LATERAL, пользовательские функции и процедуры.

▶️ PostgreSQL 17 изнутри — глубокий разбор внутреннего устройства СУБД: MVCC, WAL, блокировки, планировщик запросов, индексы и многое другое.

▶️ Мониторинг PostgreSQL — практическое руководство по инструментам мониторинга, интерпретации метрик и пониманию внутренних процессов СУБД.

▶️ Путеводитель по базам данных — обзор архитектурных принципов современных СУБД, алгоритмов и структур данных, используемых в них.

▶️ Основы технологий баз данных — учебное пособие, охватывающее теорию баз данных, методы и алгоритмы, применяемые при реализации СУБД, и особенности PostgreSQL.


Все книги доступны для скачивания в формате PDF — по ссылке.

tags: #полезное

➡ SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3❤‍🔥2
1С-ники, забираем лайфхак 😆

➡ SQL Community | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁46🔥4👍2