397 subscribers
226 photos
46 videos
11 files
305 links
Data Engineering Technologies.
SQL, Python, Kafka, Spark, Pandas, Airflow, Clickhouse, Greenplum, Postgres, dbt

Буст канала тут - https://t.me/boost/data_engi
Download Telegram
Json or not Json. Плюсы и минусы использования Json в PostgreSQL / Олег Бартунов, Никита Глухов

скачать доклад
смотреть видео


#postgres #database #db #psql #json
👏1
В PostgreSQL индексы не содержат ссылку на кластерный индекс или первичный ключ, как в MySQL или MS SQL Server. Вместо этого, каждый индекс в PostgreSQL содержит указатель на строку таблицы на диске, называемый TID (tuple ID). TID состоит из двух компонент: номера блока и номера строки в блоке. Номер блока указывает на физическое расположение блока на диске, а номер строки - на конкретную строку в этом блоке.

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

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


#postgres #database #db #psql
👍3
PgAdmin - это бесплатное, мощное и популярное программное обеспечение администрирования PostgreSQL, которое позволяет управлять базами данных PostgreSQL и выполнить множество рутинных задач. Он доступен для Windows, Mac и Linux и является одним из самых широко используемых инструментов для управления базами данных PostgreSQL.

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

1️⃣ Создание, удаление и модификация таблиц в базе данных, создание ограничений на данные.

2️⃣ Создание и редактирование запросов SQL, выполняемых на сервере.

3️⃣ Просмотр и изменение данных в таблицах.

4️⃣ Управление пользователями и группами пользователей.

5️⃣ Поддержка нескольких серверов и свободный доступ к каждому из них.

6️⃣ Работа в графическом режиме, что делает работу с базой данных более удобной.

Без pgAdmin управление базой данных PostgreSQL будет гораздо более сложным. Программа предоставляет пользователю более простой способ доступа и управления информацией с помощью большого количества инструментов для работы с PostgreSQL. Он также позволяет пользователям работать с несколькими серверами одновременно, что облегчает их работу, уменьшает временные затраты и повышает производительность.

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

В заключение, pgAdmin - это эффективный и важный инструмент для управления базами данных PostgreSQL. Если вы работаете с PostgreSQL, то pgAdmin - это то, что вам нужно, чтобы сделать свою работу быстрее и проще.

#db #postgresql #postgres #pgadmin
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿1
SQL и хранилищам данных, полезные ссылки по теме:

🟡PostgreSQL

🔘Домашняя страница базы данных

🔘Что такое PostgreSQL? (краткие сведения)

🔘Документация к PostgreSQL 14.5 на русском языке

🔘Курс молодого бойца PostgreSQL

🔘Подборка статей

🔘Язык SQL

🟢Архитектура хранилищ данных

🔘Хранилище данных: понятия

🔘Архитектура хранилищ данных: традиционная и облачная

🔘Что такое хранилище данных?

🔘Публикации, рассказывающие о хранилищах данных, подборка Habr

🔘Обзор гибких методологий проектирования DWH

🔘Особенности построения хранилища данных на базе ClickHouse в Yandex Cloud

🔘Создание Data Lake и Warehouse на GCP

#sql #postgres #dwh #clickhouse #datalake
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
👩‍💻 Рекомендации при работе с PostgreSQL

▶️ Используй отдельные схемы для разных модулей

Скажем, тебе необходимо реализовать систему рассылки пуш-уведомлений на android-устройства клиентов. Ты пишешь сервис, который будет работать с FCM. Пишешь функции в своей БД, которые будут выдавать списки token-текст (да там много полей вообще).
Так вот, необходимо, чтобы такие ручки для разных модулей (бэкендов) лежали в отдельных схемах.

▶️ Используй группы ролей и назначай гранты именно на роли

Предположим, что ты реализовал пункт выше, теперь твой сервис должен подключаться к БД и крутить свои запросы. Но под каким пользователем? Не будет же он бегать под postgres или admin?)

▶️ Используй расширения

PostgreSQL — это мощная СУБД. Но и она не может быть универсальной. Не надо полагать, что всё делается штатными средствами PostgreSQL. Так-же не надо пробовать писать свои системы чего-либо.

▶️ Храни дататайм в timestamptz

Возьми за привычку в БД всегда хранить timestampTZ и когда-нибудь Тебе скажут большое спасибо за это.

▶️ Используй метрики

Пользуйся pg_stat_statements
Так-же рекомендую сразу установить расширения для мониторинга запросов (например pg_stat_statements)

▶️ В функциях лучше использовать CTE и длинные запросы, чем временные таблицы

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

▶️ Не делай партиции везде, где только можно

Да да, партиции — это круто. Но вот их использовать я бы рекомендовал только в некоторых случаях

▶️ Не забывай делать дополнительную статистику

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

▶️ Старайся не пихать всё в TOAST

