Двоякое впечатление произвела статья. С одной стороны - тема мне близка, т.к. я посвятил 12 лет моей карьеры подобной теме - Let’s say that you’re building Car Fleet Management System. И вроде бы с одной стороны в статье всё логически связано и корректно с точки зрения workflow. С другой стороны - нарочитая простота решения не должна вводить в заблуждение тех, кто собирается делать подобные системы - там под капотом триллион всяких подводных камней, начиная с того что в реляционные СУБД координаты машин не кладут.
Но в целом - для того, чтобы посмотреть что умеет Postgres и TimescaleDB - это неплохая демонстрация, простая и наглядная с точки зрения реализации. Ну и немного #dotnet там тоже есть :)) #postgres
Но в целом - для того, чтобы посмотреть что умеет Postgres и TimescaleDB - это неплохая демонстрация, простая и наглядная с точки зрения реализации. Ну и немного #dotnet там тоже есть :)) #postgres
event-driven.io
Postgres Superpowers in Practice - Event-Driven.io
Event-Driven by Oskar Dudycz
Чуть более десятка полезных запросов для Postgres собрал и оформил с примерами. Для одного поста в телегу - это слишком много (особенно с разметкой примеров вывода). Так что положил в виде gist на github:
🔸Текущие выполняемые запросы
🔸Запросы, выполняемые более 1 секунды
🔸Таблицы с % попадания в кэш при их использовании
🔸Размеры таблиц (включая индексы)
🔸Размеры индексов
🔸Размер текущей БД
🔸Размеры и наличие временных файлов
🔸Статистика по чтению индексов
🔸Статистика использования индексов
🔸Топ 5 самых активных таблиц
🔸Топ 5 самых активных индексов
🔸Никогда не использованные индексы
#postgres
🔸Текущие выполняемые запросы
🔸Запросы, выполняемые более 1 секунды
🔸Таблицы с % попадания в кэш при их использовании
🔸Размеры таблиц (включая индексы)
🔸Размеры индексов
🔸Размер текущей БД
🔸Размеры и наличие временных файлов
🔸Статистика по чтению индексов
🔸Статистика использования индексов
🔸Топ 5 самых активных таблиц
🔸Топ 5 самых активных индексов
🔸Никогда не использованные индексы
#postgres
👍8🔥6🤓1
Как-то прошло мимо и я заметил только щас, что недавно был анонсирован pl/dotnet (там есть ссылка на github), который позволяет писать функции и процедуры на C# для Postgres.
В прод конечно же я бы это затаскивать не стал, потому что версия 0.99beta (что как бы намекает), ну и помня историю с появлением аналогичного в MSSQL - где в первых версиях (ну как в первых, в mssql 2005 что ли) на каждый вызов создавался app domain, а после вызова удалялся. В эпоху .net 4.0 это было небыстро и било по перфомансу запросов прилично, а также регулярно отрывало башку оптимизатору, который не знал как оценить план выполнения такой функции. Так что в первых версиях это можно было использовать только для каких-нибудь единичных штук (отправить емайл, распарсить файл, дёрнуть урл, ...). Потом это конечно же починили, но я никогда так и решился использовать .net внутри mssql.
Но времена нынче другие, .net стал сильно побыстрее и думаю там это вполне пригодно. Не могу пока придумать зачем, но интересно.
#dotnet #postgres
В прод конечно же я бы это затаскивать не стал, потому что версия 0.99beta (что как бы намекает), ну и помня историю с появлением аналогичного в MSSQL - где в первых версиях (ну как в первых, в mssql 2005 что ли) на каждый вызов создавался app domain, а после вызова удалялся. В эпоху .net 4.0 это было небыстро и било по перфомансу запросов прилично, а также регулярно отрывало башку оптимизатору, который не знал как оценить план выполнения такой функции. Так что в первых версиях это можно было использовать только для каких-нибудь единичных штук (отправить емайл, распарсить файл, дёрнуть урл, ...). Потом это конечно же починили, но я никогда так и решился использовать .net внутри mssql.
Но времена нынче другие, .net стал сильно побыстрее и думаю там это вполне пригодно. Не могу пока придумать зачем, но интересно.
#dotnet #postgres
😁2🤔2👍1
В продолжение предыдущего поста - например дока как работают Btree индексы в Postgres напрямую от производителя так сказать :) Да, английский, но в целом там написано понятно. #postgres #howto #db
Mastering PostgreSQL JSONB type - вводное how to для новичков как использовать jsonb в Postgres, включая разные штуки типа доступа к элементам json и их индексации #postgres #howto
👍2🤔1
Расширение для Postgres, которое генерит разные короткие уникальные идентификаторы #postgres
💩1
Ещё одна штука забавная игрушка для #postgres - AI который, генерит схемы и скрипты. Надо попробовать поиграть с какими-нибудь хитрыми запросами. Наверное зайдет студентам, чтобы практику делать по СУБД :)
🔥4👍1💩1
Твиттер принёс статью про использование Postgres как search engine
Ну, pg_trgm и tsvector я давно использую и они работают на удивление хорошо. Да, сотен миллиардов записей у меня нету, но на миллионах - они работают как заявлено. #postgres
Ну, pg_trgm и tsvector я давно использую и они работают на удивление хорошо. Да, сотен миллиардов записей у меня нету, но на миллионах - они работают как заявлено. #postgres
👍1💩1
Ещё одна статья про Postgres - How Postgres stores data on disk - полезно понимать как это всё храница на самом деле (файлы, страницы, записи) и в особенности потому что это легко к этому получить доступ (почти как в MSSQL, где тоже есть функции чтения на +/- таких данных низком уровне) #postgres
drew.silcock.dev
How Postgres stores data on disk – this one's a page turner | drew's dev blog
A high-level overview of how PostgreSQL stores data on disk, covering segments, pages and more.
👍3🔥1💩1
О ещё одна интересная статейка с картинками про оптимизацию в Postgres. По факту подход применим для многих реляционных СУБД, потому что плюс/минус форматы хранения у них часто похожи (записи/страницы). Разница в конкретных числах и некоторых особенностях хранения разных типов данных. #postgres
🔥2
Я тут ковырял MSSQL в одном проекте, а там использовалось page data compression для разного второстепенного барахла, что здорово сжимало данные и уменьшало IO. И надо сказать page data compression отлично подходит если данные меняются редко, а жмутся хорошо. И вспомнил, что в Postgres есть аналог, ну как аналог... штука, которую тоже можно использовать для сжатия данных - TOAST. И нашёл статью, где неплохо описывается в т.ч. структура (как оно лежит внутри) - и да, это полезно для понимания процессов и применения - где/когда можно, а где не стоит. #postgres
👍6🔥1