ืฉื™ืžื•ืฉ ื‘-Clickhouse ื›ืชื—ืœื™ืฃ ืœ-ELK, Big Query ื•-TimescaleDB

ื‘ื™ืช ืงืœื™ืง ื”ื™ื ืžืขืจื›ืช ื ื™ื”ื•ืœ ืžืกื“ ื ืชื•ื ื™ื ืขืžื•ื“ื™ื ื‘ืงื•ื“ ืคืชื•ื— ืœืขื™ื‘ื•ื“ ืฉืื™ืœืชื•ืช ืื ืœื™ื˜ื™ื•ืช ืžืงื•ื•ื ื•ืช (OLAP) ืฉื ื•ืฆืจื” ืขืœ ื™ื“ื™ Yandex. ื”ื•ื ืžืฉืžืฉ ืืช Yandex, CloudFlare, VK.com, Badoo ื•ืฉื™ืจื•ืชื™ื ืื—ืจื™ื ื‘ืจื—ื‘ื™ ื”ืขื•ืœื ื›ื“ื™ ืœืื—ืกืŸ ื›ืžื•ื™ื•ืช ื’ื“ื•ืœื•ืช ื‘ืืžืช ืฉืœ ื ืชื•ื ื™ื (ื”ื›ื ืกืช ืืœืคื™ ืฉื•ืจื•ืช ื‘ืฉื ื™ื™ื” ืื• ืคื˜ื”-ื‘ื™ื™ื˜ ืฉืœ ื ืชื•ื ื™ื ื”ืžืื•ื—ืกื ื™ื ื‘ื“ื™ืกืง).

ื‘-DBMS ืจื’ื™ืœ, "ืžื—ืจื•ื–ืช", ืฉื“ื•ื’ืžืื•ืช ืœื›ืš ื”ืŸ MySQL, Postgres, MS SQL Server, ื”ื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื ื‘ืกื“ืจ ื”ื–ื”:

ืฉื™ืžื•ืฉ ื‘-Clickhouse ื›ืชื—ืœื™ืฃ ืœ-ELK, Big Query ื•-TimescaleDB

ื‘ืžืงืจื” ื–ื”, ื”ืขืจื›ื™ื ื”ืงืฉื•ืจื™ื ืœืฉื•ืจื” ืื—ืช ืžืื•ื—ืกื ื™ื ืคื™ื–ื™ืช ื–ื” ืœืฆื“ ื–ื”. ื‘-DBMS ืขืžื•ื“ื•ืช, ืขืจื›ื™ื ืžืขืžื•ื“ื•ืช ืฉื•ื ื•ืช ืžืื•ื—ืกื ื™ื ื‘ื ืคืจื“, ื•ื”ื ืชื•ื ื™ื ืฉืœ ืขืžื•ื“ื” ืื—ืช ืžืื•ื—ืกื ื™ื ื™ื—ื“:

ืฉื™ืžื•ืฉ ื‘-Clickhouse ื›ืชื—ืœื™ืฃ ืœ-ELK, Big Query ื•-TimescaleDB

ื“ื•ื’ืžืื•ืช ืœ-DBMSs ืขืžื•ื“ื™ื ื”ื Vertica, Paraccel (Actian Matrix, Amazon Redshift), Sybase IQ, Exasol, Infobright, InfiniDB, MonetDB (VectorWise, Actian Vector), LucidDB, SAP HANA, Google Dremel, Google PowerDrill, Druid, kdb+.

ื”ื—ื‘ืจื” ื”ื™ื ืžืฉืœื—ืช ื“ื•ืืจ Qwintry ื”ืชื—ืœืชื™ ืœื”ืฉืชืžืฉ ื‘-Clickhouse ื‘-2018 ืœื“ื™ื•ื•ื— ื•ื”ืชืจืฉืžืชื™ ืžืื•ื“ ืžื”ืคืฉื˜ื•ืช, ื”ืžื“ืจื’ื™ื•ืช, ื”ืชืžื™ื›ื” ื‘-SQL ื•ืžื”ืžื”ื™ืจื•ืช ืฉืœื•. ื”ืžื”ื™ืจื•ืช ืฉืœ ื”-DBMS ื”ื–ื” ื’ื‘ืœื” ื‘ืงืกื.

ืคืฉื˜ื•ืช

Clickhouse ืžื•ืชืงืŸ ื‘ืื•ื‘ื•ื ื˜ื• ื‘ืคืงื•ื“ื” ืื—ืช. ืื ืืชื” ื™ื•ื“ืข SQL, ืืชื” ื™ื›ื•ืœ ืžื™ื“ ืœื”ืชื—ื™ืœ ืœื”ืฉืชืžืฉ ื‘-Clickhouse ืœืฆืจื›ื™ื ืฉืœืš. ืขื ื–ืืช, ื–ื” ืœื ืื•ืžืจ ืฉืืชื” ื™ื›ื•ืœ "ืœื”ืจืื•ืช ื™ืฆื™ืจืช ื˜ื‘ืœื”" ื‘-MySQL ื•ืœื”ืขืชื™ืง-ื”ื“ื‘ืง SQL ื‘-Clickhouse.

ื‘ื”ืฉื•ื•ืื” ืœ-MySQL, ื™ืฉื ื ื”ื‘ื“ืœื™ื ื—ืฉื•ื‘ื™ื ื‘ืกื•ื’ื™ ื”ื ืชื•ื ื™ื ื‘ื”ื’ื“ืจื•ืช ืกื›ื™ืžืช ื”ื˜ื‘ืœื” ื‘-DBMS ื”ื–ื”, ื›ืš ืฉืืชื” ืขื“ื™ื™ืŸ ืฆืจื™ืš ืงืฆืช ื–ืžืŸ ื›ื“ื™ ืœืฉื ื•ืช ืืช ื”ื’ื“ืจื•ืช ืกื›ื™ืžืช ื”ื˜ื‘ืœื” ื•ืœืœืžื•ื“ ืืช ืžื ื•ืขื™ ื”ื˜ื‘ืœื” ื›ื“ื™ ืœื”ืจื’ื™ืฉ ื ื•ื—.

Clickhouse ืขื•ื‘ื“ ืžืฆื•ื™ืŸ ืœืœื ืฉื•ื ืชื•ื›ื ื” ื ื•ืกืคืช, ืื‘ืœ ืื ืืชื” ืจื•ืฆื” ืœื”ืฉืชืžืฉ ื‘ืฉื›ืคื•ืœ ืชืฆื˜ืจืš ืœื”ืชืงื™ืŸ ืืช ZooKeeper. ื ื™ืชื•ื— ื‘ื™ืฆื•ืขื™ ืฉืื™ืœืชื•ืช ืžืฆื™ื’ ืชื•ืฆืื•ืช ืžืฆื•ื™ื ื•ืช - ื˜ื‘ืœืื•ืช ื”ืžืขืจื›ืช ืžื›ื™ืœื•ืช ืืช ื›ืœ ื”ืžื™ื“ืข, ื•ื ื™ืชืŸ ืœืงื‘ืœ ืืช ื›ืœ ื”ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช SQL ื™ืฉืŸ ื•ืžืฉืขืžื.

ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช

  • Benchmark ื”ืฉื•ื•ืื•ืช Clickhouse ืœืขื•ืžืช Vertica ื•-MySQL ื‘ืฉืจืช ืชืฆื•ืจื”: ืฉื ื™ ืฉืงืขื™ื Intelยฎ Xeonยฎ CPU E5-2650 v2 @ 2.60GHz; 128 GiB RAM; md RAID-5 ืขืœ 8 6TB SATA HDD, ext4.
  • Benchmark ื”ืฉื•ื•ืื” ืฉืœ Clickhouse ืขื ืื—ืกื•ืŸ ืขื ืŸ ืฉืœ Amazon RedShift.
  • ืงื˜ืขื™ ื‘ืœื•ื’ Cloudflare ืขืœ ื‘ื™ืฆื•ืขื™ Clickhouse:

ืฉื™ืžื•ืฉ ื‘-Clickhouse ื›ืชื—ืœื™ืฃ ืœ-ELK, Big Query ื•-TimescaleDB

ืœืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ ClickHouse ื™ืฉ ืขื™ืฆื•ื‘ ืคืฉื•ื˜ ืžืื•ื“ - ืœื›ืœ ื”ืฆืžืชื™ื ื‘ืืฉื›ื•ืœ ื™ืฉ ืืช ืื•ืชื” ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื•ืžืฉืชืžืฉื™ื ืจืง ื‘-ZooKeeper ืœืชื™ืื•ื. ื‘ื ื™ื ื• ืžืงื‘ืฅ ืงื˜ืŸ ืฉืœ ืžืกืคืจ ืฆืžืชื™ื ื•ื‘ื™ืฆืขื ื• ื‘ื“ื™ืงื•ืช ืฉื‘ืžื”ืœื›ืŸ ื’ื™ืœื™ื ื• ืฉืœืžืขืจื›ืช ื™ืฉ ื‘ื™ืฆื•ืขื™ื ืžืจืฉื™ืžื™ื ืœืžื“ื™, ื”ืชื•ืืžื™ื ืืช ื”ื™ืชืจื•ื ื•ืช ื”ื ื˜ืขื ื™ื ื‘ืžื“ื“ื™ื ืื ืœื™ื˜ื™ื™ื ืฉืœ DBMS. ื”ื—ืœื˜ื ื• ืœื‘ื—ื•ืŸ ืžืงืจื•ื‘ ืืช ื”ืจืขื™ื•ืŸ ืžืื—ื•ืจื™ ClickHouse. ื”ืžื›ืฉื•ืœ ื”ืจืืฉื•ืŸ ืœืžื—ืงืจ ื”ื™ื” ื”ื™ืขื“ืจ ื›ืœื™ื ื•ื”ืงื”ื™ืœื” ื”ืงื˜ื ื” ืฉืœ ClickHouse, ืื– ื”ืชืขืžืงื ื• ื‘ืขื™ืฆื•ื‘ ืฉืœ DBMS ื–ื” ื›ื“ื™ ืœื”ื‘ื™ืŸ ืื™ืš ื–ื” ืขื•ื‘ื“.

ClickHouse ืœื ืชื•ืžืš ื‘ืงื‘ืœืช ื ืชื•ื ื™ื ื™ืฉื™ืจื•ืช ืžืงืคืงื, ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื ืจืง ืžืกื“ ื ืชื•ื ื™ื, ืื– ื›ืชื‘ื ื• ืฉื™ืจื•ืช ืžืชืืžื™ื ืžืฉืœื ื• ื‘-Go. ื”ื•ื ืงืจื ื”ื•ื“ืขื•ืช ืžืงื•ื“ื“ื•ืช Cap'n Proto ืžืงืคืงื, ื”ืžื™ืจ ืื•ืชืŸ ืœ-TSV ื•ื”ื›ื ื™ืก ืื•ืชืŸ ืœ-ClickHouse ื‘ืงื‘ื•ืฆื•ืช ื“ืจืš ืžืžืฉืง HTTP. ืžืื•ื—ืจ ื™ื•ืชืจ ืฉื›ืชื‘ื ื• ืฉื™ืจื•ืช ื–ื” ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ืกืคืจื™ื™ืช Go ื‘ืฉื™ืœื•ื‘ ืขื ืžืžืฉืง ClickHouse ืžืฉืœื ื• ื›ื“ื™ ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื. ื‘ืขืช ื”ืขืจื›ืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืงื‘ืœืช ืžื ื•ืช, ื’ื™ืœื™ื ื• ื“ื‘ืจ ื—ืฉื•ื‘ - ื”ืชื‘ืจืจ ืฉืขื‘ื•ืจ ClickHouse ื”ื‘ื™ืฆื•ืขื™ื ื”ืœืœื• ืชืœื•ื™ื™ื ืžืื•ื“ ื‘ื’ื•ื“ืœ ื”ื—ื‘ื™ืœื”, ื›ืœื•ืžืจ ื‘ืžืกืคืจ ื”ืฉื•ืจื•ืช ื”ืžื•ื›ื ืกื•ืช ื‘ื• ื–ืžื ื™ืช. ื›ื“ื™ ืœื”ื‘ื™ืŸ ืžื“ื•ืข ื–ื” ืงื•ืจื”, ืœืžื“ื ื• ื›ื™ืฆื“ ClickHouse ืžืื—ืกื ืช ื ืชื•ื ื™ื.

ื”ืžื ื•ืข ื”ืจืืฉื™, ืื• ืœื™ืชืจ ื“ื™ื•ืง, ืžืฉืคื—ื” ืฉืœ ืžื ื•ืขื™ ื˜ื‘ืœื” ื”ืžืฉืžืฉื™ื ืืช ClickHouse ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื, ื”ื•ื MergeTree. ืžื ื•ืข ื–ื” ื“ื•ืžื” ืžื‘ื—ื™ื ื” ืจืขื™ื•ื ื™ืช ืœืืœื’ื•ืจื™ืชื ื”-LSM ื”ืžืฉืžืฉ ื‘-Google BigTable ืื• Apache Cassandra, ืืš ื ืžื ืข ืžื‘ื ื™ื™ืช ื˜ื‘ืœืช ื–ื™ื›ืจื•ืŸ ื‘ื™ื ื™ื™ื ื•ื›ื•ืชื‘ ื ืชื•ื ื™ื ื™ืฉื™ืจื•ืช ืœื“ื™ืกืง. ื–ื” ื ื•ืชืŸ ืœื• ืชืคื•ืงืช ื›ืชื™ื‘ื” ืžืขื•ืœื”, ืฉื›ืŸ ื›ืœ ื—ื‘ื™ืœื” ืฉื”ื•ื›ื ืกื” ืžืžื•ื™ื ืช ืจืง ืœืคื™ ื”ืžืคืชื— ื”ืจืืฉื™ "ื”ืžืคืชื— ื”ืจืืฉื™", ื“ื—ื•ืกื” ื•ื ื›ืชื‘ืช ืœื“ื™ืกืง ื›ื“ื™ ืœื™ืฆื•ืจ ืงื˜ืข.