Наверное сразу стоит добавить и тот пункт, что не надо хранить в TOAST, например json/text с дефолтным параметром хранения, аналитические данные.

#postgres
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4
🖼️ SQL генератор - Sqlcode 8b на базе Llama-3

Мощная языковая модель для генерации текста в SQL, которая находится на одном уровне с универсальными моделями.

🔜 Github
🔜 Weights
🔜 Demo

#sql #llm #postgres
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤‍🔥2😁1
🖼️ PostgREST — RESTful API для Postgres БД

PostgREST - это автономный веб-сервер, который напрямую преобразует твою БД PostgreSQL в RESTful API. Структурные ограничения и разрешения в БД определяют эндпоинты и операции API.

👩‍💻 Github
🟡 Docs

#postgres #api
Please open Telegram to view this post
VIEW IN TELEGRAM
8❤‍🔥1
🖼️ pg_lakehouse - расширение, которое преобразует Postgres в механизм аналитических запросов для объектных хранилищ, таких как S3, и табличных форматов, таких как Delta Lake. Запросы передаются в Apache DataFusion, который обеспечивает отличную аналитическую производительность.

#postgres #db #s3
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥2😁1
🦆

DuckDB: Простота работы с CSV файлами

Традиционные базы данных требуют предварительно определённой схемы таблицы и не поддерживают работу с CSV файлами без предварительной обработки. DuckDB решает эту проблему, позволяя напрямую считывать файлы CSV. Это устраняет необходимость в явном создании таблицы и загрузке данных, значительно упрощая процесс работы с данными.

👩‍💻 Github

#db #postgres #duckdb
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6
pg_cron - планировщик заданий на основе cron для PostgreSQL (10 и выше), который запускается внутри БД в качестве расширения. Он использует тот же синтаксис, что и обычный cron, но позволяет планировать команды PostgreSQL непосредственно из БД.

В pg_cron можно использовать "$" для указания последнего дня месяца.

Пример использования:

-- Vacuum every day at 3:00am (GMT)
SELECT cron.schedule('nightly-vacuum', '0 3 * * *', 'VACUUM');
schedule
----------
43

-- Stop scheduling jobs
SELECT cron.unschedule('nightly-vacuum' );
unschedule
------------
t

#cron #sql #postgres #postgresql
5
🖼️
PostgreSQL 16 изнутри

Разработчик СУБД Postgres Professional выпустил новую книгу «PostgreSQL 16 изнутри». Электронная версия находится в свободном доступе . Автор книги — Егор Рогов, директор по развитию образовательных программ Postgres Professional.

Первое издание этой книги, основанной на 14-й версии PostgreSQL, вышло в марте 2022 года и обновлено до версии 15. В связи с большим читательским интересом компания перевела книгу на английский язык. Позже она стала самым популярным тематическим изданием 2023 года по версии Postgres Weekly и была включена в список профессиональной литературы на официальном сайте сообщества PostgreSQL.

В текущем издании книги «PostgreSQL 16 изнутри» учтены замечания читателей, исправлены опечатки и отражены изменения, произошедшие в версии PostgreSQL 16. Postgres Professional также обновил локализованную документацию для PostgreSQL 16.

#db #sql #postgres #postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
10
17😁5
PGlite — это революционная WASM-сборка PostgreSQL, которая позволяет запускать базу данных прямо в браузере без необходимости использования виртуальной машины Linux.

Теперь PostgreSQL компилируется в WebAssembly, что открывает возможность работы с эфемерными БД в памяти или на диске через IndexedDB.

В сочетании с Electric, PGLite становится идеальным инструментом для создания реактивных local-first приложений, где основой служит Postgres.

#WASM #FrontendMagic #pg #pglite #db #postgres #databases
9❤‍🔥11
SQLZoo — живой онлайн-тренажёр с задачами от простых SELECT до продвинутых оконных функций. Если хочешь свободно «разговаривать» с базами данных, тебе это нужно и будет полезным изучить каждый интерактивный урок.

1️⃣ Почему именно SQLZoo?
Платформа комбинирует теорию и практику в одном окне. Ты сразу видишь результат запроса, исправляешь ошибки на месте и не тратишь время на настройку окружения.

2️⃣ Как учиться быстрее?
🟡 Проходи уроки подряд: Basics 🔜 Joins 🔜 Aggregates 🔜 Windows.
🟡 Фиксируй новые приёмы в конспект: GROUP BY, HAVING, WITH RECURSIVE.
🟡 Старайся решить каждое задание без подсказок, а затем сравни свой запрос с эталоном.

3️⃣ Что получишь на выходе?
За пару вечеров наберёшься практики, которой хватает, чтобы читать чужие SQL-скрипты без боли и писать свои, не заглядывая в подсказки.

Чтобы SQL больше не был тёмным лесом - залетай сюда ➡️ sqlzoo.net

#sql #de #postgres
Please open Telegram to view this post
VIEW IN TELEGRAM
4