Telegram Group & Telegram Channel
DB Index и партиционирование

Некоторое время работаю с датамартами на Postgres. В этой связи, решил собрать в кучу мысли по партиционированию данных в DB. Сошлюсь на тред в stackoverflow и постгресовскую документацию

Организация индексов
- Один многоколоночный индекс лучше, чем несколько одноколоночных, если фильтруем по нескольким колонкам
- Несколько одноколоночных индексов эффективнее, если часто фильтруем только по одной колонке
- Если данные временные, то партиционируем. Ставим фильтр по временной колонке + добавляем в индекс те, по которым чаще всего фильтруем. В итоге получаем многоколоночный индекс вида (date, publisher, country, ...).

Что по датамартам?
- Для датамартов делаем партиции по колонкам, по которым чаще всего фильтруем
- Таблицы с разной степенью агрегации: raw час, hourly день, daily месяц
- materialized view поверх них
- Redash или Superset делает запрос уже к materialized view

Какие альтернативы Постгресу?

TimescaleDB
Это расширение под постгрес для временных данных. Разбиваем данные на гипертаблицы, которые автоматически партиционируются по времени + можно выбрать опционально партиционирование по ключу. При этом так же Постгрес не скейлится горизонтально

Apache Druid
Колоночная OLAP DB. Ее уже можно скейлить горизонтально. Но не поддерживает join'ы. SQL синтаксис доступен через Druid SQL



group-telegram.com/dsinsights/352
Create:
Last Update:

DB Index и партиционирование

Некоторое время работаю с датамартами на Postgres. В этой связи, решил собрать в кучу мысли по партиционированию данных в DB. Сошлюсь на тред в stackoverflow и постгресовскую документацию

Организация индексов
- Один многоколоночный индекс лучше, чем несколько одноколоночных, если фильтруем по нескольким колонкам
- Несколько одноколоночных индексов эффективнее, если часто фильтруем только по одной колонке
- Если данные временные, то партиционируем. Ставим фильтр по временной колонке + добавляем в индекс те, по которым чаще всего фильтруем. В итоге получаем многоколоночный индекс вида (date, publisher, country, ...).

Что по датамартам?
- Для датамартов делаем партиции по колонкам, по которым чаще всего фильтруем
- Таблицы с разной степенью агрегации: raw час, hourly день, daily месяц
- materialized view поверх них
- Redash или Superset делает запрос уже к materialized view

Какие альтернативы Постгресу?

TimescaleDB
Это расширение под постгрес для временных данных. Разбиваем данные на гипертаблицы, которые автоматически партиционируются по времени + можно выбрать опционально партиционирование по ключу. При этом так же Постгрес не скейлится горизонтально

Apache Druid
Колоночная OLAP DB. Ее уже можно скейлить горизонтально. Но не поддерживает join'ы. SQL синтаксис доступен через Druid SQL

BY ML Advertising




Share with your friend now:
group-telegram.com/dsinsights/352

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Telegram Messenger Blocks Navalny Bot During Russian Election The news also helped traders look past another report showing decades-high inflation and shake off some of the volatility from recent sessions. The Bureau of Labor Statistics' February Consumer Price Index (CPI) this week showed another surge in prices even before Russia escalated its attacks in Ukraine. The headline CPI — soaring 7.9% over last year — underscored the sticky inflationary pressures reverberating across the U.S. economy, with everything from groceries to rents and airline fares getting more expensive for everyday consumers. These entities are reportedly operating nine Telegram channels with more than five million subscribers to whom they were making recommendations on selected listed scrips. Such recommendations induced the investors to deal in the said scrips, thereby creating artificial volume and price rise. The next bit isn’t clear, but Durov reportedly claimed that his resignation, dated March 21st, was an April Fools’ prank. TechCrunch implies that it was a matter of principle, but it’s hard to be clear on the wheres, whos and whys. Similarly, on April 17th, the Moscow Times quoted Durov as saying that he quit the company after being pressured to reveal account details about Ukrainians protesting the then-president Viktor Yanukovych. Founder Pavel Durov says tech is meant to set you free
from us


Telegram ML Advertising
FROM American