ื”ื™ืขื“ืจ ื˜ื‘ืœืช ื–ื™ื›ืจื•ืŸ ืื• ื›ืœ ืžื•ืฉื’ ืฉืœ "ืจืขื ื ื•ืช" ืฉืœ ื ืชื•ื ื™ื ืคื™ืจื•ืฉื• ื’ื ืฉื ื™ืชืŸ ืœื”ื•ืกื™ืฃ ืื•ืชื, ื”ืžืขืจื›ืช ืœื ืชื•ืžื›ืช ื‘ืฉื™ื ื•ื™ ืื• ืžื—ื™ืงื”. ื ื›ื•ืŸ ืœื”ื™ื•ื, ื”ื“ืจืš ื”ื™ื—ื™ื“ื” ืœืžื—ื•ืง ื ืชื•ื ื™ื ื”ื™ื ืœืžื—ื•ืง ืื•ืชื ืœืคื™ ื—ื•ื“ืฉ ืงืœื ื“ืจื™, ืžื›ื™ื•ื•ืŸ ืฉืžืงื˜ืขื™ื ืœืขื•ืœื ืื™ื ื ื—ื•ืฆื™ื ื’ื‘ื•ืœ ืฉืœ ื—ื•ื“ืฉ. ืฆื•ื•ืช ClickHouse ืขื•ื‘ื“ ื‘ืื•ืคืŸ ืคืขื™ืœ ืขืœ ื”ืคื™ื›ืช ื”ืชื›ื•ื ื” ื”ื–ื• ืœื ื™ืชื ืช ืœื”ืชืืžื” ืื™ืฉื™ืช. ืžืฆื“ ืฉื ื™, ื–ื” ื”ื•ืคืš ืืช ื”ื›ืชื™ื‘ื” ื•ื”ืžื™ื–ื•ื’ ืฉืœ ืงื˜ืขื™ื ืœืœื ืžื—ืœื•ืงื•ืช, ืื– ืงื‘ืœ ืกื•ืœืžื•ืช ืชืคื•ืงื” ื‘ืื•ืคืŸ ืœื™ื ื™ืืจื™ ืขื ืžืกืคืจ ื”ื”ื•ืกืคื•ืช ื”ืžืงื‘ื™ืœื•ืช ืขื“ ืœ-I/O ืื• ื”ืœื™ื‘ื•ืช ืœืจื•ื•ื™ื”.
ืขื ื–ืืช, ืžืฆื‘ ื–ื” ืื•ืžืจ ื’ื ืฉื”ืžืขืจื›ืช ืื™ื ื” ืžืชืื™ืžื” ืœื—ื‘ื™ืœื•ืช ืงื˜ื ื•ืช, ื•ืœื›ืŸ ืฉื™ืจื•ืชื™ ืงืคืงื ื•ืžื›ื ื™ืกื™ื ืžืฉืžืฉื™ื ืœื—ืฆื™ืฆื”. ื™ืชืจื” ืžื›ืš, ClickHouse ื‘ืจืงืข ืžืžืฉื™ื›ื” ืœืžื–ื’ ื‘ืจืฆื™ืคื•ืช ืงื˜ืขื™ื, ื›ืš ืฉืคื™ืกื•ืช ืžื™ื“ืข ืงื˜ื ื•ืช ืจื‘ื•ืช ื™ืฉื•ืœื‘ื• ื•ื™ื•ืงืœื˜ื• ืคืขืžื™ื ืจื‘ื•ืช ื™ื•ืชืจ, ื•ื‘ื›ืš ืชื’ื‘ื™ืจ ืืช ืขื•ืฆืžืช ื”ื”ืงืœื˜ื”. ืขื ื–ืืช, ื™ื•ืชืจ ืžื“ื™ ื—ืœืงื™ื ืœื ืงืฉื•ืจื™ื ื™ื’ืจืžื• ืœืžืฆืขืจืช ืื’ืจืกื™ื‘ื™ืช ืฉืœ ืชื•ืกืคื•ืช ื›ืœ ืขื•ื“ ื”ืžื™ื–ื•ื’ ื ืžืฉืš. ืžืฆืื ื• ืฉื”ืคืฉืจื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ื‘ื™ืŸ ืงืœื™ื˜ืช ื ืชื•ื ื™ื ื‘ื–ืžืŸ ืืžืช ืœื‘ื™ืฆื•ืขื™ ื”ื˜ืžืขื” ื”ื™ื ืœืงื‘ืœ ืžืกืคืจ ืžื•ื’ื‘ืœ ืฉืœ ื”ื•ืกืคื•ืช ื‘ืฉื ื™ื™ื” ืœื˜ื‘ืœื”.

ื”ืžืคืชื— ืœื‘ื™ืฆื•ืขื™ ืงืจื™ืื” ื‘ื˜ื‘ืœื” ื”ื•ื ื”ืื™ื ื“ืงืก ื•ื”ืžื™ืงื•ื ืฉืœ ื”ื ืชื•ื ื™ื ื‘ื“ื™ืกืง. ืœื ืžืฉื ื” ื›ืžื” ืžื”ื™ืจ ื”ืขื™ื‘ื•ื“, ื›ืืฉืจ ื”ืžื ื•ืข ืฆืจื™ืš ืœืกืจื•ืง ื˜ืจื”-ื‘ื™ื™ื˜ ืฉืœ ื ืชื•ื ื™ื ืžื”ื“ื™ืกืง ื•ืœื”ืฉืชืžืฉ ืจืง ื‘ื—ืœืง ืžื”ื, ื–ื” ื™ื™ืงื— ื–ืžืŸ. ClickHouse ื”ื™ื ื—ื ื•ืช ืขืžื•ื“ื•ืช, ื›ืš ืฉื›ืœ ืคืœื— ืžื›ื™ืœ ืงื•ื‘ืฅ ืœื›ืœ ืขืžื•ื“ื” (ืขืžื•ื“ื”) ืขื ืขืจื›ื™ื ืžืžื•ื™ื ื™ื ืœื›ืœ ืฉื•ืจื”. ืœืคื™ื›ืš, ืชื—ื™ืœื” ื ื™ืชืŸ ืœื“ืœื’ ืขืœ ืขืžื•ื“ื•ืช ืฉืœืžื•ืช ืฉืื™ื ืŸ ื ื•ื›ื—ื•ืช ื‘ืฉืื™ืœืชื”, ื•ืœืื—ืจ ืžื›ืŸ ื ื™ืชืŸ ืœืขื‘ื“ ืชืื™ื ืžืจื•ื‘ื™ื ื‘ืžืงื‘ื™ืœ ืœื‘ื™ืฆื•ืข ื•ืงื˜ื•ืจ. ื›ื“ื™ ืœืžื ื•ืข ืกืจื™ืงื” ืžืœืื”, ืœื›ืœ ืงื˜ืข ื™ืฉ ืงื•ื‘ืฅ ืื™ื ื“ืงืก ืงื˜ืŸ.

ื‘ื”ืชื—ืฉื‘ ื‘ื›ืš ืฉื›ืœ ื”ืขืžื•ื“ื•ืช ืžืžื•ื™ื ื•ืช ืœืคื™ "ื”ืžืคืชื— ื”ืจืืฉื™", ืงื•ื‘ืฅ ื”ืื™ื ื“ืงืก ืžื›ื™ืœ ืจืง ืืช ื”ืชื•ื•ื™ื•ืช (ืฉื•ืจื•ืช ืฉื ืชืคืกื•) ืฉืœ ื›ืœ ืฉื•ืจื” Nth, ืขืœ ืžื ืช ืœื”ื™ื•ืช ืžืกื•ื’ืœ ืœืฉืžื•ืจ ืื•ืชืŸ ื‘ื–ื™ื›ืจื•ืŸ ื’ื ืขื‘ื•ืจ ื˜ื‘ืœืื•ืช ื’ื“ื•ืœื•ืช ืžืื•ื“. ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช ื”ื’ื“ืจื•ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ "ืœืกืžืŸ ื›ืœ ืฉื•ืจื” 8192", ื•ืœืื—ืจ ืžื›ืŸ ืื™ื ื“ืงืก "ื“ืœ" ืฉืœ ื˜ื‘ืœื” ืขื 1 ื˜ืจื™ืœื™ื•ืŸ. ืฉื•ืจื•ืช ืฉืžืชืื™ืžื•ืช ื‘ืงืœื•ืช ืœื–ื™ื›ืจื•ืŸ ื™ื™ืงื— ืจืง 122 ืชื•ื•ื™ื.

ืคื™ืชื•ื— ืžืขืจื›ืช

ื ื™ืชืŸ ืœืขืงื•ื‘ ืื—ืจ ื”ืคื™ืชื•ื— ื•ื”ืฉื™ืคื•ืจ ืฉืœ Clickhouse ืจื™ืคื• ืฉืœ ื’ื™ื˜ื•ื‘ ื•ืœื•ื•ื“ื ืฉืชื”ืœื™ืš "ื”ืชื‘ื’ืจื•ืช" ืžืชืจื—ืฉ ื‘ืงืฆื‘ ืžืจืฉื™ื.

