Опыт внедрения greenplum в aviasales.ru

23
Опыт внедрения Greenplum db в Aviasales Айнур Тимербаев [email protected]

Upload: -

Post on 11-Apr-2017

86 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Опыт внедрения Greenplum в Aviasales.ru

Опыт внедрения Greenplum db в Aviasales

Айнур Тимербаев [email protected]

Page 2: Опыт внедрения Greenplum в Aviasales.ru

Проблема

Поиск решения

Архитектура

Инсталляция

Эксплуатация

Page 3: Опыт внедрения Greenplum в Aviasales.ru

Что имеем

Большое количество данных (3 TB)

Долгое построение отчетов

3 сервера (64 Ram x 1TB SSD)

Page 4: Опыт внедрения Greenplum в Aviasales.ru

Поиск решения

MPP архитектура

Адекватная стоимость/Open source

Простота работы и администрирования

Адекватный язык запросов

Наличие готовых BI инструментов

Page 5: Опыт внедрения Greenplum в Aviasales.ru

Open source

MPP architecture

Extension (not fork)

cstore_fdw + pg_shard

No DML

Limited joins

No CTE

Page 6: Опыт внедрения Greenplum в Aviasales.ru

Amazon dwh

PostgreSQL 8.2

Column store

MPP architecture

$13k per year (TB)

Page 7: Опыт внедрения Greenplum в Aviasales.ru

Open source

MPP architecture

Hybrid row/column store

PostgreSQL 8.2 (8.3)

PostgreSQL 8.2 (8.3)

Page 8: Опыт внедрения Greenplum в Aviasales.ru

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

Fast

Very fast

Open source

Very specific SQL

Yandex ClickHouse

Horrible joins

Cant delete data(*)

Александр Зайцев. «Переезжаем на Yandex ClickHouse»

Page 10: Опыт внедрения Greenplum в Aviasales.ru

Tests

25M rows

Page 11: Опыт внедрения Greenplum в Aviasales.ru

0

50

100

150

200

1 week 1 month 3 month

Redshift Greenplum

Time in seconds (lower is better)

Page 12: Опыт внедрения Greenplum в Aviasales.ru

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

Архитектура

SQL

Master Node

Segment host Segment host

Segment host

Подробнее в блоге компании Тинькофф на Хабре

Page 14: Опыт внедрения Greenplum в Aviasales.ru

Beginners guide

Greenplum installation guide

10G interconnect

More disks (RAID 10)

swapoff

Page 15: Опыт внедрения Greenplum в Aviasales.ru

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

Data loading

No JSON type

pl/python + ujson

Don’t use JSON, please

Make columns from json fields (schema)

Page 17: Опыт внедрения Greenplum в Aviasales.ru

Default Monitoring

Greenplum command center

Basic charts and metrics

Query monitor

Historic data

Page 18: Опыт внедрения Greenplum в Aviasales.ru
Page 19: Опыт внедрения Greenplum в Aviasales.ru

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
Page 21: Опыт внедрения Greenplum в Aviasales.ru
Page 22: Опыт внедрения Greenplum в Aviasales.ru

5TB compressed data (14TB uncompressed)

No aggregates

Near realtime BI

Page 23: Опыт внедрения Greenplum в Aviasales.ru

Questions?

Айнур Тимербаев [email protected]