SWE notes
Недавно состоялся релиз TimescaleDB 2.0 (если кто не знает это БД оптимизированная под работу с временными рядами на основе PostgreSQL). И одна из основных фич этого релиза - это распределенные гипертаблицы. В описании говорится что это такая таблица, которая…
Более детальное описание работы гипертаблицы
#timescaledb #postgresql #sharding
https://blog.timescale.com/blog/building-a-distributed-time-series-database-on-postgresql/
#timescaledb #postgresql #sharding
https://blog.timescale.com/blog/building-a-distributed-time-series-database-on-postgresql/
Timescale Blog
Building a distributed time-series database on PostgreSQL
Today we are announcing the distributed version of TimescaleDB, which is currently in private beta (public version slated for later this year).
Лонгрид на тему структуры Btree, которая используется для индексов во многих БД
#structure #btree #postgresql
https://erthalion.info/2020/11/28/evolution-of-btree-index-am/
#structure #btree #postgresql
https://erthalion.info/2020/11/28/evolution-of-btree-index-am/
Интересная статья про работу с древовидными структурами данных в PostgreSQL. Задача такая не редко встречается при работе с различными справочниками.
#postgresql #tree
https://hoverbear.org/blog/postgresql-hierarchical-structures/
#postgresql #tree
https://hoverbear.org/blog/postgresql-hierarchical-structures/
hoverbear.org
Hierarchical Structures in PostgreSQL
Modelling hierarchical/team/categorical/tag data with arbitrary depths.
Хорошая вводная статья о способах построения аналитических аггрегатах в БД и какие особенности MVCC при этом надо учитывать.
#postgresql #analitycs #db
https://m.habr.com/ru/company/tensor/blog/539016
#postgresql #analitycs #db
https://m.habr.com/ru/company/tensor/blog/539016
Хабр
Агрегаты в БД — зачем, как, а стоит ли?
С течением жизни приложения в его БД накапливается все больше данных. Десктопное оно, SaaS или даже мобильное - неважно, в современном мире почти каждый что-то хранит "у себя". Если это какая-то...
SWE notes
Хорошая вводная статья о способах построения аналитических аггрегатах в БД и какие особенности MVCC при этом надо учитывать. #postgresql #analitycs #db https://m.habr.com/ru/company/tensor/blog/539016
Наткнулся на продолжение данной статьи, но как по мне то, что описано тут является анти-патерном и так делать не надо...
И для таких задач например в том же Clickhouse есть представления, которые автоматом обновляются при вставке в родительскую таблицу...
И да, как по мне, очень большое заблуждение полагать что вам при анализе данных всегда нужен ACID (практически всегда это не так)
#postgresql #analitycs #clickhouse
https://m.habr.com/ru/company/tensor/blog/539638/
И для таких задач например в том же Clickhouse есть представления, которые автоматом обновляются при вставке в родительскую таблицу...
И да, как по мне, очень большое заблуждение полагать что вам при анализе данных всегда нужен ACID (практически всегда это не так)
#postgresql #analitycs #clickhouse
https://m.habr.com/ru/company/tensor/blog/539638/
Хабр
Агрегаты в БД — эффективная обработка потока «фактов»
Предположим, вам надо обработать на PostgreSQL большое (не, не так... БОЛЬШОЕ) количество записей, чтобы посчитать какие-нибудь агрегаты. В предыдущей статье были разобраны различные варианты,...
Forwarded from emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Хорошее руководство для тех, кому предстоит изменять структуру базы данных PostgreSQL с большими массивами данных без downtime:
"PostgreSQL at Scale: Database Schema Changes Without Downtime" by James Coleman
https://medium.com/braintree-product-technology/postgresql-at-scale-database-schema-changes-without-downtime-20d3749ed680
#Database #PostgreSQL
"PostgreSQL at Scale: Database Schema Changes Without Downtime" by James Coleman
https://medium.com/braintree-product-technology/postgresql-at-scale-database-schema-changes-without-downtime-20d3749ed680
#Database #PostgreSQL
Medium
PostgreSQL at Scale: Database Schema Changes Without Downtime
Braintree Payments uses PostgreSQL as its primary datastore. We rely heavily on the data safety and consistency guarantees a traditional…
Статья в которой неплохое сравнение sql и nosql бд с описанием их плюсов и минусов и в каких случаях что лучше использовать... В целом я согласен с описанным в статье
#sql #nosql #mongodb #postgresql
https://m-cacm.acm.org/blogs/blog-cacm/250843-nosql-vs-sql/fulltext
#sql #nosql #mongodb #postgresql
https://m-cacm.acm.org/blogs/blog-cacm/250843-nosql-vs-sql/fulltext
cacm.acm.org
NoSQL vs. SQL
Broadly, NoSQL has an absence of strict schemas for entities/attributes, while SQL rigidly relates/regulates the two.
Не знаю зачем так делать, но вдруг кому-то пригодится работать с Pandas (такая библиотека для работы с данными на python) внутри PostgreSQL
#postgresql #pandas #python
https://blog.crunchydata.com/blog/recommendation_engine_in_postgres_with_pandas_and_python
#postgresql #pandas #python
https://blog.crunchydata.com/blog/recommendation_engine_in_postgres_with_pandas_and_python
Crunchy Data
Building a recommendation engine inside Postgres with Python and Pandas | Crunchy Data Blog
Learn how you can leverage Python and Pandas from directly inside PostgreSQL to build your own recommendation engine.
Для тех кто считает что jsonb в postgresql может заменить монгу, очень рекомендую ознакомиться со статьёй ниже об особенностях его работы и хранения
#postgresql #jsonb
https://scalegrid.io/blog/using-jsonb-in-postgresql-how-to-effectively-store-index-json-data-in-postgresql/
#postgresql #jsonb
https://scalegrid.io/blog/using-jsonb-in-postgresql-how-to-effectively-store-index-json-data-in-postgresql/
ScaleGrid
JSONB PostgreSQL: How To Store & Index JSON Data
In this post, we are going to show you tips and techniques on how to effectively store and index JSON data in PostgreSQL. Learn more about JSONB in Postgres.
Интересная заметка о том, что для сортировки таблицы в postgresql важен порядок полей при создании.
Если коротко, то
#postgresql #tips
https://www.cybertec-postgresql.com/en/shrinking-the-storage-footprint-of-data/
Если коротко, то
в начале должны идти поля с фиксированным размером длинны, а затем с переменным
.#postgresql #tips
https://www.cybertec-postgresql.com/en/shrinking-the-storage-footprint-of-data/
CYBERTEC PostgreSQL | Services & Support
Shrink the storage footprint of PostgreSQL data
Keep the order of your columns in mind to unleash optimization potentials and reduce the table size in your PostgreSQL database.
Коротенькая статья об отличии фильтрации через ON и WHERE условия в PostgreSQL. В статье написаны очевидные вещи, но не все о них знают.
Если вкратце, то основная разница в выполнении всплывает когда делаешь LEFT JOIN, так как условие фильтрации в ON для таблицы слева выполняется перед JOIN, а для WHERE - после.
#postgresql #tips #join
https://www.pluralsight.com/guides/using-on-versus-where-clauses-to-combine-and-filter-data-in-postgresql-joins
Если вкратце, то основная разница в выполнении всплывает когда делаешь LEFT JOIN, так как условие фильтрации в ON для таблицы слева выполняется перед JOIN, а для WHERE - после.
#postgresql #tips #join
https://www.pluralsight.com/guides/using-on-versus-where-clauses-to-combine-and-filter-data-in-postgresql-joins
Pluralsight
Using ON Versus WHERE Clauses to Combine and Filter Data in PostgreSQL Joins
Небольшая статейка о том, как отключение autocommit в postgresql может принести сюрпризов, а именно привести к блокировкам в БД
#postgresql #transaction
https://www.cybertec-postgresql.com/en/disabling-autocommit-in-postgresql-can-damage-your-health/
#postgresql #transaction
https://www.cybertec-postgresql.com/en/disabling-autocommit-in-postgresql-can-damage-your-health/
CYBERTEC PostgreSQL | Services & Support
Disabling autocommit in PostgreSQL can damage your health
This article describes the problems you can get into if you disable autocommit in your interactive client and shows how the DBA can defend against that.
Планировщик задач для postgresql. Возможно кому-то пригодиться...
#postgresql #cron
https://github.com/cybertec-postgresql/pg_timetable
#postgresql #cron
https://github.com/cybertec-postgresql/pg_timetable
GitHub
GitHub - cybertec-postgresql/pg_timetable: pg_timetable: Advanced scheduling for PostgreSQL
pg_timetable: Advanced scheduling for PostgreSQL. Contribute to cybertec-postgresql/pg_timetable development by creating an account on GitHub.
Статья о том как можно делать аналитические запросы с промежуточными агрегациями в postgresql
#postgresql #bi #olap
https://www.cybertec-postgresql.com/en/postgresql-grouping-sets-rollup-cube/
#postgresql #bi #olap
https://www.cybertec-postgresql.com/en/postgresql-grouping-sets-rollup-cube/
CYBERTEC PostgreSQL | Services & Support
PostgreSQL grouping sets: ROLLUP & CUBE
PostgreSQL offers many OLAP-style workload features. One of those features is called “GROUPING SETS”. Let's deep dive into ROLLUP & CUBE:
Нашел сегодня на просторах интернета подготовленные под OSM геоданные для заргузки в PostgreSQL (даже включая данные отдельных регионов РФ).
Вот только интересно как часто они будут актуализироваться...
#postgresql #osm #postgis
https://gis.cybertec-postgresql.com
Вот только интересно как часто они будут актуализироваться...
#postgresql #osm #postgis
https://gis.cybertec-postgresql.com
Cybertec-Postgresql
PostGIS OSM Downloader
Download your OpenStreetMap data fast, easy and for free.
Статья о том как сделать очередь средствами PostgreSQL (для тех кто любит минималистичный стек =))
#postgresql #queue
https://blog.crunchydata.com/blog/message-queuing-using-native-postgresql
#postgresql #queue
https://blog.crunchydata.com/blog/message-queuing-using-native-postgresql
Crunchy Data
Devious SQL: Message Queuing Using Native PostgreSQL
An interesting question came up on the postgresql IRC channel about how to use native PostgreSQL features to handle some sort of queuing behavior. While the specific usage was related to handling serialization of specific events to some external broker, the…
Более полезная статья по настройке keepalive для PostgreSQL
#postgresql #keepalive
https://www.cybertec-postgresql.com/en/tcp-keepalive-for-a-better-postgresql-experience/
#postgresql #keepalive
https://www.cybertec-postgresql.com/en/tcp-keepalive-for-a-better-postgresql-experience/
CYBERTEC PostgreSQL | Services & Support
TCP keepalive for a better PostgreSQL experience
UPDATED June 2023 - Describes how you can configure TCP keepalive to keep idle PostgreSQL connections open and to detect broken connections.
Расширение для использования GraphQL в PosrgeSQL вдруг кому-то пригодиться...
#postgresql #graphql
https://supabase.com/blog/2021/12/03/pg-graphql
#postgresql #graphql
https://supabase.com/blog/2021/12/03/pg-graphql
Supabase
pg_graphql: A GraphQL extension for PostgreSQL
GraphQL support is in development for PostgreSQL + Supabase.
Полезные советы по работе с геоданными в PostgreSQL
#postgresql #postgis #geopostal
https://blog.crunchydata.com/blog/tricks-for-faster-spatial-indexes
#postgresql #postgis #geopostal
https://blog.crunchydata.com/blog/tricks-for-faster-spatial-indexes
Crunchy Data
Tricks for Faster Spatial Indexes
Learn about how structuring an index based on the inputs it receives and the order of inputs can have a strong effect on the quality of the final index. This post includes a lot of example code and geometry.
Статья про устройство GIN индекса в PostgreSQL
#postgresql #gin #index
https://pganalyze.com/blog/gin-index
#postgresql #gin #index
https://pganalyze.com/blog/gin-index
pganalyze
Understanding Postgres GIN Indexes: The Good and the Bad
Learn for which data types and operators GIN is best suited for and why updating GIN indexes can be more expensive thank you think.