ืฉื™ืžื•ืฉ ื‘-Clickhouse ื›ืชื—ืœื™ืฃ ืœ-ELK, Big Query ื•-TimescaleDB

ืคื•ืคื•ืœืจื™ื•ืช

ื ืจืื” ืฉื”ืคื•ืคื•ืœืจื™ื•ืช ืฉืœ ืงืœื™ืงื”ืื•ืก ืฆื•ืžื—ืช ื‘ืื•ืคืŸ ืืงืกืคื•ื ื ืฆื™ืืœื™, ื‘ืžื™ื•ื—ื“ ื‘ืงื”ื™ืœื” ื“ื•ื‘ืจืช ื”ืจื•ืกื™ืช. ื›ื ืก High load 2018 ื‘ืฉื ื” ืฉืขื‘ืจื” (ืžื•ืกืงื‘ื”, 8-9 ื‘ื ื•ื‘ืžื‘ืจ 2018) ื”ืจืื” ืฉืžืคืœืฆื•ืช ื›ืžื• vk.com ื•-Badoo ืžืฉืชืžืฉื•ืช ื‘-Clickhouse, ืฉืžื›ื ื™ืกื” ื ืชื•ื ื™ื (ืœื“ื•ื’ืžื”, ื™ื•ืžื ื™ื) ืžืขืฉืจื•ืช ืืœืคื™ ืฉืจืชื™ื ื‘ื• ื–ืžื ื™ืช. ื‘ืกืจื˜ื•ืŸ ืฉืœ 40 ื“ืงื•ืช ื™ื•ืจื™ ื ืกืจื“ื™ื ื•ื‘ ืžืฆื•ื•ืช VKontakte ืžื“ื‘ืจ ืขืœ ืื™ืš ื–ื” ื ืขืฉื”. ื‘ืงืจื•ื‘ ื ืคืจืกื ืืช ื”ืชืžืœื™ืœ ื‘ื”ื‘ืจ ืœื ื•ื—ื•ืช ื”ืขื‘ื•ื“ื” ืขื ื”ื—ื•ืžืจ.

ื™ื™ืฉื•ืžื™ื

ืœืื—ืจ ืฉื”ืฉืงืขืชื™ ื–ืžืŸ ื‘ืžื—ืงืจ, ืื ื™ ื—ื•ืฉื‘ ืฉื™ืฉ ืชื—ื•ืžื™ื ืฉื‘ื”ื ClickHouse ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ืื• ืžืกื•ื’ืœ ืœื”ื—ืœื™ืฃ ืœื—ืœื•ื˜ื™ืŸ ืคืชืจื•ื ื•ืช ืžืกื•ืจืชื™ื™ื ื•ืคื•ืคื•ืœืจื™ื™ื ืื—ืจื™ื ื›ืžื• MySQL, PostgreSQL, ELK, Google Big Query, Amazon RedShift, TimescaleDB, Hadoop, MapReduce, Pinot ื• ื“ืจื•ืื™ื“. ืœื”ืœืŸ ื”ืคืจื˜ื™ื ืขืœ ื”ืฉื™ืžื•ืฉ ื‘-ClickHouse ื›ื“ื™ ืœืฉื“ืจื’ ืื• ืœื”ื—ืœื™ืฃ ืœื—ืœื•ื˜ื™ืŸ ืืช ื”-DBMS ื”ื "ืœ.

ื”ืจื—ื‘ืช MySQL ื•-PostgreSQL

ืœืื—ืจื•ื ื”, ื”ื—ืœืคื ื• ื—ืœืงื™ืช ืืช MySQL ื‘-ClickHouse ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ื”ื ื™ื•ื–ืœื˜ืจ ื ื™ื•ื–ืœื˜ืจ ืžืื•ื˜ื™ืง. ื”ื‘ืขื™ื” ื”ื™ื™ืชื” ืฉ-MySQL ืขืงื‘ ืขื™ืฆื•ื‘ ืœื ืžืชื•ื›ื ืŸ ืจืฉื ื›ืœ ืžื™ื™ืœ ืฉื ืฉืœื— ื•ื›ืœ ืงื™ืฉื•ืจ ื‘ืžื™ื™ืœ ื”ื–ื” ืขื hash ืฉืœ base64, ื•ื™ืฆืจ ื˜ื‘ืœืช MySQL ืขื ืงื™ืช (email_stats). ืœืื—ืจ ืฉืœื™ื—ืช 10 ืžื™ืœื™ื•ืŸ ืžื™ื™ืœื™ื ื‘ืœื‘ื“ ืœืžื ื•ื™ื™ ื”ืฉื™ืจื•ืช, ื”ื˜ื‘ืœื” ื”ื–ื• ืชืคืกื” 150 ื’'ื™ื’ื”-ื‘ื™ื™ื˜ ืฉืœ ืฉื˜ื— ืงื‘ืฆื™ื, ื•-MySQL ื”ืชื—ื™ืœื” ืœื”ื™ื•ืช "ื˜ื™ืคืฉื”" ื‘ืฉืื™ืœืชื•ืช ืคืฉื•ื˜ื•ืช. ื›ื“ื™ ืœืชืงืŸ ืืช ื‘ืขื™ื™ืช ืฉื˜ื— ื”ืงื‘ืฆื™ื, ื”ืฉืชืžืฉื ื• ื‘ื”ืฆืœื—ื” ื‘ื“ื—ื™ืกืช ื˜ื‘ืœืช InnoDB, ืฉื”ืคื—ื™ืชื” ืื•ืชื” ื‘ืคืงื˜ื•ืจ ืฉืœ 4. ืขื ื–ืืช, ืขื“ื™ื™ืŸ ืœื ื”ื’ื™ื•ื ื™ ืœืื—ืกืŸ ื™ื•ืชืจ ืž-20-30 ืžื™ืœื™ื•ืŸ ืžื™ื™ืœื™ื ื‘-MySQL ืจืง ืœืžืขืŸ ืงืจื™ืืช ื”ื”ื™ืกื˜ื•ืจื™ื”, ืฉื›ืŸ ื›ืœ ืฉืื™ืœืชื” ืคืฉื•ื˜ื” ืฉืžืกื™ื‘ื” ื›ืœืฉื”ื™ ื—ื™ื™ื‘ืช ืœื‘ืฆืข ืกืจื™ืงื” ืžืœืื” ื’ื•ืจืžืช ืœื”ื—ืœืคื” ื•-I/O ื›ื‘ื“ื”. ืชืงื•ืจื”, ืฉืขืœื™ื” ืงื™ื‘ืœื ื• ื‘ืงื‘ื™ืขื•ืช ืื–ื”ืจื•ืช ืฉืœ Zabbix.

ืฉื™ืžื•ืฉ ื‘-Clickhouse ื›ืชื—ืœื™ืฃ ืœ-ELK, Big Query ื•-TimescaleDB

Clickhouse ืžืฉืชืžืฉ ื‘ืฉื ื™ ืืœื’ื•ืจื™ืชืžื™ ื“ื—ื™ืกื” ื”ืžืคื—ื™ืชื™ื ืืช ื›ืžื•ืช ื”ื ืชื•ื ื™ื ื‘ืขืจืš 3-4 ืคืขืžื™ื, ืื‘ืœ ื‘ืžืงืจื” ื”ืกืคืฆื™ืคื™ ื”ื–ื”, ื”ื ืชื•ื ื™ื ื”ื™ื• "ื ื™ืชื ื™ื ืœื“ื—ื™ืกื”" ื‘ืžื™ื•ื—ื“.

ืฉื™ืžื•ืฉ ื‘-Clickhouse ื›ืชื—ืœื™ืฃ ืœ-ELK, Big Query ื•-TimescaleDB

ื”ื—ืœืคืช ELK

