Data Science. SQL hub
35.9K subscribers
914 photos
49 videos
37 files
973 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
💻Как сделать дамп PostgreSQL

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

Уверен, будет полезно)

📎 Статья

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍164🔥4
💻 Внутренности PostgreSQL: кэш системного каталога

Системный каталог, или просто каталог — это таблицы, в которых PostgreSQL хранит информацию обо всех остальных объектах, хранящихся в базе данных. К ним относятся таблицы, функции, триггеры, и т.д. Обращение к системному каталогу происходит часто, поэтому для него предусмотрен кэш. Давайте же разберемся, как этот кэш устроен.

Реализация кэша находится в следующих файлах:
syscache.{c,h} — реализация основных функций кэша. Функции оперируют с Datum’ами и HeapTuple’ами;

catcache.{c,h} — низкоуровневые функции, используемые syscache.c. Выделение и освобождение памяти реализовано здесь;

lsyscache.{c,h} — высокоуровневая обертка над syscache.c. Содержит функции «получить имя отношения по его Oid» и подобного рода;

inval.{c,h} — логика инвалидации кэша. Подробности см ниже по тексту;

sinvaladt.{c,h} — реализация кольцевого буфера в разделяемой памяти, через который рассылаются сообщения об инвалидации кэшей;

sinval.{c,h} — интерфейс коммуникации через sinvaladt.c. Содержит функции вроде «отправить / получить SharedInvalidationMessage»;

📎 Подробнее

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥2
💻Работа с PostgreSQL: настройка и масштабирование — открытый учебник

Держите ценный контент — открытый учебник от А. Ю. Васильева aka leopard по Postgres.
Нереально полезно, здесь раскрывается множество важных моментов, связанных с этой СУБД

📎 PDF

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍9🔥6
💻 Шпаргалка по SQL-инъекциям

Эта шпаргалка по SQL-инъекциям содержит примеры синтаксиса, который часто используется для проведения атак на БД. Примеры инъекций приведены для разных СУБД: Oracle, PostgreSQL, MySQL, MicrosoftSQL.
Проверьте, не подвержено ли ваше приложение SQL-инъекциям

🟡Рассматриваются SQL-инъекции для извлечения такой информации как:
├╼ Объединение строк
├╼ Подстрока
├╼ Комментарии
├╼ Версия базы данных
├╼ Содержимое базы данных
├╼ Условные ошибки
├╼ Извлечение данных с помощью сообщений об ошибках
├╼ Пакетные (или штабелированные) запросы
├╼ Временные задержки
├╼ Условные временные задержки
├╼ DNS lookup (Поиск DNS)
╰╼ DNS lookup с эксфильтрацией данных

📎 Шпаргалка

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥2
💻Руководство по MySQL JOIN с примерами

JOIN в MySQL — это мощный оператор, позволяющий объединять данные из нескольких таблиц на основе соответствия критериям.
Именно об этом и идёт речь в туториале, параллельно разбирается ещё много полезных вещей, рекомендую

Оглавление
Различные типы соединений в MySQL
— INNER JOIN
— LEFT JOIN
— RIGHT JOIN
— FULL JOIN (не поддерживается напрямую MySQL)

Реальные сценарии использования соединений в веб-разработке
— Отображение профилей пользователей с заказами
— Фильтрация товаров по категориям и брендам
— Отображение отзывов с информацией о продукте

Советы по эффективным и оптимизированным соединениям в MySQL

📎 Руководство

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🥰2😢1
💻Диагностика производительности PostgreSQL

В этой статье рассмотрим методы диагностики производительности PostgreSQL, которая состоит из 3 шагов.

🟡Шаг 1: Оптимизировать кластер

Для улучшения работы вашей базы данных используйте следующие методы диагностики производительности PostgreSQL:
— примените вертикальное или горизонтальное масштабирование и затем проведите анализ запросов;
— настройте конфигурационные параметры развернутого кластера. Например, используйте онлайн генераторы конфигурационных параметров.

🟡Шаг 2: Анализ логов

Обратите внимание, что включение анализаторов запросов может потреблять около 10% ресурсов. Но после завершения процесса анализа и оптимизации запросов производительность может значительно вырасти.

Вы можете использовать встроенные инструменты для анализа производительности PostgreSQL, чтобы идентифицировать узкие места и медленные запросы:
pg_stat_statements
pg_stat_kcache
auto_explain
log_min_duration_statement

🟡Шаг 3: Анализ планов

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

План запроса PostgreSQL описывает выполнение SQL-запроса, включая сортировку и фильтрацию, а также использование ресурсов во время выполнения.

📎 Статья

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🔥2👎1
💻Вопросы и ответы по SQL и по БД в целом

Держите, пригодится освежить самые основные моменты перед собеседованием.

Вот некоторые из затронутых здесь вопросов

🟡Вопросы по БД:
— Реляционные БД (SQL)
— Нереляционные БД (NoSQL): Key/Value, документные (документ-ориентированные), колоночные, графовые
— Что такое CAP-теорема (теорема Брюера)?
— Что такое свойство ACID в базе данных?

🟡Вопросы по SQL:
— Из каких подмножеств состоит SQL?
— Что подразумевается под таблицей и полем в SQL?
— В чем разница между операторами DELETE и TRUNCATE?
— Что такое соединения (JOIN) в SQL?
— В чем разница между типом данных CHAR и VARCHAR в SQL?
— Что такое первичный ключ (Primary key)?
— Что такое ограничения (Constraints)?
— Что такое уникальный ключ (Unique key)?
— Что такое внешний ключ (Foreign key)?
— Что подразумевается под целостностью данных?
— Какие уровни изолированности транзакций можешь назвать?
— Что вы подразумеваете под денормализацией?
— Напишите SQL-запрос для отображения текущей даты?

📎 Вопросы/ответы

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍176🔥4😢1
👣 Convex

Conve векторная бд, написанная в 200 тысяч строк Convex, "реактивной" базы данных, созданной с нуля на Rust.

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

git clone https://github.com/get-convex/convex-backend.git
cd convex-backend


Github
Docs

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥2🤯2
⭐️ Data Science разбор реальной задачи с собеседования. Прогнозирование оттока клиентов.

Смотреть
Данные
Ноутбук

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2