Опыт внедрения greenplum в aviasales.ru
TRANSCRIPT
![Page 2: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/2.jpg)
Проблема
Поиск решения
Архитектура
Инсталляция
Эксплуатация
![Page 3: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/3.jpg)
Что имеем
Большое количество данных (3 TB)
Долгое построение отчетов
3 сервера (64 Ram x 1TB SSD)
![Page 4: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/4.jpg)
Поиск решения
MPP архитектура
Адекватная стоимость/Open source
Простота работы и администрирования
Адекватный язык запросов
Наличие готовых BI инструментов
![Page 5: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/5.jpg)
Open source
MPP architecture
Extension (not fork)
cstore_fdw + pg_shard
No DML
Limited joins
No CTE
![Page 6: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/6.jpg)
Amazon dwh
PostgreSQL 8.2
Column store
MPP architecture
$13k per year (TB)
![Page 7: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/7.jpg)
Open source
MPP architecture
Hybrid row/column store
PostgreSQL 8.2 (8.3)
PostgreSQL 8.2 (8.3)
![Page 8: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/8.jpg)
8.3 Full text search (Apache SOLR)
8.4 Analytics functions (sum(baz) OVER (PARTITION BY foo))
8.4 CTE (WITH foo AS select * from bar)
9.5 GROUPING SETS/CUBE/ ROLLUP
9.6 parallel seq scan/aggregate (by design)
![Page 9: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/9.jpg)
Fast
Very fast
Open source
Very specific SQL
Yandex ClickHouse
Horrible joins
Cant delete data(*)
Александр Зайцев. «Переезжаем на Yandex ClickHouse»
![Page 10: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/10.jpg)
Tests
25M rows
![Page 11: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/11.jpg)
0
50
100
150
200
1 week 1 month 3 month
Redshift Greenplum
Time in seconds (lower is better)
![Page 12: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/12.jpg)
Time in seconds (lower is better)
0
17.5
35
52.5
70
Test 1 Test 2 Test 3
Yandex Clickhouse Greenplum
![Page 13: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/13.jpg)
Архитектура
SQL
Master Node
Segment host Segment host
Segment host
Подробнее в блоге компании Тинькофф на Хабре
![Page 14: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/14.jpg)
Beginners guide
Greenplum installation guide
10G interconnect
More disks (RAID 10)
swapoff
![Page 15: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/15.jpg)
gpfdist — parallel file distribution program (more than 100GB)
s3 external tables (read/write/gzip)
COPY on master node (less than 100GB)
Don’t forget about VACUUM
Data loading
![Page 16: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/16.jpg)
Data loading
No JSON type
pl/python + ujson
Don’t use JSON, please
Make columns from json fields (schema)
![Page 17: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/17.jpg)
Default Monitoring
Greenplum command center
Basic charts and metrics
Query monitor
Historic data
![Page 18: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/18.jpg)
![Page 19: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/19.jpg)
Monitoring in Aviasales
CPU+RAM+IO+LOCKS and other PostgreSQL stuff
Resource queues
Spilling queries gp_toolkit.gp_workfile* view
Telegraf — collect metrics
Grafana dashboards (4.0 alerts)
![Page 20: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/20.jpg)
![Page 21: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/21.jpg)
![Page 22: Опыт внедрения Greenplum в Aviasales.ru](https://reader033.vdocuments.net/reader033/viewer/2022052313/58ecf3e91a28ab05218b45af/html5/thumbnails/22.jpg)
5TB compressed data (14TB uncompressed)
No aggregates
Near realtime BI