ื‘ื”ืชื‘ืกืก ืขืœ ื”ื ื™ืกื™ื•ืŸ ืฉืœื™, ืžื—ืกื ื™ืช ื”-ELK (ElasticSearch, Logstash ื•-Kibana, ื‘ืžืงืจื” ื”ืกืคืฆื™ืคื™ ื”ื–ื” ElasticSearch) ื“ื•ืจืฉืช ื”ืจื‘ื” ื™ื•ืชืจ ืžืฉืื‘ื™ื ืœื”ืคืขืœื” ืžืžื” ืฉื ื“ืจืฉ ืœืื—ืกื•ืŸ ื™ื•ืžื ื™ื. ElasticSearch ื”ื•ื ืžื ื•ืข ื ื”ื“ืจ ืื ืืชื” ืจื•ืฆื” ื—ื™ืคื•ืฉ ื˜ื•ื‘ ื‘ื™ื•ืžืŸ ื˜ืงืกื˜ ืžืœื (ืฉืื ื™ ืœื ื—ื•ืฉื‘ ืฉืืชื” ื‘ืืžืช ืฆืจื™ืš), ืื‘ืœ ืื ื™ ืชื•ื”ื” ืžื“ื•ืข ื”ื•ื ื”ืคืš ืœืžื ื•ืข ื”ืจื™ืฉื•ื ื”ืกื˜ื ื“ืจื˜ื™ ื“ื” ืคืงื˜ื•. ื‘ื™ืฆื•ืขื™ ื”ื‘ืœื™ืขื” ืฉืœื•, ื‘ืฉื™ืœื•ื‘ ืขื Logstash, ื”ืขื ื™ืงื• ืœื ื• ื‘ืขื™ื•ืช ื’ื ื‘ืขื•ืžืกื™ ืขื‘ื•ื“ื” ืงืœื™ื ืœืžื“ื™ ื•ื”ืฆืจื™ื›ื• ืชื•ืกืคืช ืฉืœ ืขื•ื“ ื•ืขื•ื“ ื–ื™ื›ืจื•ืŸ RAM ื•ืฉื˜ื— ื“ื™ืกืง. ื›ืžืกื“ ื ืชื•ื ื™ื, Clickhouse ืขื“ื™ืฃ ืขืœ ElasticSearch ืžื”ืกื™ื‘ื•ืช ื”ื‘ืื•ืช:

  • ืชืžื™ื›ื” ื‘ื ื™ื‘ SQL;
  • ืžื™ื“ืช ื”ื“ื—ื™ืกื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ืฉืœ ื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื;
  • ืชืžื™ื›ื” ื‘ื—ื™ืคื•ืฉ Regex ื‘ืžืงื•ื ื—ื™ืคื•ืฉ ื˜ืงืกื˜ ืžืœื;
  • ืชื–ืžื•ืŸ ืฉืื™ืœืชื•ืช ืžืฉื•ืคืจ ื•ื‘ื™ืฆื•ืขื™ื ื›ืœืœื™ื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ.

ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ื”ื‘ืขื™ื” ื”ื’ื“ื•ืœื” ื‘ื™ื•ืชืจ ืฉืžืชืขื•ืจืจืช ื‘ื”ืฉื•ื•ืื” ืฉืœ ClickHouse ืœ-ELK ื”ื™ื ื”ื™ืขื“ืจ ืคืชืจื•ื ื•ืช ืœื”ืขืœืืช ื™ื•ืžื ื™ื, ื›ืžื• ื’ื ื”ื™ืขื“ืจ ืชื™ืขื•ื“ ื•ื”ื“ืจื›ื•ืช ื‘ื ื•ืฉื ื–ื”. ื™ื—ื“ ืขื ื–ืืช, ื›ืœ ืžืฉืชืžืฉ ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช ELK ื‘ืืžืฆืขื•ืช ื”ืžื“ืจื™ืš Digital Ocean, ืฉื—ืฉื•ื‘ ืžืื•ื“ ืœื™ื™ืฉื•ื ืžื”ื™ืจ ืฉืœ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืžืกื•ื’ ื–ื”. ื™ืฉ ื›ืืŸ ืžื ื•ืข ืžืกื“ ื ืชื•ื ื™ื, ืื‘ืœ ืขื“ื™ื™ืŸ ืื™ืŸ Filebeat ืขื‘ื•ืจ ClickHouse. ื›ืŸ ื™ืฉ ืฉื•ื˜ืฃ ื•ืžืขืจื›ืช ืœืขื‘ื•ื“ื” ืขื ื™ื•ืžื ื™ื ื‘ื™ืช ืขืฅ, ื™ืฉ ื›ืœื™ ืœื—ืฅ ืขืœ ื–ื ื‘ ื›ื“ื™ ืœื”ื–ื™ืŸ ื ืชื•ื ื™ ืงื•ื‘ืฅ ื™ื•ืžืŸ ืœืชื•ืš ClickHouse, ืื‘ืœ ื›ืœ ื–ื” ืœื•ืงื— ื™ื•ืชืจ ื–ืžืŸ. ืขื ื–ืืช, ClickHouse ืขื“ื™ื™ืŸ ืžื•ื‘ื™ืœื” ื‘ื–ื›ื•ืช ื”ืคืฉื˜ื•ืช ืฉืœื•, ื›ืš ืฉื’ื ืžืชื—ื™ืœื™ื ื™ื›ื•ืœื™ื ืœื”ืชืงื™ืŸ ืื•ืชื• ื‘ืงืœื•ืช ื•ืœื”ืชื—ื™ืœ ื‘ืฉื™ืžื•ืฉ ืคื•ื ืงืฆื™ื•ื ืœื™ ืžืœื ืชื•ืš 10 ื“ืงื•ืช ื‘ืœื‘ื“.

ื‘ื”ืขื“ืคืชื™ ืคืชืจื•ื ื•ืช ืžื™ื ื™ืžืœื™ืกื˜ื™ื™ื, ื ื™ืกื™ืชื™ ืœื”ืฉืชืžืฉ ื‘- FluentBit, ื›ืœื™ ืœื”ืขืœืืช ื™ื•ืžื ื™ ื–ื™ื›ืจื•ืŸ ื ืžื•ืš ืžืื•ื“, ืขื ClickHouse ืชื•ืš ื ื™ืกื™ื•ืŸ ืœื”ื™ืžื ืข ืžืฉื™ืžื•ืฉ ื‘ืงืคืงื. ืขื ื–ืืช, ื™ืฉ ืœื˜ืคืœ ื‘ืื™ ื”ืชืืžื” ืงืœื”, ื›ื’ื•ืŸ ื‘ืขื™ื•ืช ื‘ืคื•ืจืžื˜ ืชืืจื™ืšืœืคื ื™ ืฉื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช ืœืœื ืฉื›ื‘ืช ื”-proxy ื”ืžืžื™ืจื” ื ืชื•ื ื™ื ืž-FluentBit ืœ-ClickHouse.

ื›ื—ืœื•ืคื” ืœ-Kibana, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-ClickHouse ื‘ืชื•ืจ ืงืฆื” ืขื•ืจืคื™ ื’ืจืคื ื”. ืœืžื™ื˜ื‘ ื”ื‘ื ืชื™, ื–ื” ื™ื›ื•ืœ ืœื’ืจื•ื ืœื‘ืขื™ื•ืช ื‘ื™ืฆื•ืขื™ื ื‘ืขืช ืขื™ื‘ื•ื“ ืžืกืคืจ ืขืฆื•ื ืฉืœ ื ืงื•ื“ื•ืช ื ืชื•ื ื™ื, ื‘ืžื™ื•ื—ื“ ืขื ื’ืจืกืื•ืช ื™ืฉื ื•ืช ื™ื•ืชืจ ืฉืœ Grafana. ื‘-Qwintry, ืขื“ื™ื™ืŸ ืœื ื ื™ืกื™ื ื• ื–ืืช, ืืš ืชืœื•ื ื•ืช ืขืœ ื›ืš ืžื•ืคื™ืขื•ืช ืžืขืช ืœืขืช ื‘ืขืจื•ืฅ ื”ืชืžื™ื›ื” ืฉืœ ClickHouse ื‘ื˜ืœื’ืจื.

