Тренажёр SQL для бэкенд-разработчиков
Полезный ресурс, чтобы освоить SQL или освежить базу перед собеседованием. Формат простой: короткое объяснение, затем практические задания с запросами прямо в браузере.
https://sqlbolt.com/
👉 @SQLPortal
Полезный ресурс, чтобы освоить SQL или освежить базу перед собеседованием. Формат простой: короткое объяснение, затем практические задания с запросами прямо в браузере.
https://sqlbolt.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос по SQL
Проверьте, насколько хорошо вы понимаете разницу между
👉 @SQLPortal
Проверьте, насколько хорошо вы понимаете разницу между
RANK() и DENSE_RANK() в SQL.Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Если вы хотите перейти в дата-инжиниринг, но не знаете, с чего начать, вот дорожная карта.
👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Backend as a Service: что такое BaaS и когда его использовать
Аутентификация, база данных, хранение файлов и обновления в реальном времени — типовые задачи можно закрыть готовой платформой. Именно такой подход предлагают BaaS-сервисы.
В статье freeCodeCamp разобрали основные возможности BaaS, сценарии применения и платформы вроде Firebase, Supabase и Appwrite. В конце — короткий пример начала работы с Firebase. Материал вводный, подойдёт для знакомства с темой.
Читать статью
👉 @SQLPortal
Аутентификация, база данных, хранение файлов и обновления в реальном времени — типовые задачи можно закрыть готовой платформой. Именно такой подход предлагают BaaS-сервисы.
В статье freeCodeCamp разобрали основные возможности BaaS, сценарии применения и платформы вроде Firebase, Supabase и Appwrite. В конце — короткий пример начала работы с Firebase. Материал вводный, подойдёт для знакомства с темой.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
DELETE ≠ TRUNCATE ≠ DROP
Все три команды удаляют данные, но делают это по-разному.
DELETE
➜ Удаляет выбранные строки из таблицы.
➜ Позволяет задать условие
TRUNCATE
➜ Удаляет все строки из таблицы.
➜ Сохраняет её структуру.
DROP
➜ Удаляет саму таблицу: данные, индексы, ограничения и определение структуры.
Как запомнить:
• DELETE — удалить строки.
• TRUNCATE — очистить таблицу.
• DROP — удалить таблицу.
Примеры:
Когда использовать каждую команду?
DELETE
• Нужно удалить конкретные записи.
• Требуется фильтрация через
• Могут срабатывать триггеры, а удаление обычно журналируется на уровне строк.
TRUNCATE
• Нужно быстро очистить всю таблицу.
• Таблица понадобится для дальнейшей работы.
• Часто применяется для временных или промежуточных данных.
DROP
• Таблица больше не нужна.
• Требуется удалить и данные, и определение её структуры.
Ловушка на собеседовании:
👉 @SQLPortal
Все три команды удаляют данные, но делают это по-разному.
DELETE
➜ Удаляет выбранные строки из таблицы.
➜ Позволяет задать условие
WHERE.TRUNCATE
➜ Удаляет все строки из таблицы.
➜ Сохраняет её структуру.
DROP
➜ Удаляет саму таблицу: данные, индексы, ограничения и определение структуры.
Как запомнить:
• DELETE — удалить строки.
• TRUNCATE — очистить таблицу.
• DROP — удалить таблицу.
Примеры:
-- Удаляет строку с id = 101
DELETE FROM users WHERE id = 101;
-- Удаляет все строки, сохраняя таблицу
TRUNCATE TABLE users;
-- Удаляет саму таблицу
DROP TABLE users;
Когда использовать каждую команду?
DELETE
• Нужно удалить конкретные записи.
• Требуется фильтрация через
WHERE.• Могут срабатывать триггеры, а удаление обычно журналируется на уровне строк.
TRUNCATE
• Нужно быстро очистить всю таблицу.
• Таблица понадобится для дальнейшей работы.
• Часто применяется для временных или промежуточных данных.
DROP
• Таблица больше не нужна.
• Требуется удалить и данные, и определение её структуры.
Ловушка на собеседовании:
DELETE FROM users; без WHERE удаляет все строки, но сохраняет таблицу. Это не то же самое, что DROP TABLE users;. Сохраните шпаргалку, если изучаете SQL или готовитесь к собеседованию.Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
🗄 Что важно учесть, если ИИ-агент ищет по корпоративным данным?
6 октября в Архитектурном клубе Яндекс 360 разберут, как устроить поиск для ИИ-агента: сочетать полнотекстовый и векторный поиск, работать с метаданными и фильтрами и учитывать права доступа.
Даниил Смирнов, руководитель разработки ИИ-платформы Яндекс 360, покажет, как изолировать данные пользователей и организаций и не допускать появления чужих фрагментов из индекса или кеша. Ещё обсудят оценку качества поиска и итогового ответа агента.
🗓 6 октября, 17:00 МСК
💻 Онлайн, бесплатно
→ Зарегистрироваться на эфир
6 октября в Архитектурном клубе Яндекс 360 разберут, как устроить поиск для ИИ-агента: сочетать полнотекстовый и векторный поиск, работать с метаданными и фильтрами и учитывать права доступа.
Даниил Смирнов, руководитель разработки ИИ-платформы Яндекс 360, покажет, как изолировать данные пользователей и организаций и не допускать появления чужих фрагментов из индекса или кеша. Ещё обсудят оценку качества поиска и итогового ответа агента.
🗓 6 октября, 17:00 МСК
💻 Онлайн, бесплатно
→ Зарегистрироваться на эфир
Нет, это не одно и то же.
Для проверки на
✔️ Используйте
✔️ Используйте
👉 @SQLPortal
Для проверки на
NULL в SQL нельзя использовать = NULL. NULL означает неизвестное значение, поэтому сравнение с ним возвращает UNKNOWN, а не FALSE.✔️ Используйте
IS NULL.✔️ Используйте
IS NOT NULL.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
PostgreSQL: почему резерв на 30 минут исчезал через пять
Полезный кейс о том, как различия конфигурации между окружениями превращаются в ошибки бизнес-логики.
В статье разбирают инцидент на стеке Go, GORM, pgx и PostgreSQL: разницу между
https://habr.com/ru/articles/1085828/
👉 @SQLPortal
Полезный кейс о том, как различия конфигурации между окружениями превращаются в ошибки бизнес-логики.
В статье разбирают инцидент на стеке Go, GORM, pgx и PostgreSQL: разницу между
timestamp и timestamptz, влияние таймзоны сессии на NOW() и сравнения дат, а также фиксацию UTC в подключении и проверку настроек при старте.https://habr.com/ru/articles/1085828/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Партиционирование vs шардинг: в чём разница?
Таблица растёт, запросы замедляются, обслуживать данные становится сложнее. Партиционирование и шардинг помогают разделить данные на части, но решают разные задачи.
Партиционирование разбивает большую таблицу на разделы, например по месяцам. В показанном сценарии они остаются на одном сервере. Это упрощает обслуживание и позволяет подходящим запросам читать только нужные разделы.
Шардинг распределяет данные между несколькими серверами по ключу, например
Оба подхода можно сочетать: внутри каждого шарда таблицы могут быть партиционированы. Сохраняйте схему
👉 @SQLPortal
Таблица растёт, запросы замедляются, обслуживать данные становится сложнее. Партиционирование и шардинг помогают разделить данные на части, но решают разные задачи.
Партиционирование разбивает большую таблицу на разделы, например по месяцам. В показанном сценарии они остаются на одном сервере. Это упрощает обслуживание и позволяет подходящим запросам читать только нужные разделы.
Шардинг распределяет данные между несколькими серверами по ключу, например
user_id или tenant_id. Это позволяет распределять нагрузку и объём хранения, но усложняет запросы между шардами и перенос данных.Оба подхода можно сочетать: внутри каждого шарда таблицы могут быть партиционированы. Сохраняйте схему
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3