ื”ื—ืœืคืช Google Big Query ื•-Amazon RedShift (ืคืชืจื•ืŸ ืœื—ื‘ืจื•ืช ื’ื“ื•ืœื•ืช)

ืžืงืจื” ื”ืฉื™ืžื•ืฉ ื”ืื™ื“ื™ืืœื™ ืขื‘ื•ืจ BigQuery ื”ื•ื ืœื˜ืขื•ืŸ 1TB ืฉืœ ื ืชื•ื ื™ JSON ื•ืœื”ืจื™ืฅ ืขืœื™ื”ื ืฉืื™ืœืชื•ืช ืื ืœื™ื˜ื™ื•ืช. Big Query ื”ื•ื ืžื•ืฆืจ ื ื”ื“ืจ ืฉืงืฉื” ืœื”ืขืจื™ืš ื™ืชืจ ืขืœ ื”ืžื™ื“ื” ืืช ื™ื›ื•ืœืช ื”ื”ืจื—ื‘ื” ืฉืœื•. ื–ื• ืชื•ื›ื ื” ื”ืจื‘ื” ื™ื•ืชืจ ืžื•ืจื›ื‘ืช ืž-ClickHouse ืฉืคื•ืขืœืช ืขืœ ืืฉื›ื•ืœ ืคื ื™ืžื™, ืื‘ืœ ืžื‘ื—ื™ื ืช ื”ืœืงื•ื—, ื™ืฉ ืœื” ื”ืจื‘ื” ืžืŸ ื”ืžืฉื•ืชืฃ ืขื ClickHouse. BigQuery ื™ื›ื•ืœื” "ืœืชืžื—ืจ" ื‘ืžื”ื™ืจื•ืช ื‘ืจื’ืข ืฉืชืชื—ื™ืœ ืœืฉืœื ืขื‘ื•ืจ ื›ืœ SELECT, ื›ืš ืฉื–ื”ื• ืคืชืจื•ืŸ SaaS ืืžื™ืชื™ ืขื ื›ืœ ื”ื™ืชืจื•ื ื•ืช ื•ื”ื—ืกืจื•ื ื•ืช ืฉืœื•.

ClickHouse ื”ื™ื ื”ื‘ื—ื™ืจื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ื›ืืฉืจ ืืชื” ืžืคืขื™ืœ ื”ืจื‘ื” ืฉืื™ืœืชื•ืช ื™ืงืจื•ืช ืžื‘ื—ื™ื ื” ื—ื™ืฉื•ื‘ื™ืช. ื›ื›ืœ ืฉืชืจื™ืฆื• ื™ื•ืชืจ ืฉืื™ืœืชื•ืช SELECT ืžื“ื™ ื™ื•ื, ื›ืš ื™ืฉ ื™ื•ืชืจ ื˜ืขื ืœื”ื—ืœื™ืฃ ืืช Big Query ื‘-ClickHouse, ื›ื™ ื”ื—ืœืคื” ื›ื–ื• ืชื—ืกื•ืš ืœื›ื ืืœืคื™ ื“ื•ืœืจื™ื ื›ืฉืžื“ื•ื‘ืจ ื‘ืขื™ื‘ื•ื“ ื ืชื•ื ื™ื ืจื‘ื™ื ืฉืœ ื˜ืจื”-ื‘ื™ื™ื˜. ื–ื” ืœื ื—ืœ ืขืœ ื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื, ืฉื”ื ื–ื•ืœื™ื ืœืžื“ื™ ืœืขื™ื‘ื•ื“ ื‘-Big Query.

ื‘ืžืืžืจ ืฉืœ ืืœื›ืกื ื“ืจ ื–ื™ื™ืฆื‘, ืžื™ื™ืกื“ ืฉื•ืชืฃ ืฉืœ Altinity "ืžืขื‘ืจ ืœืงืœื™ืงื”ืื•ืก" ืžืชืืจ ืืช ื”ื™ืชืจื•ื ื•ืช ืฉืœ ื”ื’ื™ืจืช DBMS ื›ื–ื•.

ื”ื—ืœืคืช TimescaleDB

TimescaleDB ื”ื™ื ืชื•ืกืฃ PostgreSQL ื”ืžื™ื™ืขืœ ืืช ื”ืขื‘ื•ื“ื” ืขื ืกื“ืจื•ืช ื–ืžืŸ ื‘ืžืกื“ ื ืชื•ื ื™ื ืจื’ื™ืœ (https://docs.timescale.com/v1.0/introduction, https://habr.com/ru/company/zabbix/blog/458530/).

ืืžื ื ClickHouse ื”ื™ื ืœื ืžืชื—ืจื” ืจืฆื™ื ื™ืช ื‘ื ื™ืฉืช ืกื“ืจื•ืช ื”ื–ืžืŸ, ืื‘ืœ ืžื‘ื—ื™ื ืช ืžื‘ื ื” ืขืžื•ื“ื•ืช ื•ื‘ื™ืฆื•ืข ืฉืื™ืœืชื•ืช ื•ืงื˜ื•ืจื™ื•ืช, ื”ื™ื ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ื™ืจื” ืž-TimescaleDB ื‘ืจื•ื‘ ื”ืžืงืจื™ื ืฉืœ ืขื™ื‘ื•ื“ ืฉืื™ืœืชื•ืช ืื ืœื™ื˜ื™ื•ืช. ื™ื—ื“ ืขื ื–ืืช, ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืงื‘ืœืช ื ืชื•ื ื™ ืžื ื•ืช ClickHouse ื’ื‘ื•ื”ื™ื ื‘ืขืจืš ืคื™ 3, ื‘ื ื•ืกืฃ, ื”ื•ื ืžื ืฆืœ ืคื™ 20 ืคื—ื•ืช ืฉื˜ื— ื“ื™ืกืง, ื•ื–ื” ื‘ืืžืช ื—ืฉื•ื‘ ืœืขื™ื‘ื•ื“ ื›ืžื•ื™ื•ืช ื’ื“ื•ืœื•ืช ืฉืœ ื ืชื•ื ื™ื ื”ื™ืกื˜ื•ืจื™ื™ื: โ€จhttps://www.altinity.com/blog/ClickHouse-for-time-series.

ื‘ื ื™ื’ื•ื“ ืœ-ClickHouse, ื”ื“ืจืš ื”ื™ื—ื™ื“ื” ืœื—ืกื•ืš ืงืฆืช ืžืงื•ื ื‘ื“ื™ืกืง ื‘-TimescaleDB ื”ื™ื ืœื”ืฉืชืžืฉ ื‘-ZFS ืื• ื‘ืžืขืจื›ื•ืช ืงื‘ืฆื™ื ื“ื•ืžื•ืช.

ืขื“ื›ื•ื ื™ื ืงืจื•ื‘ื™ื ืœ-ClickHouse ื›ื›ืœ ื”ื ืจืื” ื™ืฆื™ื’ื• ื“ื—ื™ืกืช ื“ืœืชื, ืฉืชื”ืคื•ืš ืื•ืชื• ืœืžืชืื™ื ืืคื™ืœื• ื™ื•ืชืจ ืœืขื™ื‘ื•ื“ ื•ืื—ืกื•ืŸ ื ืชื•ื ื™ ืกื“ืจื•ืช ื–ืžืŸ. TimescaleDB ืขืฉื•ื™ื” ืœื”ื™ื•ืช ื‘ื—ื™ืจื” ื˜ื•ื‘ื” ื™ื•ืชืจ ืžืืฉืจ ClickHouse ื—ืฉื•ืฃ ื‘ืžืงืจื™ื ื”ื‘ืื™ื:

  • ื”ืชืงื ื•ืช ืงื˜ื ื•ืช ืขื ืžืขื˜ ืžืื•ื“ ื–ื™ื›ืจื•ืŸ RAM (<3 GB);
  • ืžืกืคืจ ืจื‘ ืฉืœ INSERTs ืงื˜ื ื™ื ืฉืื™ื ืš ืจื•ืฆื” ืœืื—ืกืŸ ืœืฉื‘ืจื™ื ื’ื“ื•ืœื™ื;
  • ื“ืจื™ืฉื•ืช ืขืงื‘ื™ื•ืช, ืื—ื™ื“ื•ืช ื•-ACID ื˜ื•ื‘ื” ื™ื•ืชืจ;
  • ืชืžื™ื›ื” ื‘-PostGIS;
  • ื”ืชืžื–ื’ ืขื ื˜ื‘ืœืื•ืช PostgreSQL ืงื™ื™ืžื•ืช, ืžื›ื™ื•ื•ืŸ ืฉ-Timescale DB ื”ื•ื ื‘ืขืฆื PostgreSQL.

ืชื—ืจื•ืช ืขื ืžืขืจื›ื•ืช Hadoop ื•-MapReduce

Hadoop ื•ืžื•ืฆืจื™ MapReduce ืื—ืจื™ื ื™ื›ื•ืœื™ื ืœื‘ืฆืข ื”ืจื‘ื” ื—ื™ืฉื•ื‘ื™ื ืžื•ืจื›ื‘ื™ื, ืื‘ืœ ื”ื ื ื•ื˜ื™ื ืœืคืขื•ืœ ื‘ื”ืฉื”ื™ื” ืขืฆื•ืžื”. ClickHouse ืžืชืงืŸ ืืช ื”ื‘ืขื™ื” ืขืœ ื™ื“ื™ ืขื™ื‘ื•ื“ ื˜ืจื”-ื‘ื™ื™ื˜ ืฉืœ ื ืชื•ื ื™ื ื•ื”ืคืงืช ืชื•ืฆืื•ืช ื›ืžืขื˜ ืžื™ื™ื“ื™. ืœืคื™ื›ืš, ClickHouse ื™ืขื™ืœื” ื”ืจื‘ื” ื™ื•ืชืจ ืœื‘ื™ืฆื•ืข ืžื—ืงืจ ืื ืœื™ื˜ื™ ืžื”ื™ืจ ื•ืื™ื ื˜ืจืืงื˜ื™ื‘ื™, ืฉืืžื•ืจ ืœืขื ื™ื™ืŸ ืžื“ืขื ื™ ื ืชื•ื ื™ื.

ืชื—ืจื•ืช ืขื ืคื™ื ื• ื•ื“ืจื•ืื™ื“

ื”ืžืชื—ืจื™ื ื”ืงืจื•ื‘ื™ื ื‘ื™ื•ืชืจ ืฉืœ ClickHouse ื”ื ืžื•ืฆืจื™ ื”ืงื•ื“ ื”ืคืชื•ื— ื”ืขืžื•ื“ื™ื ื”ื ื™ืชื ื™ื ืœื”ืจื—ื‘ื” ืœื™ื ื™ืืจื™ืช Pinot ื•-Druid. ืขื‘ื•ื“ื” ืžืฆื•ื™ื ืช ื‘ื”ืฉื•ื•ืืช ืžืขืจื›ื•ืช ืืœื• ืžืชืคืจืกืžืช ื‘ืžืืžืจ ืจื•ืžื ื” ืœื‘ื ื˜ื•ื‘ื” 1 ื‘ืคื‘ืจื•ืืจ 2018

ืฉื™ืžื•ืฉ ื‘-Clickhouse ื›ืชื—ืœื™ืฃ ืœ-ELK, Big Query ื•-TimescaleDB

ืฆืจื™ืš ืœืขื“ื›ืŸ ืืช ื”ื›ืชื‘ื” ื”ื–ื• โ€“ ื›ืชื•ื‘ ืฉ-ClickHouse ืœื ืชื•ืžืš ื‘ืคืขื•ืœื•ืช UPDATE ื•-DELETE, ืžื” ืฉืœื ืœื’ืžืจื™ ื ื›ื•ืŸ ื‘ื™ื—ืก ืœื’ืจืกืื•ืช ื”ืื—ืจื•ื ื•ืช.

ืื™ืŸ ืœื ื• ื”ืจื‘ื” ื ื™ืกื™ื•ืŸ ืขื DBMSs ืืœื”, ืื‘ืœ ืื ื™ ืœื ืื•ื”ื‘ ืืช ื”ืžื•ืจื›ื‘ื•ืช ืฉืœ ื”ืชืฉืชื™ืช ื”ื‘ืกื™ืกื™ืช ืฉื ื“ืจืฉืช ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช Druid ื•-Pinot - ื–ื• ื—ื‘ื•ืจื” ืฉืœืžื” ืฉืœ "ื—ืœืงื™ื ื ืขื™ื" ืžื•ืงืคื™ื ื‘ื’'ืื•ื•ื” ืžื›ืœ ืขื‘ืจ.

Druid ื•ืคื™ื ื• ื”ื ืคืจื•ื™ืงื˜ื™ ื—ืžืžืช ืืคืืฆ'ื™, ืืฉืจ ืžื›ื•ืกื™ื ื‘ืคื™ืจื•ื˜ ืขืœ ื™ื“ื™ Apache ื‘ื“ืคื™ ืคืจื•ื™ืงื˜ GitHub ืฉืœื”ื. ืคื™ื ื• ื”ื•ืคื™ืข ื‘ื—ืžืžื” ื‘ืื•ืงื˜ื•ื‘ืจ 2018, ื•ื“ืจื•ืื™ื“ ื ื•ืœื“ 8 ื—ื•ื“ืฉื™ื ืงื•ื“ื ืœื›ืŸ - ื‘ืคื‘ืจื•ืืจ.

ื—ื•ืกืจ ื”ืžื™ื“ืข ืขืœ ืื™ืš AFS ืขื•ื‘ื“ ืžืขื•ืจืจ ืืฆืœื™ ื›ืžื” ืฉืืœื•ืช, ื•ืื•ืœื™ ืžื˜ื•ืคืฉื•ืช. ืžืขื ื™ื™ืŸ ืื ืžื—ื‘ืจื™ ืคื™ื ื• ืฉืžื• ืœื‘ ืœื›ืš ืฉืงืจืŸ ืืคืืฆ'ื™ ื ื•ื˜ื” ื™ื•ืชืจ ื›ืœืคื™ ื“ืจื•ืื™ื“ื™ื, ื•ื”ืื ื™ื—ืก ื›ื–ื” ืœืžืชื—ืจื” ื’ืจื ืœืชื—ื•ืฉืช ืงื ืื”? ื”ืื ื”ืชืคืชื—ื•ืชื” ืฉืœ ื“ืจื•ืื™ื“ ืชืื˜ ื•ื”ืชืคืชื—ื•ืช ืคื™ื ื• ืชืื™ืฅ ืื ื ื•ืชื ื™ ื”ื—ืกื•ืช ื”ืชื•ืžื›ื™ื ื‘ืจืืฉื•ืŸ ื™ืชืขื ื™ื™ื ื• ืœืคืชืข ื‘ืื—ืจื•ืŸ?

ื”ื—ืกืจื•ื ื•ืช ืฉืœ ืงืœื™ืงื”ืื•ืก

ื—ื•ืกืจ ื‘ื’ืจื•ืช: ื‘ืจื•ืจ ืฉื–ื• ืขื“ื™ื™ืŸ ื˜ื›ื ื•ืœื•ื’ื™ื” ืžืฉืขืžืžืช, ืื‘ืœ ื‘ื›ืœ ืžืงืจื”, ืฉื•ื ื“ื‘ืจ ื›ื–ื” ืœื ื ืจืื” ื‘-DBMS ื˜ื•ืจื™ื™ื ืื—ืจื™ื.

ืชื•ืกืคื•ืช ืงื˜ื ื•ืช ืœื ืžืชืคืงื“ื•ืช ื”ื™ื˜ื‘ ื‘ืžื”ื™ืจื•ืช ื’ื‘ื•ื”ื”: ื™ืฉ ืœืคืฆืœ ืืช ื”ื”ื•ืกืคื•ืช ืœื ืชื—ื™ื ื’ื“ื•ืœื™ื ืžื›ื™ื•ื•ืŸ ืฉื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืชื•ืกืคื•ืช ืงื˜ื ื•ืช ื™ื•ืจื“ื•ืช ื‘ื™ื—ืก ืœืžืกืคืจ ื”ืขืžื•ื“ื•ืช ื‘ื›ืœ ืฉื•ืจื”. ื›ืš ืงืœื™ืงื”ืื•ืก ืžืื—ืกื ืช ื ืชื•ื ื™ื ื‘ื“ื™ืกืง - ื›ืœ ืขืžื•ื“ื” ืคื™ืจื•ืฉื” ืงื•ื‘ืฅ 1 ืื• ื™ื•ืชืจ, ื›ืš ืฉื›ื“ื™ ืœื”ื›ื ื™ืก ืฉื•ืจื” ืื—ืช ื”ืžื›ื™ืœื” 1 ืขืžื•ื“ื•ืช, ืฆืจื™ืš ืœืคืชื•ื— ื•ืœื›ืชื•ื‘ ืœืคื—ื•ืช 100 ืงื‘ืฆื™ื. ื–ื• ื”ืกื™ื‘ื” ืฉ-Insert buffering ื“ื•ืจืฉ ืžืชื•ื•ืš (ืืœื ืื ื”ืœืงื•ื— ืขืฆืžื• ืžืกืคืง ื—ืฆื™ืฆื”) - ื‘ื“ืจืš ื›ืœืœ ืงืคืงื ืื• ืื™ื–ื•ืฉื”ื™ ืžืขืจื›ืช ืชื•ืจื™ื. ืืชื” ื™ื›ื•ืœ ื’ื ืœื”ืฉืชืžืฉ ื‘ืžื ื•ืข ื”ื˜ื‘ืœืื•ืช Buffer ื›ื“ื™ ืœื”ืขืชื™ืง ืžืื•ื—ืจ ื™ื•ืชืจ ื ืชื—ื™ื ื’ื“ื•ืœื™ื ืฉืœ ื ืชื•ื ื™ื ืœื˜ื‘ืœืื•ืช MergeTree.

ื”ืฆื˜ืจืคื•ืช ืœืฉื•ืœื—ืŸ ืžื•ื’ื‘ืœืช ืขืœ ื™ื“ื™ ื–ื™ื›ืจื•ืŸ RAM ืฉืœ ื”ืฉืจืช, ืื‘ืœ ืœืคื—ื•ืช ื”ื ืฉื! ืœื“ื•ื’ืžื”, ืœ-Druid ื•ืœ-Pino ืื™ืŸ ื›ืœืœ ืงืฉืจื™ื ื›ืืœื”, ืžื›ื™ื•ื•ืŸ ืฉืงืฉื” ืœื™ื™ืฉื ืื•ืชื ื™ืฉื™ืจื•ืช ื‘ืžืขืจื›ื•ืช ืžื‘ื•ื–ืจื•ืช ืฉืื™ื ืŸ ืชื•ืžื›ื•ืช ื‘ื”ืขื‘ืจืช ื ืชื—ื™ ื ืชื•ื ื™ื ื’ื“ื•ืœื™ื ื‘ื™ืŸ ืฆืžืชื™ื.

ืžืžืฆืื™ื

ื‘ืฉื ื™ื ื”ืงืจื•ื‘ื•ืช, ืื ื• ืžืชื›ื ื ื™ื ืœืขืฉื•ืช ืฉื™ืžื•ืฉ ื ืจื—ื‘ ื‘-ClickHouse ื‘-Qwintry, ืฉื›ืŸ DBMS ื–ื” ืžืกืคืง ืื™ื–ื•ืŸ ืžืฆื•ื™ืŸ ื‘ื™ืŸ ื‘ื™ืฆื•ืขื™ื, ืชืงื•ืจื” ื ืžื•ื›ื”, ืžื“ืจื’ื™ื•ืช ื•ืคืฉื˜ื•ืช. ืื ื™ ื“ื™ ื‘ื˜ื•ื— ืฉื–ื” ื™ืชืคืฉื˜ ื‘ืžื”ื™ืจื•ืช ื‘ืจื’ืข ืฉืงื”ื™ืœืช ClickHouse ืชืžืฆื™ื ื“ืจื›ื™ื ื ื•ืกืคื•ืช ืœื”ืฉืชืžืฉ ื‘ื• ื‘ื”ืชืงื ื•ืช ืงื˜ื ื•ืช ื•ื‘ื™ื ื•ื ื™ื•ืช.

ื›ืžื” ืžื•ื“ืขื•ืช ๐Ÿ™‚

ืชื•ื“ื” ืฉื ืฉืืจืช ืื™ืชื ื•. ื”ืื ืืชื” ืื•ื”ื‘ ืืช ื”ืžืืžืจื™ื ืฉืœื ื•? ืจื•ืฆื™ื ืœืจืื•ืช ืขื•ื“ ืชื•ื›ืŸ ืžืขื ื™ื™ืŸ? ืชืžื›ื• ื‘ื ื• ืขืœ ื™ื“ื™ ื‘ื™ืฆื•ืข ื”ื–ืžื ื” ืื• ื”ืžืœืฆื” ืœื—ื‘ืจื™ื, Cloud VPS ืœืžืคืชื—ื™ื ื”ื—ืœ ืž-$4.99, ืื ืœื•ื’ื™ ื™ื™ื—ื•ื“ื™ ืฉืœ ืฉืจืชื™ื ื‘ืจืžืช ื”ื›ื ื™ืกื”, ืฉื”ื•ืžืฆื ืขืœ ื™ื“ื™ื ื• ืขื‘ื•ืจื›ื: ื›ืœ ื”ืืžืช ืขืœ VPS (KVM) E5-2697 v3 (6 ืœื™ื‘ื•ืช) 10GB DDR4 480GB SSD 1Gbps ื”ื—ืœ ืž-$19 ืื• ืื™ืš ืœืฉืชืฃ ืฉืจืช? (ื–ืžื™ืŸ ืขื RAID1 ื•-RAID10, ืขื“ 24 ืœื™ื‘ื•ืช ื•ืขื“ 40GB DDR4).

Dell R730xd ื–ื•ืœ ืคื™ 2 ื‘ืžืจื›ื– ื”ื ืชื•ื ื™ื Equinix Tier IV ื‘ืืžืกื˜ืจื“ื? ืจืง ื›ืืŸ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ื”ื—ืœ ืž-$199 ื‘ื”ื•ืœื ื“! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ื”ื—ืœ ืž-$99! ืœืงืจื•ื ืขืœ ื›ื™ืฆื“ ืœื‘ื ื•ืช ืชืฉืชื™ื•ืช ืงื•ืจืค. ืžื—ืœืงื” ืขื ืฉื™ืžื•ืฉ ื‘ืฉืจืชื™ Dell R730xd E5-2650 v4 ื‘ืฉื•ื•ื™ 9000 ื™ื•ืจื• ืขื‘ื•ืจ ืื’ื•ืจื”?

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”