ClickHouse áአáľáááľ áľááá áĽáąá á áá ááá áľ áá á¨ááááá áአáá˝áłáá˝ áááľ ááľáĽ ááľááŁáľ á áľááá ááᢠá áá ááᣠááľáĽ á ááᲠááá áááľá á˛á áá áľá á¨á°áááą áľá á°áśá˝ ááłááá˝ ááááŤá, áá á áá° áá¤áłá áŤááá áľáŤ ááŤá፠áá˝áá. á¨á°ááŁá ááłááá˝á á áá ááᣠá¨á ááľ ááá áá á¨ááἠáááá áŞáŤ áĽá áľ áá፠á ááťá¸áá á áľáĽááá˝ áĽáá´áľ áĽáá°áááἠáĽááłáŤááá˘
á°áá ááá˝áá! áľá á ááᲠáĽáŁááá ᣠááá áááľá áĽá°áŤááá˘
á ááááŞáŤ ᣠáá˛áŤáá áĽááľáá áááľá°á°áľ áĽá¸áŠááá ᣠClickHouse áá áĽáá°áá áᏠá ááááááľáᢠáĽáááľ ááááá á°ááááᢠáá áĽáá°áá áá áá áĽáááŤá˝áááᢠáĽá ááááŁáľ ááá á°á á áľááľá áŤááá.
áááááľ áá ááá áĽáá°áá˝á áĽáááŤá˝áááᣠáááľá ClickHouse áĽáá´áľ á áááŁáĽ áá áá áĽáá°ááťáᢠáĽáá° áĽáááą á¨áá, áááŤáľ á¨ááĽááľá, ááááŤáąá ClickHouseá áĽáá° ááá, ááš áĽá á¨áłáĽá áá á¨áá°áŤ áľáááľ áá. áááá ááá á°áááᣠááá á˝áá á¨ááá˘
áá á ááá ᣠáá áľáááľ áአáááá áĽá áá áá áľáááľ á¨áážáľ áá á á¨ááŤááŁá áŤáá°ááá° á¨á á ááá ááłá áá á ááá áá°áá¨á áĽáá°áá˝á ááłááľ á áá áľá˘
áľááá ᣠáŤáŽá˝ áááľá áá¸á? á áá á¨áą áľá ááá˝ áááŽá˝ áĽáááŤáá. ááá ááá áááá á°á ááá˝ áá, ááá á°á áááá ááá áá¨áłá áĽá á áŁá áĽáá á áááá¸á áá°á°áą áá˝áá, áĽá áŤáá°á¨áąáľ á á˛áľ ááá áááŤá.
á¨ááááŞáŤá á áŁá ááá ááłá, á ááŤáłáá áááł, áĽááá áá á¨áá¨á°áľ, áĽá ááĽá áŤáá¸á á áľááá˝ áľáĽáľáŚá˝, áááľá áĽá ááĽá áŤáá¸á áľááá˝ áá¨ááŞáŤáá˝ áá¸á.
ClickHouse áĽáá´áľ ááľááŁáľá áĽáá°ááŤá¨ááá á¨á°ááá¨áľáᣠá á ááľ áĽáŤá á˘áŤááľ á´áŤáŁááľ ááἠááá áá˝ááᢠá˝áá á áá°áá.
áĽá á¨á°ááá°á á áááá áá áĽáá°ááá áĽáá. áááłá, ᨠYandex.Metrics ááἠáŤáá á á¨á´á á áá. ááśá˝ 105 á ááłááľ á ááśá˝. 700 áŁááľ áŤááłááᢠáĽá á áĽáŠ áááł á¨á ááľ áááŽá ááľááŽá˝ áľáĽáľáŚá˝á áĽááľááŁáá.
áá° MergeTree á°áá á¨áĽ ááľáĽ áĽááľááŁáá, á á°á¨ááľ ááá˝ áááŽá á¨áľáá˝ áááá. á áŁá áĽáŠ. á á°áŁá á á¨á´á ááľáĽ - áľáá˝ áŤáá° áááá, á á°á¨ááľ áá° 400 á¨áľáá˝.
áĽá ááá á° ááŁá¤áá áŤá áŠáľáŁ áľáá˝ ááá°ááᣠáá á ááá áĽáŠ á ááťá¸á áŤáááᣠá á°á¨ááľ 250 ááᢠáŽá¨á ááľááŁáľ á ClickHouse* ááľáĽ áŤá á°ááľ áŁá ᪠ááá˘
* ᨠ2020 áááŽ
áľá á°áľ á¨á°áŠ áá áá¨á°áłá? á ááľ á¨áľá áá° MergeTree á°áá á¨áĽ áĽááľááŁáá áĽá á á°á¨ááľ 59 á¨áľáá˝á áĽááááá. áá 10 áá áááá ááᢠReplicatedMergeTree ááľáĽ - 000 á¨áľáá˝ á á°á¨ááľ. áĽá ááá á° ááŁá¤á á¨á ፠á á°á¨ááľ 6 ááľááŽá˝ ááááᢠá áĽá á áľá°áŤá¨áľ, áá á ááľ ááááľ áĽááá áá. áĽáá´áľ áĽáá°á ááĽááľ ááááľ ááťáá? áĽáá˛áŤáá á á˛á¸áá´ áá ClickHouse ááĽááľ ááááľ á¨áá áľá áááᢠáá á ááłááľ áá áá¨á°áłáá˘
á áĽáááą áá á¨áĽá ááľááľ ááᢠá áľááá áĽáá˛á°áŤ ááľá¨á áĽáá˝á áá áᣠáá á áá°áŤáááᢠáĽá á áá°á¨ááá, ááááŤáąá á¨áĽá áľááŞááľ á áŤáľááááá. áá°á á˛á áŁá˝áá˝ áá áŠáᢠáá á ááá˘áŤá áá áĽá áá˝á á°ááĽáááᣠáĽá ááá á˝áá á¨ááᢠáá°áŠáľ áĽá ááá ááá á áľááá áá°áŤáᢠáá ᣠá áĽááἠᣠááá ááááľ áááłáá˝ ááአáá˝ááᢠáááłáᣠááἠá¨ááá ááŁá¸á áĽá á ááááŽá˝ á˛ááŠááľá˘ áĽá áĽá áá ááἠá áŤáľááĄá ᣠáá á ááá á°á°ááá ááľáá˘áŤ áŤáááᢠáĽá áá á á áá ááááľ ááľáááľ áŤáľáááááłá.
á¨á´áááŤá áĽááł á ááťá, á¨áłá˝áá ááľáá á ClickHouse ááľáĽ ááľááŁáľá á˛áŤá°áá, ááᥠáá° ááá á¨ááááἠááá ááľáĽ á áááŁá. ááá áĽááłá áá ááá memTable áľááá á ááľ MergeTree áĽáť áĽáá áĽááá°á á¨áá á°áľ áá ááá á á¨áááᢠáĽá áá˛áŤáá áááĄá áá° á¨ááá áľáááą áĽáá˝ááá ᣠááľááá áá° á ááśá˝ á°á áá˝áˇáᢠáĽá 100 áááśá˝ áŤáááľ á¨á፠ᨠ200 á áá áááá˝ áá° á¨á°áᨠáá፠ááá á ááŁá¸áᢠáá áá á áŁá á áľá¸á᪠áá.
áĽá áĽáŤáá á¨áááłá "áĽáá´áľ á áľááá ááľá¨á áĽáá°ááťá?" áĽáá°áá á áááľ áááł á¨áá, á ááá á áá ááááľ áá° ClickHouse ááἠááťá áŤáľáááááłá.
áá´ 1. áá ááá ááááľ áá. á ááľ ááááľ á¨á°á¨ááá áá¨á áá ááᢠáááłá, áŤááŤ. áá¨áá á¨áŤá፠áĽáť ááľá°ááᣠá á´áŽááľ á ááľ áá áĽáá°á áľáŁááᢠáĽá ááá ááá áĽáŠ áááá, áááááŁá, ááá ááá á áľááá áá°áŤá.
ááłáśáš áŤá፠áá á áľá¸á᪠á¨á°á¨ááá áľáááľ ááᢠáŤá፠á áľáá áľá ááľáĽ áĽááłáááľá á°á¨áľáťááᢠáĽáŠ áá, ááš áá. áá áĽá፠á¨áá áá á¨á°á¨ááá áľáááľ áá° ááŽáááľá á¨ááá°áľá á ááľ áśáľáľ áá áá°áĽ á ááĽááľá˘ áĽá áľááá á ááŤáŽá˝á áááľ ááľáĽ ááľááŁáľ á°áᢠáá.
áá´ 2. áĽáá°áá áŤá á¨áľáŽ-áľáá ááľ á¤áľ á ááŤá áĽá á á°ááłáłá áá á áŁá ááá áá. áááἠááľáłááťáá˝áá á¨ááŤááá á ááľ ááááľ á áááá á áááľ? áĽá áááἠááľáłááťáá˝áá áá° ááá áĽáť áá˝ááᢠáĽá á á°á¨ááľ á ááľ áá, áááłá, áá á ááá áĽáá°áá áĽáá°áááá, á á˛áľ ááááą. áĽá á¨á°áᨠáľááŞááľ á ááŽá ááá á ááłááľ á´áá á áŁá áĽááłááá ááá ááľáś áá° ClickHouse áá˝ááᢠáááἠááľáłááťáá˝á á á°á¨ááľ á ááľ áá á¨áťá, ááá ááá á°á á áááá.
ááá áá á¨áá áá´ ááłáą áááἠááľáłááťááš á¨á°áá áŠá áľ á ááááá á¨áá áŚáł á¨á á áááĄá áá ááá˘
áá´ 3. áá á áľá°áłá˝ ááááľ á á, áĽáąá áŤá áááŤá áááá˝ á ááŤá˝. áááłáᣠáá¨á á¨ááŤááá á¨áá á¨ááľáłáá፠áľááá ááá áá á áľá°áłá˝ á´áá á áááľá˘ áĽá á áľááá á RAM ááľáĽ ᣠá ááľ ááľáĽ áĽá ááἠáá¨áá¸áľ áá˝ááᢠáĽá á á áá á˛áŤááᣠáá á ááľ áá° áá á áľááá á á á˛áľ ááá አáĽá á¨á°á áŤáááá áá° ClickHouse á á°áᨠáá ááľáĽ áŤáľááĄáľá˘
á áá á áŠá, áá¨áá á ááá°á -9 áá áá. á ááááá á¨áá¨á° áá á ááἠáłáŁáá ᢠáĽá áá á˝áá áá° áłáłá¤á ááťá áŤááťá áááĽá á RAM ááľáĽ áá¨ááťáᢠáĽá áá áŤá á ááá áłáᣠááá á°áá áá¨á áłáŁáá á˘
áá´ 4. áá á áľá°áłá˝ ááááľ. á¨á áááá áá°áľ á áá ? áĽá áĽáą á á ááľ áá áá° ClickHouse ááἠááá áá˝áá, áá á á ááľ áááááľ ááľáĽ áŤáľáááľ. áááłáᣠᨠhttp áĽáŤá ááŹá áá á¨áááá-á˘áŽá˛áá ááᥠá¸áá á ááľáá˘áŤá˘ áĽá á áŁá á áá á áá áááĽáŤáŽá˝á áŤáááŤá ᣠáĽáŤááłááąá ááľáá ááá áá˝áá ᣠááá áĽááłá áá áá ááἠááá á¨á˝ á°á¨á᪠áááἠá˘áááá˘
áááᣠá áá á ááŁá ááᥠáá˛áŤáá áá° ClickHouse áááŤáᢠáĽá ClickHouse áŤáą áŤáľáááŁá¸ááá˘
áá á˝ááŽá˝á á á. á áá áá°áľá á˛áá°á áĽá ᨠClickHouse áá°áľ á¨á°áá°á á¨áᎠááἠáŤáŁá, ááááŤáąá áŤáá°áá ááľááŁáľ áááá. áĽá á ClickHouse ááľáá˘áŤáá˝ ááľáĽ á á¨áľáá˝ áá á ááľáĽ áĽáľá¨ á¨á°áá°á á¨á°áá°á áá°áĽ áľá¨áľ á áśáá áá¸áᢠá ááá á°á¨á, áá á áľá°áłá˝ ááááľ áá. áĽáá˛áá áá áá ááťáá.
áá´ 5. áá á áľá°áłá˝ ááááľ áá¸áá. áá á ááłááľ á áááľ á áá á á¨á°áĽ á¨á°ááᣠáááἠáá°áŁá°áĽ á áááá ááᢠáĽá áŤá´ á áá°ááá¨áľáŠáľá, áľááá ááá ááá ááľáľá ááľá áľ á áá˝áá. ááá áá á ClickHouse áĽáŤáą ááá ááľáľááá˝ á¨ááᢠáá áĽáá˛á áááľ ááá ááᣠáá á áá á áŠáᣠááá á¨áĽ á¨ááááá¨áá á¨á°áá°á á¨áĽáŤáľ á°á¨á ááłááááą áľá˝ááá˝áᢠáá ááá ááá - á ááá á ᣠáá° GitHub ááṠᣠáŽáąá áááá¨áąá˘ ááááŁáľ áĽáŠ ááá á˝áá áááá.
* ᨠ2020 ááᎠᣠáĽáá˛áá á¨áááľ ááľáĽ áááŁáľ á áá áľá˘
áá´ 6. ááá áááᾠᨠBuffer á°áá á¨áŚá˝á áá áá áá. á¨áá áá´ áĽá á áá áá ááááá á áŁá ááá áá. á¨áá፠á á¨á´á ááá አáĽá áá° áĽáą áŤáľááĄá˘
áá ááłáą á˝áአáá á áá á áááá¨á ááᢠá MergeTree á áááľ áá á áá¨áá á á´áŽááľ á á ááľ áŁá˝ ááŚá°á áŤááŚáľáŁá áá á ááľ á áá á¨áĽ ááľáĽ á˘áŤááľ á á°á¨ááľ áĽáľá¨ áĽá áşáá˝ áá°áŁá°áĽ áŤáľáááááłáᢠá á´áŽáᾠᨠ10 á áá á¨áá, á ááá ááĽá áááá. áĽá á áĄáľá ááľáĽ áŤáľáᥠᣠá¨á፠á á°á¨ááľ ááś áşá ááľááŽá˝ áĽá፠áĽáá°ááá á áá°áá ᢠáĽá áá ááľááá á áŁá á¨áŁáľ á áá ááἠáá ááá˘
áĽáá˛áá á¨áá áŁá á፠á á¨á´ááá˝ áááἠááľáłááť á¨áá¸áá. áĽá á á áááአáá á¨áá á˝áá á¨á°áá ᨠááᥠáá ááá˘
áĽá áĽáá° áááťáŁ á á áᥠá ClickHouse ááľáĽ á¨áŤá፠áá¨á ááá°áĽá°áĽ áĽáľáá á ááá°ááᢠá¨á á¨á´á áá°á á á - áŤááŤ. á ááá áĽá¨áá አááᢠáĽá á áĽáą áá á°á¨áŁá áĽááłáá˝á ááľáá áľá˝ááá . á áá á ááŁá áááĄá á¨áŤá፠á ááĽáś áá°áááááľ á á¨á´ááá˝ áŤáľááŁá.
á á°áá á áá á ááŁá á¨ááŤáľá°áľáľ ááá á áááľá¨áá˝á ááᢠáá á¨áá á á¨á°áĽ áŁá ᪠ááᢠáĽáá "á¨áá á á¨á°áĽ áŁá áŞ" áľá áŤáááá áááľ áĽáááŤáá. áŽáąá áĽáááŁáá, áááá á áľáááá, á áľááá ááľáŤáľ á áá áľ.
* ᨠ2020 ááᎠá°ááłáłá áľáá á áá˘
ááἠá ááŤáľááĄá áľ áá á¨áááá˝ ááá áŤáá°á á á áá áá ááá áá˝áá? á¨áĽá´áśá˝á á áľáᣠáĽáŤá áŤá°á¨á áĽá á ááłááľ á¨á°á°á ááááŤáá˝á á áĽá´áśá˝ ááľáĽ áááᢠáááłáᣠá áá() áĽáá˛á á¨á°áááá á áááá˝ ááᢠáĽá á áá á ááŁá ClickHouse ááĽáŤááłááą ááľáá á¨áĽááá á á áááážá˝ á áľá°ááá áááľááłáľ ááá°áłáᣠáĽá á áááá á áłáá áľáááá˝ áááľááᢠáĽáąá ááľáááľ ááťááá˘
* á á áá áá á˝áአáá á áá á°ááľáˇá ᣠá VALUES ááľáĽ á áááážá˝á á˛á áá ááá á°á¨á᪠á¨á áááá ááááť á¨ááá˘
á ááłááľ á˝ááŽá˝ áááŠá áľ á¨áá˝áá áľ ááá ááłá á á ááľ áŁá˝ áá áŤáá áááĽá á¨áááá˝ áľáĽáľáĽ á¨áá ááᢠá ááŁáŞ á¨ ClickHouse áááááá˝ á ááᢠáĽá á ááľ áááŽá á¨áľáá˝á áŤáľáᥠáĽá ááĽá áááłáľ áá¨á áŤá ᣠá¨á፠áĽá፠áĽá á°ááá áááááŽá˝ áááááłáᢠáĽá áá áĽá á áľá áĽáĽá áŤááą áľáĽáľáŚá˝ áááŤá á¨ááá áĽáááł áá áĽáŠá áá ᣠááááŤáąá á ááľáŁá¸á áá áá á ááááŞáŤ áá° áááááŽá˝ áá¨ááá á˘
* á á áἠáá á ClickHouse á áá¨áŤ áááł ááľáĽ á áŹá ááľáĽ áá áááĽáŤáŽá˝ áĽá áááĽáŤáŽá˝ á¨áłáá á áá¸áľ á¨á˝áá-áá°ááľ áááἠááľáłááť áá á°á¨ááŻá ᣠáá á á˝ááŠá áá á áá áááłá á˘
á áá ááá°ááá á áááľ á˝áá á áľáĄá áľ - á¨ááἠáá°á¨áĽ.
á¨ááἠáá°á¨áĽ áĽáĽá áĽá á ááłááľ áá ááĽá¨ááá ááá áá˝ááᢠááĽá¨ááá - áá ááá á¨á áĽá¨ááá á áááľ ááľáŽá˝ áĽááłáááľ ááľá°á á˛áááš ááᢠáŤááᢠáŤáá ááľá¨á á¨ááĽá á.
á ááłááľ ááľá á áá ááááľ á ááááá áľ áá á áľááá áĽáá´áľ ááľá¨á áĽááłááĽá áĽááá áĽá ClickHouse á áŤáą áĽáá˛áŤááá ááááąááľáŁ ááá áá á¨áĽááááľ ááłá á˘áŤ á áááľáľáᢠáá á ááá á¨á°áá°á áĽá¨áľ ááľá¨á á áá ááá˘
áááłá á¨á á á á áľáŤáť á ááᢠá á ááľ á ááŁá áĽáá° ááĽá¨ááá á áľáááĽááᢠáááłá 192.168.1.1. áŤáá áá፠ᨠUInt32* ááááľ ááĽá ááááᢠá IPv32 á áľáŤáť 4 á˘áľ á á ááá˘
á ááááŞáŤ ᣠá ááŤáľá°áá áá᳠ᣠááᥠá á°ááłáłá ááአáá¨áááᢠááŠááľ áááŤá, á áĽááá áááľ, áá áŤá áŤá á áľáá á áá°áá. áľááá á á˛áľá I / O áá ááá áአá˝ááŽá˝ á¨áá.
ááá áá á á˛áአáá áĽá á áĽáŤá ááľáá¸á፠áá áá á¨áŁáľ ááŠááľ á áá˘
áĽáá° ááĽáŽá˝ á¨á°ááᥠáአá¨áááľá á¨á áá á áľáŤáťáá˝ ááĽá áĽáááĽáŤá¸áᢠá á°á¨ááľ 137 áááŽá ááľááŽá˝ áááŁá. áĽáá° ááľááŽá˝ á°ááłáłá á¨áá, á¨ááŤá 37 áááŽá ááľááŽá˝ á á°á¨ááľ. áá á ááŁá ááá áĽáá°á°á¨á°á° á ááá áᢠáĽááá á áĽáŤááá˝ áŤá´ á áľááá ááᢠáá áá° 4 áá áŤá á ááááá˘
áĽá á á˛áľá áŚáł áá áŤááá ááŠááľ áŤá°á, á¨á፠á°áá ááŠááľ á á. áĽá ááŠááą á ááľ á áŤá°á áŤá á áá, ááááŤáąá á áŁá áĽá áአá¨á áá á áľáŤáťáá˝ á á. áĽá áľáá˝ ááĽá áŤáá¸á á¨á°ááŤáŠ áĽá´áśá˝ áŤáá¸á ááľááŽá˝ á˘áአáᎠá áááá -áááą ááľáĽ á á¸áĽáł áá° á°ááłáłá áá á áá¨áááá˘
áĽá á¨á áŤáľ áĽáĽá á¨áá ááŠááľ á ááááľ áá á áá°áá. ááááŁáľ áĽááľá, á áĽáááĽ, ááľ á áá°áĄááľá, ááá áá áĽáá°áá á áááľ ááŠááľ áłá, á áááá.
á¨á°ááŤáŠ ááłáŽá˝á áĽáááá¨áľá˘
1. áĽááľ á¨á°ááŤáŠ áአáĽá´áśá˝ á˛ááŠááľ á ááľ ááłáᢠá áá á ááŁáᣠáĽááľá ááŤáááľ á¨áá˝ááľá áĽá áááááá á˛á˘á¤áá¤áľ áá ááá áľ á¨áá˝ááľá ááá á á°áŤá áĽáá ááááᢠáá áá á ClickHouse áĽáť áłááá áľááá áŤáá ááᢠá¨ááĽá áááŤáá˝á áá° áłáłá¤á áĽáť áááᢠáĽá áá° ááĽá¨ááááá˝ áááἠáĽá á¨áá°áá áŞáŤá áá ááááľ áá˝ááá˘
áááłá ááá á áá ᢠáĽá áĽáá° ááĽá¨ááá áááľááἠáĽá¨áá¨áŠ ááᢠáĽá áĽá፠ááťáá-ááľáŽ áĽá ááľáŽ ááá. áĽá "ááľáŽ" áĽá፠áĽáá°á°áťá áľááá¨áľ, áá á ááá ááá á áá°áá, áĽá MO á˛áá, á áá ááááľ áá á áá á áłáá áááá. áľááľ áŁááľ ááá˘
áááááľ á ááá ᨠUlnt32 ááĽáá áĽá 250 á áĽáá˝ááá. á Yandex ááľáĽ 250 á áá, áá á¨áĽááľá á¨á°áᨠááá áá˝áá. áĽáá°á፠á¨áá, ClickHouse á¨ááŚá¤á áá á áĽáŽ á¨ááĽáŤáľ á˝ááł á áá áĽááá. á ááá á¨áááá˝ áá áá፠áá˝áá, á°áá¨áľá á¨ááŽ, áááľá ááľáŽ, ááľáŽ ááá áĽá á¨áááááľá áá. áĽá á áĽáŤáá á°á¨á áááἠáá˝ááá˘
ááá°áá á ááŤá á°ááłáłá áá ᣠáá á ClickHouse ááľáĽ áŁáá áľááᢠá¨Enum á¨ááἠá áááľ ááᢠá ááá á Enum ááľáĽ á¨áááááľá áááá áĽá´áśá˝ áááᢠáááłá á¨ááłáŞáŤáá á áááľ áĽá áĽá፠ááá: á´áľááśá, ááŁáá, áłáĽááľ, á˛áŞ. 4 á ááŤáŽá˝ áĽáťá˘
ááłáą á á¨ááá áááἠáŤáľáááááłá. á ááľ á ááŤá áĽáť áłáááᢠá°ááá á á¨á´á áĽáá°áŤáá. á áĽáááąáŁ á ClickHouse ááľáĽ áŤáá ááἠá áá á¨áĽ áá ááᢠá á°áá á Enum áá áá ááááŤáąá á á˛áľá áá áŤáá áá¨á á ááááĽá. ááá ááᣠááἠá á á¨á´áá áá áááá፠* áŤááá áĽá ááá áááŤáá˝ áĽáľáŞá ááá áľá¨áľ áá á á á áá áľá˘ áĽá áá ááἠá¨á°áá¸á á áá áĽáť áá, áááľá, á ááá á ááłááľ á˝ááŽá˝ á á.
* á á áἠáá ᨠClickHouse áľáŞáśá˝ ááľáĽáŁ ALTER áá á áá áĽááłááłááľ á°á°áááá˘
á ClickHouse á áŁá áአá¨ááá ááá á ááŤá á¨á᪠áááá áááľ áááááľ ááᢠá ClickHouse ááľáĽ ááĽáŽá˝á ááťá áĽá áááŤáá˝áá á ááááá ááĽááľá á ááá˝ áľáááľ ááľáĽ ááľááἠáá˝ááᢠáááłááĄ- MySQLᣠMongoᣠPostgresá áá áá áá˝ááᢠáá á ááἠá http á áŠá áááŤá á¨áŤáľáá áááᎠá áááááľ áĽááłá ááá á áá˝áá. áĽá á ClickHouse á°á¨áᣠáá á ááἠá¨ááĽáŽá˝ áá° ááĽá¨ááááá˝ á¨áááá á°ááŁá áá˝ááá˘
áá á ááŤá á á¨á´á áá áááááá ááá¨ááá áአááá áá á áŁá áááŁá ááááľ ááᢠáĽá áááľ á ááŤáŽá˝ á á. á á áá°áá á ááŤáᣠáá ááἠáá á áá áá¸ááŤáŁ áá á áá á RAM ááľáĽ áááá áĽá á á ááłááľ ááá°áśá˝ ááťáťááᢠáĽá á áá á ááŤá ᣠáá ááἠᨠRAM áá á¨áááŁáŁá á¨áá ᣠá¨á፠á á¨áá áá¸áἠáá˝ááá˘
á ááľ ááłá áĽáá á áᢠYandex.Direct á á. áĽá á¨ááľáłáá፠áŠáŁá፠áĽá áŁááŽá˝ á á. ááááŁáľ á á áľá áááŽáá˝ á¨ááá አá¨ááľáłáá፠áŠáŁááŤáá˝ ááአáá˝ááᢠáĽá á RAM ááľáĽ á áááľ á°áľááᢠáĽá á á˘ááŽáá˝ á¨ááá አáŁááŽá˝ á á, á áááĽáá. áĽá ᨠMySQL á¨á°á¸áá áááá áááľ áĽá¨á°á ááá ááá˘
áĽá¸áá á˝áá á¨á°á¸áá á áááá -áááľ á¨á°á¸á á ááĽááľ áá° 100% á¨áá á á¨áá á áĽáŠ áááł áá°áŤáᢠá ááľ áŤá á¨áá ááĽáŤááłááą á¨ááἠáĽá á áĽáŤááá˝á á áá°áŤá áľ áá á¨áá°ááľá áááá˝ á áľááá ááá°áľ áĽá ᨠMySQL ááἠáááá°áľ áááľ á áľááá áááá. áľá ClickHouse ᣠá ááá áŤáá ááľáľá ááľá áľ áĽá˝ááá - á á ᣠá ááááá ᣠáľáááá˝ áľáááśá˝ á áááááá˘
áĽá áĽáá° áááťáŁ áááá -áááśá˝ á ClickHouse ááľáĽ áá¨áá áĽáá°áá ááááá á áŁá ááá ááááśá˝ áá¸áᢠáááľá ᣠá ááľáłáá፠áŠáŁááŤáá˝ áá áŞáááľ áá áŤá˝á ᣠá°á ááá á¨ááľáłáá፠áŠáŁááŤáá á ááá áááŻá áĽá á ááá á¨áľáŽá áá¨ááὠᣠá ááá áŞáááśá˝ ááľáĽ ᣠáá ááἠáĽáá˛á á°áááŻáᢠá¨áľáá˝á á ááĽáł áá° á á¨á´áá á¨áťá, á¨á፠áĽááąá áááá á áá˝áá.
á¨ááĽá¨ááááá˝á á áááŤáá˝ á¨á¨áľ áĽáá°ááłáá á¨ááłáá á áľ áá ááááľá˘ áĽáť áá˝ ááľá¨á áľá˝ááá ᢠáĽá á áŁá ááá á ááŤá áŁá 64-á˘áľ áá˝ ááá°áľ áá.
áĽá¸áá á˝áá áá˝ 64-á˘áľ á¨áá, á áĽááá áááľ á áĽááá áááľ áááśá˝ áááŠááłá. ááááŤáąá á ááľ á˘ááŽá ááľááŽá˝ áŤá, ááľá ááľááá á°á¨áŁá áĽá¨áá ááĽáˇá.
áĽá áĽáá°áá á áááľ á¨ááľáłáá፠áŠáŁááŤáá˝á áľá áá˝ ááľá¨á á áŁá áĽáŠ á ááááᢠá¨á°ááŤáŠ áŠáŁááŤáá˝ á¨ááľáłáá፠áááťáá˝ á¨á°á°áŁáá, á¨ááŤá ááá¨áłáľ á¨áááťá ááá áááŤá.
áĽá ááá áá´ á á. áĽáááľ áá ᣠáá¨áŁáľ áá¨áá á áŁá á°áľáá á áá°áá ᣠáá á ááľ ááá á áŁá á¨áŁáľ áŤááá ᣠá ááá áá á¨á°áá á áá፠áá° áááá -áááą ááá áŤááᢠáĽá á¨á፠áááśá˝ áááŠááłáᣠáá á á ááľ á°áá á ááľáĽ áĽáťá˘ áĽá áá á áá´ á Yandex.Metrica ááľáĽ ááá á ááá áŤááł áĽáá áááá. áĽá፠áŠá áá¤á á áá ᣠhashes áĽáá¨ááťáá ᢠáĽá á áĽááἠáááśá˝ áĽááłá áĽááááá. ááá áá á ááľ áá˝ á˛áłá á á ááľ áá˝ áá áá ááľ á°á áá á ááłááľ áŠá áá¤áá˝ á°áŁáĽáá á¨ááá¨áą ááľá áĽá áá ááľá°áááᣠá¨á፠áá á˝á ááŁá áá˝ááá˘
áĽáá° áááť ááĽá áŚááŹá˝áá˝ áá˝ áĽáť á á áá áĽá áááśáš áĽáŤáłá¸á á¨áľá áááᥠá áá˝ááá˘
áĽáá° áľá áŁá˘áŤ ááŤáá˝ áŤá ááĽá¨ááááá˝ á áá á¨áá áá ááłáᢠáĽáá°áá አáááᥠáá˝áá. ááá, áááłá, á¨á áłá˝ ááá ru 2 áŁááľ áá. á áĽááἠááŁááľ á áááá áá á áá¨áá 2 áŁááľ á áŤáłáááᢠáĽáŁáŤá˝á áĽáá°áá አáŤááŠáľ, á áľá¨áá.
ááá ááłá á°áá á á°ááŤáá áĽá ááĽá¨ááááá˝ á˛áአáĽá á á°ááłáłá áá á ááľáŁá¸á áĽá áአá¨áá, áĽá áľáĽáľáĄ áĽááłá áŤáá°áá°á ááá áá˝áá. á¨á°ááá°á ááłá á¨ááá áá¨áá˝ ááá áŠá áá¤ááá˝ ááᢠá áá°á¨áĽ ááááŤáľ á¨áᎠáá¨áá˝á ááááᢠá áá áľááľ áአá¨ááá áá¨áá˝á áĽááᢠáĽá á¨ááá ááľá°áśá˝ ááľáĽ ááá˝ áŤá á á¨ááááľ áááá¸á á°ááá ᢠáĽá á áá áááł, áááĄá áá°á á ááľá¨á, áááŤáá˝á ááá á, á á°áᨠá áá á¨áĽ ááľáĽ ááľááἠáŤáľáááááłá áĽáá áŤáľáĄ áááá. áá áŤáá ááľá¨á á¨ááĽááľá. áĽááá á ááľááŽá˝ áĽáá°áá አáĽáť áŤááŠ.
á¨á°áťá - ááá ááá á ááá áŠ, ááááŤáąá ááĽáťá áŤá¨áášáľ, ááááá áŤáľáááááłá. áĽá áá ááááá á ááá á áá á°á¨ áľááľáł ááľáĽ á¨ááľáá á¨áá á áááá° áá° áá á°á¨ áľááľáł ááľá¨áľ ááᢠá¨ááááĽá á¨áá á á á ááá á˝ááŽá˝ ááአáá˝áá.
áĽá ááᥠá áŚáłá áá á¨á°á¨áḠá ááá á¨ááá áľáááą á áľááááá á á°á á°á¨á°á ááá áŁá áĽá ááá ááá áĽáŠ áá.
áŠá áá¤á ááá áá ááľáĽáľáĽ á¨á á ááĽá¨ááá áŤáááľ, á ááłááľ áááá˝á á áľááľáá ááľááľ áĽá á á°áᨠá ááľ ááľáĽ ááá áĽáá°áá˝á áá°áĽ á ááĽááľ.
ááŠá áá¤áá˝áŁ áááłáᣠááŤáá ááĽáťá áá¨áá¸áľ áá˝ááᢠáĽá á áĽááἠá፠á¨ááá ᣠá¨á፠áá áá á ááľ áĽáť áá áá ᣠáĽá áŠá áá¤ááš áááťá ᣠáĽá áĽááľá áĽááłá á áááłá¸ááá˘
ááŠááą áá áĽáá°áá áĽááᢠClickHouse ááŤáá á¨ááŤá°á áአá°ááŁá á ááᢠá áŁá ááŁá ááᣠá ááťá˝á°ááᢠáĽáᣠáĽáááąá áááááᣠᨠRFC áá áĽááłá á áŤáááᣠááá áá á¨ááŤáľááááá áá áááľ ááľáĽ áŤáľááŁáá˘
áĽá á á ááľ á ááŁá á ááá áŠá áá¤áá˝á áĽááááá áĽá ááŤáá áĽáá°áááᢠ166 ááá°á¨ááľ áááŁáᢠáĽá ááá á¨áá á፠á¨áá°áą ᣠá¨á፠67 ááá°á¨ááśá˝ áĽáť áááŁá ᣠáááľá ᣠá ááĽááľ áśáľáľ ááᢠáĽá ááŁá, á ááłááľ áľááśá˝á ááľá¨á áľáááĽá áłááá áľáá˝ ááἠáľááá áĽá áá.
á áá ááááŤáľáŁ á ááľ áĽáŤáᣠááááᣠá á´áŽááľ áááŁááľ á¨á áá ááĽááľ áŤáááᢠááááŤáąá áĽá áááŁááľ áľáááŤáἠááᢠáá áá á áá á°á°ááá ááἠááᢠáĽáŤáá á ááĽááľ á¨áá°áŤ áááľááᣠáá ááá ááá á¨á á áá áááľáłáá˘
áĽá á á˛áľá áá áŤááá á¨ááἠáá á á¨á°ááá¨áą, áŠá áá¤á 126 áááŁááľ áá, áĽá á፠5 áááŁááľ áĽáť áá. á 25 áĽáĽá áŤáá° áááá. áááᣠáá áá á ááá 4 áá áĽáť ááŁá ááᢠááá áá áá¨áá áľáŠáľ áľááá áá. áĽá áááá á¨áá ááááŁáľ á á˛áľá I / O ááááŤáľ 25 áĽáĽá ááŁá ááá áá˝áá.
á áááŤá˝á áá, ááŤá á¨áŠá áá¤á áá áŤá á áŤáá° áĽáá°áá á¨áááá, áá° 4 áá áŤá á áááá. ááá áá á áá ááááŤáľ, á á˛áľá áá áŤáá áá¨á 25 áĽáĽá áŤáá° áááľáłá. ááá? á áá¨áá ááááŤáľ. áĽá áŠá áá¤á á°á¨áááᣠáĽá ááŤá á°á¨áááᢠáá áĽá áá áŠá áá¤á áĽá á¨ááťáť ááŁáŤ ááááá˘
áĽá á áĽááἠááľááááááš áĽá´áśá˝ á¨á°áá°á ááá á¨ááľáá áľáááá á¨ááἠá áááśá˝á áá áá á°áᢠááᢠá IPv4 ááľáĽ áŤá UInt32* áŤá¨áášá˘ IPv6 á¨ááᣠá¨á፠FixedString(16)ᣠááááŤáąá á¨IPv6 á áľáŤáť 128 á˘áľ ááᣠáááľá á ááĽáł á áááľáŽá˝ á áá¸áľ á á¨áá˝á˘
áá á ááłááľ áá IPv4 á áľáŤáťáá˝ áĽá á ááłááľ áá IPv6 áŤáááľáľ? á á, áááąáá ááá¨áľ áá˝áá. á ááľ á ááľ á IPv4ᣠááá á IPv6ᢠáĽááἠáá, IPv4 á áá° IPv6 ááá á¨á˝ á ááľ á ááŤá á á. áá áĽáá˛á áá°áŤáᣠááá áá á áĽáŤááá˝á ááľáĽ áĽá áá IPv4 á áľáŤáť á¨áááᣠá¨á፠á á°áᨠá ááľ ááľáĽ ááľááἠáĽáŠ ááá˘
* á áá ClickHouse á¨á°áᨠIPv4ᣠIPv6 á¨ááἠá áááśá˝ á ááľáŁ áá¨áá áĽáá° ááĽáŽá˝ á áĽááľ á¨ááŤá¨áá˝áŁ ááá áá áĽáá° strings á ááá˝ ááአáááááá˘
á á°á¨ááŞá áááĄá á áľááľáá ááŤááľ á áá áááá áἠááŁá áááŁá. áááłá, á ááłááľ áĽáŹ áááἠááľáłááťáá˝ áá° áĽááľá áááŁá. áĽá, ááááŁáľ, áá˛áŤáá áá° ClickHouse ááľáĽ ááľááŁáľ á¨ááĽááľá, ááá áĽááłá ááá ááá ááááľá¨á á áŁá ááłá á˘ááá áĽá ááá ááá áá°áŤá. áá á ááá ááá á¨áá˝ááľá áľááśá˝ áá¨ááá á ááá á áá áá.
áááłá, á¨á áłá˝ áľáŞáľ. á á ááłááľ á ááŤáŁá˝ á˛áááľáááśá˝ ááľáĽ, áŁá´á ááá áá á¨áááááá, á¨á áłá˝ áĽáľá áĽá፠ááľáĽ á°á¨áá˝áˇá, áááľá, áĽáá° ááĽá¨ááá: 12.3. áĽá á¨ááŤáŁ áŞáááľ áááľá¨áᣠáá á ááĽá¨ááá ááľá°á á á á°áŤá°á áá¨ááááᣠá¨ááŤá á áľááľá á¨ááááŞáŤá á áŤáᢠá á°ááĽáŽ, ááá ááá ááĽááľ ááááłá. ááá áá á áĽáá°ááŤá°áá á á¨á áłá¸áᢠáŤáááá áááťá¸áľá áĽáá°ááááą áááŠáᢠáĽá áŤáááá á ááŤá˝ááľ á áááľáá˘
áľááá á áá áááł á 4 á ááśá˝ áá¨ááá á¨á áá áľááá áááá. áĽáá á áľááŠáŁ ááááŤáąá áá ClickHouse ááᢠClickHouse á¨á ááľ áłáłá¤á ááᢠáĽá á¨á áá á¨á°áŁáŤ áľááá˝ áááśá˝, á¨á°áťá áá. 5 BrowserVersion áááŤáᣠ5 á ááśá˝á ááľáŠá˘ áá áĽáŠ ááá˘
á áá áĽá á áŁá á¨á á ááĽá¨ááááá˝, á áŁá á¨á á áľááľáŽá˝ áŤá áá ááľá¨á áĽááłááĽááľ áŤáľáĄ. á ClickHouse ááľáĽ áá¨áá¸áľ á áŤáľáááá¸ááᢠá ááľáŠáŁ á ClickHouse ááľáĽ á¨á°áá°á áá፠áĽáť áá¨áá¸áľ áá˝ááᢠáĽá áĽááá á¨áŁáĽá ááľááŽá˝ áá° áá áľáááľ áááá¸áá˘
áááłáᣠá¨á á¨áľááłá á áááááśá˝ á ááą á ááłááľ á¨ááľá°áľ áááŞáŤáá˝ á ááľá˘ áĽá áĽá áááŞáŤáá˝ áá° ááľá°áśá˝ á¨áᥠᣠá ááá á¨áááĄáľá á¨ááááŞáŤáášá 512 áĽááľááá ᣠááááŤáąá 512 á áŤáłáááá˘
áĽá á áĽááľá á¨ááἠá áááśá˝ áá ááá°á áŤááťá áá° ClickHouse ááἠááťáá áá˝áá ᣠáá ááááŤá ááἠáአá ááá á¨áá ááááľ áááŤá á°áá á¨áĽ ááᢠá¨á፠á áá áá ááááľ á¨áĽá´áśá˝ áľáááľ áĽááłááᾠᣠá á á ááá áá áĽááłá áĽá áľáááááášá ááááśá˝ áá°áá°á áá˝áá á˘
* á áá ClickHouse á¨ááἠá áááľ á ááá˘
á áá á°áá áá á áľá°áłá˝ ááłá á°ááá¨áľá˘ á ááłááľ áá áááŽá˝ áá°áá˝ áĽáááł á áá ááááľ áá áŤá. áá á á¨áááᢠáĽá áá˛áŤáá áá á¨á°á°á¨áá MySQL áľáŞáľ 3.23 á áááá á¨ááľ á°á áááľ áŁáá¸á á áŁá áááľ áŁáá¸á áĽáá á áľá°áłáłáŞ áááľááá˘
áĽáá á ááľ áşá á á¨á´ááá˝á áĽááŤáá, áĽáŤááłááłá¸á á¨áá¨áá áá¨ááá á¨áŤáá á áşá áá áĽáá°áá ááá˝ á áá°áá.
á ááá á°á¨áᣠáá áááľ áá á áááľ áľáá ááá áĽáá°áá˝á áá¨áłáľá á¨áᎠá¨ááá˝á áááľ á á¨áĽáŤááá˘
áĽá ááááŤáśáš áĽá ááá áľáá˝ ááá˝ áá¸á. áĽááá á¨ááá˝ áľáááśá˝ áá á áá°áŠá áľ áá áá¨ááš á¨áá˝á á¨áአá áááŤá¨áśá˝ áá¸áᢠáááłáᣠá¨MyISAM á áá á¨áŚá˝ á¨á°á°áŁá ᨠáá ááá á¨áá¸ááᢠáĽá áá áá¨á á¨áááŤáľ ááááľ á°ááłáłá á°ááŁá áááááľ á°áľá á áľááŤá áá¨áŤ ááá áá˝ááá˘
ááá ááááŤáľ á áľááá á á¨á´ááá˝ áá ááá á áááľ á¨ááἠáľáŤáá˝á áááľáŤáľ á áľá¸á᪠áá. ááá ááá ááłááłáᢠááá áĽááłá á ááááá MySQL áľáŞáśá˝ ááľáĽ, áá á˝áá á¨á áá á áá áŤá áŤá á á¨áŁáľ á áá°áá.
áááᣠáááłáᣠmicroshardingᣠáá á¨á፠á áá áá á°á¨ááŞá˘
á ClickHouse ááľáĽ, áá áá ááľá¨á á áŤáľáááááľá, ááááŤáąá á ááááŞáŤ, ááá ááá á°á°áĽáľá§á, ááᥠá ááá ááá á¨áłáá áá.
áĽá á ááłááľ áá á°áá˝ áĽáá˛á áĽáá áá áááááĄ- âá¨ááá áá ááá˝ á ClickHouse ááľáĽ áŤáá á ááťá¸á áĽáá´áľ á á á¨á´áá áá á ááá¨áŤá?â á ááá á ááááĽá áĽáááᢠáááłáᣠá ááľ á˘ááŽá á¨áľáá˝ áŤáá á á¨á´á á áá áĽá á¨á ááľ áááŽá á¨áľáá˝á ááá áĽáŤáá áĽá ááᢠáá ááá áĽáŠ áá. á áá á¨áĄ á ááľ áľáŞááŽá á¨áľáá˝ áŤááľ áĽá á ááľ áááŽá á¨áľáá˝á áĽáŤáá ᥠá¨áá, áŤá á¨áá áá°á á°ááłáłá áááá.
áĽáᣠááá°áᣠáĽáá° á áĽá áááááá˝ áŤá áááá¸áá áááĽáŤáŽá˝ á áŤáľááááᢠáá° ááľáĽ ááĽá°á á ááá áľáááą áá áŤááá ááá á¨á°ááá¨áľá á á¨á´á á áŁá á¨áŁáľ ááá áááá áłáŤáá ᢠáĽá áĽá፠ááľáĽ áĽáá° áááááŽá˝ áŤá ááá á áᢠáááľáᣠClickHouse ááĽááľá áááá ááá áá°áŤá áĽá áá°áá¨áľ á áŤáľáááááľáá˘
á¨á ááľ áá°áá/ááľááἠá¨áá¨áŠ á ClickHouse áá ááἠáá ááá˘
áĽá áľáá˝ á á¨á´ááá˝á ááľáŤáľ á¨ááĽááľá, ááááŤáąá á á á¨á´áá ááľáĽ 10 á¨áľáá˝ ááá 10 á¨áľáá˝ áŤá, á¨á፠ááá ááἠá áŤááŁá. ClickHouse áááľ ááááś áłááá á¨ááĽá áľ á á ááŚáľá á¨ááŤáťá˝á áľáááľ áá áľááá 000 ááľááŽá˝á ááľáŤáľ ááá áľááá á¨áááá˘
á ááľ áľáá á á¨á´á áá áá áľááá áá. á¨áľáŽáá á áľá°áłá°áŚá˝ á áľáááą, ááá ááá á°á á áááá.
áĽá áĽáá° áááť, á á á˛áą áľáŞáľ ááľáĽ, á ááá°áĽ áááááŽá˝ áá áááá ááááľ á¨áĽáá áľáŤáá˝á ááá¨ááá á¨áááá° á¨áá¨áá፠ááá áááľá¨á áĽáľá á áá.
áááłá, áĽá áľááá˝ á á¨á´ááá˝ áŤáľáááááłá, áááłá, á ááłááľ ááŤá¨áá áá¨ááá˝á ááŤááľ á ááŤáľáááá áľ áá, áááĽáŤáŽá˝ ááá áá áĽá áá° áá¨á¨áťá á á¨á´á á¨ááťáá á ááľ á áĽááą áá ááἠááľá¨á áŤáľáááááłá. ááá ááłá á áľá°áá á¨áá á¨á á¨á´á áá°á - StripeLog á á. áá áĽáá° TinyLog ááᣠá¨á°áťá áĽáťá˘
* á áá ClickHouse áĽá á ááá˘
ááá áá¨-ááľá ááááŽáśáá˛áá áá. áááłá áłáł áááŤáľ á ááĽá áĽá 5 á ááááŽá˝ á áá áĽá áá 6 á ááááŽá˝ áááŤáᢠáĽá áá á ááἠáĽáá´áľ áĽáá°áá áááŁá á áĽáá°áá˝á áŤáľáŁá. áĽá á ááľáŠ, áá° 5 áźáśá˝ áłááá áá° 1 áźáśá˝ áĽá¨á°á¨ááá áá. áĽá á¨á፠áĽáŤááłááąá ááááŽáťááľ áá°á°áᨠá áááá áŤááł áłá°áááá ᢠáĽá á á ááľ á áááá áá ááłáŤá, áááłá, 000 ClickHouse, áááłá. á á°áᨠáá°áŚá˝ ááá á á°áᨠá¨ááἠááłáá˝ áá á¨á°áᨠááłá.
ááá áá á ClickHouse ááľáĽ áá á áŁá áĽáŠ á áá°áá. ááááŤáąá ᨠClickHouse á ááľ ááłá áĽááłá á ááľ áĽáŤáá áááľáŹáľ áááá á¨ááááľá á¨á áááá ááĽáśá˝ ááá áá ááááŤáᢠáŤá áááľ á ááľ ááááľ á áááá á áá áĽá áĽá፠áááłá 56 ááŽá°á°á áŽáŽá˝á˘ á ááľ á°á¨ááľ á¨ááá áá áá áĽá¨áŽáĄ áá áĽá 56 áŽáŽá˝ áá áááᢠáĽá 200 ClickHouses á á ááľ á áááá áá áŤáľáááĽá 10 ááŽá˝ ááááŤáᢠá á á ááá ááá ááá á áŁá ááĽá áááá.
ááá ááááŤáľ á áĽááá á ááŁááá˝ áá áŤáá á¨áĽáŤ áľáááľ áŤáá°ááŁá á áááá. á ááłááśáš áá°á áĽáá áá áááá, á ááłááśáš á áá áá áááá. áá áá á¨ááá á á ááľ á ááŁá á¨ááᣠClickHouse áŤáą áĽáá´áľ á áĽá¨áśáš ááŤá¨á áááĄá á áľááá áá°áŤá¨áľ áĽááłáá áľ áŤáá áá áá˘
áĽá ááá ááááŤáľ á TCP áá á¨á˘áá°áááŽá°á°á áááááľ áááááłáᢠááᥠá°á¨áłáłá áááᣠáááá á áá áľáŁ áĽá áá áĽá á á áŁá áĽá á¨ááááŽáťááľáľ ááᢠáĽáť á áá°áŤáá˘
áá áá¨-ááľáᣠááá áĽááłá á áá˛áá°áá á°áĽá áá ፠áŁááťááᢠáá á¨áá°á áá á áŤáá á áľá-áľáĽáľáĽ áá.
á á á ááá, á áľá-áľáĽáľáĽ áĽáŠ áá. á ááľ á˘ááŽá á¨áľáá˝ áá áŠá ᣠá á áááá¨á áĽá 1 á¨áľáá˝ ááá ᣠáĽá á áá áá áá áá˛áŤáá á°áá ááᢠááá ááá áĽáŠ ááᢠáĽáá°á áá ááľá¨á á¨ááľá˝ááᢠááá á°áá ClickHouse áĽááłá áłáł á˛áᣠá°á¨á᪠áľááá á¨ááŤá°áá áአAggregatingMergeTree á¨á°áá á¨áĽ á áááľ á ááá˘
ááá áá áĽáá°áá á áááľ áá¨ááá˝á áĽáá°á áľáŁáá áĽá áĽáá°áá á áááľ áá¨ááá˝á áĽáá°á áľáŁáá áĽáá á¨ááŤáľáĄá áľ áá á áᢠáĽá á á ááłááľ á ááŤáŁá˝ ááá ááľáĽ á¨áľáááá áááá á ááááá ᣠá áá ááá ááá ááá ᨠSummingMergeTree á°áá á¨áŚá˝á áá ááá ᣠáĽá 20 á ááśá˝ áĽáá° áá ááá áŤáááááᢠáĽáá°á፠á¨ááᣠá¨á ááłááľ á ááśá˝á áľá áá´áŤ áááŹáŤááᣠáá áľááą ááá˘
áĽá áĽáá°áá á áááľ á˝ááŽá˝ áááłá. á ááááŞáŤ, áŤáááľ á¨ááἠáá á á áŁá áĽá á ááááľá. áááłá, á áśáľáľ áĽáĽá ááááłá. áŤáá°ááá° ááἠá¨ááአáá á°áŤáá á¨áááŁáá áŤáá°áá°á áľááłá áááááľ áśáľáľ áá áĽáŠ áá ááᢠááᥠá¨á°á áááᣠá¨áá°áá°á ááá á áłáá áľáłá˛áľá˛ááľ áĽáť áłáááá á˘
áĽá á á°áá áĽáŠ áááľáá? áĽááá á¨áááĽáá ááá á¨áᥠá°áá˝ áá°á á ááłááľ áá á ááľ á°á¨á᪠á ááľ áá° ááá ááá áĽáá˛á¨áአáá ááᢠáŤá áááľ, áĽáá°áá á áááľ áá¨áá á°áĽáľá áá, áĽá á áá áľáá˝ á°á¨á᪠áĽáááááá. áá á ClickHouse ááľáĽ ááá á°ááá áá ááá á¨ááᢠáľááá , á C ++ ááľáĽ á ááłááľ áľááŞááśá˝á ááťá á ááĽááľ. áĽá ááá áĽááłá á C++ ááľáĽ á˘ááá áľááŞááśá˝á á áááľáá˘
áĽá ClickHouse ááá áĽáá°á°áá ᨠá¨á°ááá¨áąáŁ áŤáá°á ááá ááἠá áľááá á¨á°ááá°á áľ áááł ááᢠááá°á ááá áłáł ClickHouse áĽá¨á°á áá á¨áá áááá ááá á áľááá áĽá¨á°áŠ ááᢠáĽá¨á°á á°áĄ á¨áá, áá á ááłááľ áá áá á ááŁáá.
ááá á áľá°áłá˝ ááłá ááá፠á ááá áá°áľ ááľáĽ áŤá áĽáŤááá˝ áá¸áᢠá ááłááľ áá áá° á ááłááľ á¨áááľ á áááá áĽááłáá áĽá áĽá፠áŤááá á¨ááłáŤ ááŽá°áľ ááááá áĽááá¨áłááᢠáĽá á ááľ á áľá¨á ááá áĽá¨á°á¨á°á° áĽááłá áŁáá á ááĽáá˘
áááłá ááá ááᢠá á ááľ áĽáŤá ááľáĽ áááá ááá ááľá¨á áĽáá°ááťá áá˛áŤáá ááá˝ áá. á ááá áŠá áá¤áá áĽá ááááŠá áĽá፠áááá˘
ááááľáá áĽá áĽáá°áá áŤá áĽáŤááá˝ ááá፠á ááá áá°áľ ááľáĽ ááĽá á¨áááľ? áá¨á á ááá áĽá á áá áŤááá, á á°ááłáłá ááἠáá áĽá ááááŤáá˝ áááŠááłá. ááá áá á˘áá´ááľ áĽá á áá á¨áá, áááłá, á ru áá áá ááá á áááľ áĽá url = á¨áá ááá áá˝áá. áĽá á ááľ áŠá áá¤á á¨á á¨á´áá áá á áľááá ááá áŁá áĽáá áŤáľáŁá, ááá ááá á°á á áááá. áá á áĽááἠá áá°áá. ááááŤáąá ClickHouse áááá ááá á áĄáľá áľáááŤá°áá ááá˘
á ááłááľ á¨ááἠááá ááá ἠá˛ááá, á ClickHouse ááľáĽ áŤáá áá¨á á áá áľáá˝ áľááá áľáá˝ á°á¨á᪠áŤááŁáᢠáá áá¨á á áá á á áá á¨áĄ ááľáĽ á ááľ áá á á¨áľá áĽáá˛áŤáá á ááá áľáááľá, á¨á°áá°á ááááľ áĽáť áá. áĽá ááᥠá áĽááŽá˝ ááľáĽ á°á¨áááᢠá ááľ ááľáá áááá ἠáááá áĽáá ááá°áľ áĽá áááłáľ áŤáľáááááłá. áĽá áĽá áá ááá˝á áĽáłáŤááą, áĽáá°áá á áááľ áĽá áááááá˝ áááŠááłá, áĽá áĽá áľáŤáá˝á á°áááá áá áŤá.
áĽá áĽáá° ááᝠᣠá ClickHouse ááľáĽ áááŁááľ áĽá á ááśáá˝ á¨ááá አáááŁááľ áĽááłá áá° IN ááá áááľá°ááá áááŤáľ áĽáá°áááĽááľ áá¨áľ áá˝ááᢠá á°ááŁáŤá˝á á áľáłááłáá á MySQL ááľáĽ á IN ááá ááľáĽ áĽá áĽá´áśá˝á áŤááá ᣠáááłá ᣠ100 áááŁááľ á¨á°áá°á ááĽáŽá˝á áĽá፠áĽááłáááá ᣠá¨á፠MySQL 10 áááŁááľ áá á°á¨ áľááľáłá áĽáá°áá á áĽá ááá ááá á áá¨á°áľá ᢠáĽáą ᣠááá ááá ááĽá áá°áŤáá˘
áĽá ááá°áá ááá á ClickHouse ááľáĽ ᣠáá ááá˝á á˘áá´ááľ á¨áá áá á¨áá ᣠá¨á፠áá áá á¨áá á ááľ áááá á áá°áá ᣠáááľá ᣠáááá á á¨á´á á¨áá áá°á áááá ἠá¨ááá ᣠáĽáą á á á°á á°á¨á°á áááłá áĽá áááá á á¨á´á áŤááŁáᢠáŁá ááá, áĽáą áááááŁá.
ááá áĽáá á ááłááľ á˝ááŽá˝ á á. áááłáᣠ፠IN á¨áááľ áá áá áá áá¨á á áááá á áá áááᢠáá áá á¨á á˝áá áá áĽá áááľá°áŤááá áááŁáᢠáĽáá ááá áá á¨áłá ááá á¨áá. áĽááľáŤá*.
áĽá áá á áľá°áłá˝ ááá á áŁá á¨á á áĽáŤá áŤáááľ áĽá á¨á°á¨ááá á¨áĽáŤá áá°áľ áĽá¨á°áŤáá° á¨áá áá á áŁá á¨á á áĽáŤá ááĽáŤááłááą á áááá áŤáááá áá¨ááá áááŤáᢠáááłá, 100 áááŁááľ áĽá 500 á ááááŽá˝. áĽá á áá áá á¨áľ 50 áááŁááľ á á ááłá¨ áá¨áĄ áá áá°ááááᢠáá°áááá á¨ááŤá ááá ááá á á°áłáŤ áááł áá¨áááá.
* ááľááá á áá áá; ááá ááá á ááŁá áá á°áľá°áŤáááá˘
áĽá áĽáŤáááš á¨á¤áá á á¨áᥠá¨áá á áŁá á¨á°ááá° ááᢠáááłá á ááľ ááááľ á áááááľ á°áá°ááᢠáĽá á ááľ á°á á¨áĽááľáá á áááááľ á¨áááá á¨ááᣠá¨á፠á¤áá ááá á¨ááą áĽá á áľááá á¨áááľ áááľ á áá á ááľ ááá¨áłáľ á¨áááťá ááá áĽá¨á°áá ᨠáĽáá°áá áŤáŤáᢠááá ááá á¨áá á á áá á°ááá áĽá á ááŤá˝ ááá áŤááá á¨áŁá¸á á ááłááľ á áľá᪠áĽáŤááá˝ áĽá¨áᥠááá˘
áĽá á ááľ áááľá áĽáť áá. á¤áá ááá á¨á¨ááąáľ á¨á፠ááá¨áĽ ááááĽááłáᢠáááłá á ááłááľ áŽáłáá˝á áááľááŁáľá˘ ááá˝ ááááŤáłá á ááŤáŽá˝ á¨áá. á áá áááŤ, áá˛áŤáá áľááŞááľ áá˝áá áĽá á˝ááŽá˝ áááŤá.
áĽá ClickHouse áአáŁá ᪠á áá - áá á¨áŽáłáá˝ áľááľ áá. á á°á¨ááŞá á¨áŽáł ááááá ááľá°ááá áá˝ááᢠáá áááłá á¨ááľáĽ á°á áá ááłáá፠ááᢠáĽá áŽáłáá˝ ááĽáŤááłááłá¸á ááĽáťá áá°áá.
á áá áá á áľá°áłá˝ ááá. áá á áĽá ááŁááľ ááá˘
áĽá ááłáŽá˝á á ááááᣠClickHouse á áĽáŽ á¨á°á°áŤ á¨ááŁááľ áľáá á˘áá¨ááᣠá°áá˝ ClickHouseá á áĽá áá°áááá˘
ááá áááľá áá? á¨ááἠááááŁá áŞáŤ á§á᧠á áááľ. áĽá áŤáąá á˝á áá°áŤá, áááłá, á á°ááŤáŠ á¨áá¨á ááĽá¨áá˝ ááľáĽ. áá áĽáá°áá á¨á á°ááłáłá ááἠáá° ClickHouse á á°ááłáłá ááááľ áá˝ááᢠáĽáááľ ááᣠááááľ áĽáá°ááŤáłá¨á á áŽáľá ááľáĽ áŁá á ááłááľ ááŠááśá˝ ááááŤáľ ááᥠá ááá áááŤáŤáᢠá áĽááá° ááľáĽ á°áľá á á°áááá.
áĽá á á¨ááá á ááá á áĽá áááłá°á á ááĽááľ. áááłá á áá á ááľ áá á áľá°áłáłáŞáá˝ rsync áŤá°áááá˘
áĽáá° áĽáááą á¨áá, á ClickHouse ááľáĽ á áĽáŽ á¨á°á°áŤáá ááŁááľá áá áá á áŁá ááá áá. áá á ááłááľ á°ááááá˝ ááአáá˝áá, ááááŤáąá ááá áĽááľá ZooKeeper á áá áá áŤáľáááááłá. áľá ZooKeeper ááá ááĽá ááá á ááááá, á ááá á°á¨á, áľáááą áá°áŤá, ááá áá á°áá˝ á ááŤ-áá˘áŤ ááááŤáľ á¨ááá ááá áľ áááł áá¨á°áłá, ááááŤáąá ClickHouse á C ++ ááľáĽ á¨á°áťá á áŁá áĽáŠ áľáááľ áľááá áĽá áá ááá áľ áá˝áá. ááá ááá á°á á áááá. áĽá ZooKeeper á ááŤá˘ áĽá á áá ááአáá¨áľ áĽááłá á ááááá, áá á¨á፠á áĽá ááŁááľá áá áá áá˝áá.
ClickHouse á°ááŁáŤá áĽáááľ ááᢠááááśá˝áá áááľ ááľáĽ áŤáľááŁá. á áĽá ááŁááľ áŤáááľáŁ á¨áĽáŤáľáá á ááá˝ á¨áááá¨áľ áĽá á ááŤá¨áá¸á ááľááľá á¨ááŤá°áá á¨á°á¨ááá á°áá á¨áĽ ááá á áá˝ááᢠáĽá ááá áĽááłá ááľááŽá˝á á áľáááľ á˘ááŤáŠá áááá áááľáááľ á¨ááŤáľá˝á áአá ááŤá áĽááłá á áá˘
á á°á¨ááŞá, áĽááłá á¨á á¨á´á áá°áŽá˝á á¨á°á áá á˝ááŽá˝ ááአáá˝áá. ClickHouse á¨á°ááŤáŠ á¨á á¨á´á áá°áŽá˝ áŤááľ áĽáá°áá áŤá ááá á ááᢠáááá á¨áŁáľ ááłáŽá˝áŁ á á°ááą áá áĽáá°á°áááᣠá¨MergeTree á¤á°á°áĽ á°áá á¨áŚá˝á áá ááᢠáĽá ááá á¨ááŠáľ - áá áĽáá°á፠áá, áááá°áĽ ááłáŽá˝ ááá ááá°ááá˝.
á MergeTree á áá á¨áĽ ááľáĽ ááá áá áĽá á°ááľ áĽáá˛ááááľ á áŤáľááááᢠá ááá áá áá áá˝ááᢠáá áĽá á°ááľ á¨áá ááŁáŞáá 2000 ááťáᢠáá°áŤá áĽá ááĽáľ á áááááá˘
áĽá á á á˛áą á¨á áááአáľáŞáľ ááľáĽ áŤá ááá ááá áĽá áááá áĽááłáááľ áááá˝ áá˝ááᢠá°ááłáłá áááá.
á áá á áŠá, áĽááłá á¨á á¨á´á áá°áŽá˝ áá áá ááťáá. áááłá áááĄá á ááľ áá ááá áĽá áááá¨áą ᣠáŤáĽá áĽá áá°ááᢠLog á áá áá áá˝ááá˘
ááá áááŤá¨áá áá°áľ áľááá˝ áá áá˝á áá¨áá¸áľ StripeLog ááá TinyLog ááá˘
áá á°á¨ áľááľáł á ááľá°á áá á áŤáá áá¨á áŤá áĽá á RAM ááľáĽ á¨áá ááá ááŁáá ááťáá.
ClickHouse á¨á°áťáťá áááĽá á áŁá á áááľáá˘
á ááľ á¨á°ááá° ááłá áĽáá á á. áá áĽá á á áŁá áĽá á¨áŠá áá¤ááá˝ áĽááľ ááᢠá á á áŤá˘áŤá áŁáá á á¨á´á ááľáĽ á áľáááŁá¸á. áĽá á¨áĽááą áá JOIN áááľá¨á ááľáááᣠááá áá áá áĽáá° á°áᥠá áá°áŤáᣠááááŤáąá ClickHouse Hash JOINá áĽáť áá á¨áá°áááᢠááááááľ ááĽá ááἠá á RAM á¨áá JOIN á áá°áŤá *á˘
ááᥠá¨áá°á áŤáá˛ááᲠá¨áá, á áá¨áá, á á°ááŁáŁá ááá áŤáľáááĄáľ, áŠá áá¤ááš á ááĽáł á ááá á áá á¨áĽ ááľáĽ áááá.
* áĽá á áá ClickHouse áĽáá˛á á¨áá á°áľ ááááá á ááᣠáĽá ááŤá¨ááá áłáł ᨠRAM áá á ááááŁá áľ áááł áá áá°áŤáᢠááá áá áá áá¤áłá á áá°áá áĽá ááአáľáááá áá áááŤá.
á ááľ áŁáá ááľáľ á°á¨á᪠ááłááá˝áŁ áá á¸á¨-á áŚá˝ áááá¸áá ááá á ááááá¸áá á áľááľá áĽá áŤá áŤááá˘
ClickHouse á ááľ á¨áłáá ááľááľ á ááᢠ* áĽáá´áľ áááá áĽááłáá áľ á áŤáá áᢠá á ááľ á áŠá, áá áĽááłá áĽáŠ áá. á ááłááľ á áľááá áá¨ááá˝ áŤáááľ, áááłá, á¨ááłáĽ á áŤáŤá, á¨á፠ááá á°á ááááá¸á á áá˝áá, ááááŤáąá ááá ááťáťáŤ á¨áá.
* á áĄáľá áááł ááááá áĽá ááá°á¨á áľáá áá¨á á áá áłáááá˘
áá ááááá˝ á¨á áľá°ááᣠáĽáá˛áłáŠ á¨ááá áą á ááłááľ áአááááśá˝ á áᢠáááłáᣠᨠReplaceMergeTree ááááľ á áá á¨áŚá˝á˘ á¨á áľá°ááᣠáá á°áľ áá ááťáťáŤáá˝á áŤá°áááᢠáá áá á áááťá¸áľ á°áá á¨áĽ ááľáá°áľ áá˝ááᢠáá áĽá áá á áŤáľáá, ááááŤáąá áááŠá áá á áá áá°áŤáá.
á ClickHouse ááľáĽ á¨á°á¨ááá JOINs - áá á°áá á áá áá áĽá áľ á ááŞá á á°áἠá ááľá°áááľáá˘
ááĽá ᣠáá á ááłááľ áá áĽáşá˘
áłáłáá á á°áá¨á * áááá ἠáĽáť ClickHouseá á áá ááá˘
áá áá áľááśá˝ ClickHouseá áĽááľáľá áá á áááááᢠáá áá áá á áá áĽáááľ á áá°áá ᣠááááŤáąá áĽá á¨áá ááá áĽá¨áŤá á ááᢠáĽá á á áᥠá ClickHouse - Catboost ááľáĽ á¨áá˝á áááŞáŤ áá´áá˝á á¨áá°áá á á˝ááłá á¨áá¨ááᢠáĽá áŤáľá¨áááá, ááááŤáąá áĽá áĽáá°ááľá á: "áá á áááľ á áľá᪠áá. áá á á ááľ áŁááľ áľááľ áá°áśá˝ áá á¨áááŁá! á áŁááľ áá á¨á°ááľ áá°áśá˝á áááá ááĽá áŤáłááááá˘
áá á áááŠ, ClickHouseá ááŤá, ááá ááá á°á á áááá. á¨áá ááá áŤá áá á á¨á°áĽ á ááᢠá áááŤá˝á áá áá á á¨á°áĄ á áá° áá ᢠáĽá ááááá á˝áá áŤáá áááľ, á˘áŤááľ áá° áťáłá˝á áááľ áá˝áá, áĽá áĽááľá áĽáá°áá¨áąááľ á°áľá á á°áááá.
áĽáŤááá˝
ááŞáááą áĽááá°áááá! áľá ClickHouse áĽáá˝áľ á¨áľ á áŹáł á á?
á áá á áá áĽáá ááá¨áá¨á áľá˝ááá˝áá˘
á á áᥠClickHouseá áá áá ááááŠá˘ áá˛áŤáá á¨áá á áááá˝á áá°áá˘
áá á áááľ ááĽáĽ ááá˘
áľáá˝ áááź á ááááŠá á áľáá˝ áá፠áŁááŠáľá˘
á°á°áĽáŚ á áá á˘
ᨠGitHub áľá á°áľ á¨ááľáŠáŁ ááá áá á˝á á°áĽááá˘
áĽááŤáá.
á ááᲠá ááľáĽá áŤááá áá¨á áĽáá´áľ áĽá¨á¨áá á áĽááłáá áááá¨á áá á áááŁáľ á áŞáááą áĽááľáá á áłáááŠá˘
á áŁá áááá˘
áľáááľ á¨á°ááááĽáŠáľ áá áá ááᢠá°á¨á᪠ááááŽá˝á˘
ááá á áľá᪠áá´áá˝ á¨áá. áĽáá-á áĽáá áááá áĽáť ááᢠááŁáŞá LZ4 ááᣠZSTD* ááááľ áá˝ááᢠᨠ64 áŞááŁááľ áĽáľá¨ 1 áááŁááľ áŤááłá.
* áĽáá˛áá á¨ááá˝ áľáá° áááŽá˝ áá á á°áá°ááľ áĽá á áá ááá ááá˝á áአá¨ááá፠áŽá´áŽá˝ áľáá á áá˘
áĽááŽá˝ áĽáŹ áá¨á áĽáť áá¸á?
á áľááá áĽáŹ á áá°áá. áľááľáŽá˝ á áᢠá¨ááĽá á ááľ áŤáá á á¨áľá ááľáĽ áŤááľ ááĽáŽá˝ á á ááľ áľááľá ááľáĽ á°á¨áá˝á°ááá˘
ááá ááá˘
á ááá˛áŁ á uniqExact á á áááá˝ áá á¨áá ᨠááłáᣠáááľá uniqExact á¨ááĽáŽá˝ ááá á ááĽá¨ááááá˝ áááá á á¨áá áŤá áá á¨áááľáľ ááá áĽá á¨ááłá°ááľá˘ áĽáááľ á áá°á¨áá áľ áá á ááŽááťá˝á áá ááá˘áŁ áĽááľááá ááľ? áááľá á á˛áľá áá áĽáá á áááá á¨á°áááá áááľááᢠá¨á˛áľá áá ááľááŽá˝á áŤáá áĽá, áŤáľáááĽá, á¨á፠ááŁá áľáá ááá¨áá áááľ á ááá¨áá? ááááľ á ááá áĽáá á áľááš áĽáŤá°á¨áá áá? á¨áá¨áá¨á ááľá ááłá¨áá ááááá á áá ááááŤáľ á á¤áá˝ááá áá á ááłá¨áá˘
áĽá áĽáá°ááľá á á¨ááá°áľ ááá áááá áááá. á áá á ááŁá á¨á áá á áľáŤáťá á¨ááĽá¨áááá áá°áá°á á áá áľá˘ á áĽáááĽáŁ á ClickHouse ááľáĽáŁ á¨á á á á áľáŤáťá áá°áá°áá á°ááťá˝áˇáᢠá áŁá á ááá¨á ááá¨áá, ááá áá áĽááŤá áŚáł áá ááĽáŽá˝ á á áĽá áşá ááá á¨á°áťá áá¸á. á áŁá á¨áááá˝á˘ á áá á áŠáᣠᨠuniqExact á°ááŁá á ááĽá¨ááááá˝ áá áááá áá°áŤáᣠáĽááá ááĽá¨ááááá˝ á áááá¸á áĽáť áłáááᣠá¨á áááŞáá á¨á°áᨠáአá፠áľáá°áá¨á ááᢠááĽá¨ááááá˝ á á°áᨠááááľ áĽáť ááŤáá.
áĽá á¨á áá áĽááłá á¨ááἠá áááľ á¨áá°áľá? áááłá áĽá áŤááá áľá á¨á°á áá ááłáá፠á˝áá á ááľáá áťááľ áĽá á¨á፠áŁááľ á¨á áá á áľá°áłá˝ áááá ááááľ á áááá?
áĽá áŤá áŤáá. áĽáá˛áŤáá á¨á áá á¨ááŤáłáá áááľááá, ááááŤáąá áááአááĽáŽá˝á áá°áá°á á¨áŁáľ á˝áá áá. áá áŁáá°á¨áŁáŹ ááĽáŽá˝á á á áĽá áşá ááá ááá°á˝ áá áŤá á á¨áŁáľ áĽáá°áá áĽááł ááᣠáŤáá áááľááᣠáá áááá áá˝ááá˘
á ááᲠᣠááŞáááą á áŁá á áá°áááá! áĽá á ClickHouse á áŁá áĽááá°áááá! áľá áĽá áśá˝ áĽáŤá á áá. áááá -áááľá áá á áá ááááá á áĽá áśáš ááľáĽ áŁá ᪠á á?
áááľá á¨áá áłáá áááłáľ?
á á á á. áá áĽáá° MySQL ááľá áĽá፠á¨áááááľ á˝ááłáŁ áááľá áááá áááą á áŁá áľáá á¨áá áá ááἠáĽáť áĽáá˛áŤá á áá ááááá˘
á áŁá á áľá°áłá˝ áŁá áŞ. áĽáᣠááĽá á¨áááľááᣠá ááľ á°á á áťáłá˝á ááľáĽ á áááᢠááááŁáľ áĽááľá áĽááłá áá áŠ.
á áááľááá.
á áŁá áĽáŠáŁ á áá áááľ áĽáŤááá˝ ááᢠáĽá ááľ á ááľ ááľá¨á áááá áá˝áá. áá áá áŁá ᪠ááá°áá á á áŁá ááá áĽáá°áá áá˛áŤáá ááľá áá á á áĽáááááᢠáááľá ᣠá ááľá ááłáĽ ᣠá¨áľáŞáľ ááĽáŠá áá° á á¨á´áá ááľáĽ ááá áĽá á¨á፠ááá áĽáť áŤáľáááááłá-áľáŞáľ á¨áĽáá°áá áĽá á¨áĽáá°áá á áááľ áŤáá° ááᢠáĽá áá áááľ, ááááŁáľá, áá áľáááá˝ áĽááááŁáá. ááá°á áá ?
á áᣠáá á ááŤáłáá áááł á C++ ááľáĽ á¨ááá˘
áŁáá°á¨áŚá˝á á C++ ááľáĽ ááťá áá˝áá?
á°á á ááááá˘
á áŁá áĽáŠ*.
* áŁá
áŞá á¨áŞáááą á¨áááľ ááŤáľ á áá á°á¨ááŻá - á áĽáŤáá á°áŤá˛ á°ááá
áś á áĽáą ááá§á
áĽááá°áááá!
áá! ááŞáááą áĽááá°áááá! ClickHouse ááĽáą áŤááľá áááá ááĽáśá˝ á á°áἠáĽáá°áá áá á á á°ááᢠáĽá á¨áááśááľ ááĽá áŤáá á°áá᪠áľá áŠá˛áŤ ááľáľ ááłáá á°áááŻá ᢠááá áááľá á áŁá áĽáá°áá°áąáľ á°áááŻáᣠááá áá áááá ááŽá°á°á áľáá á á¨áá á°ááŤáŤáŞáŤá¸á ááá á áľááá á áá°á ááá áľáᢠáĽá á¨áĽá-á ááá¸á ááᣠáá° á á áŁááŤá¸á á¨áśáá°áŽá˝ áá ááá á á ááťááᢠááá áááľ ááĽáą á¨ááááá áá áĽááłáá áá á áá ááááľ ááá°áĽ ááťáá?
á á ááťáá áĽá á áŁá ááá áá. áŤááą áŽááá˝á áááĽááľ á¨ááá ᣠá¨á፠áĽáť ááá set max_threads = 1
. áĽá ፠áĽáť áá, áĽáŤááá á á ááľ áŽá ááľáĽ áŤáľáá˝áá. á á°á¨ááŞá, áá°ááŤáŠ á°á áááá˝ á¨á°ááŤáŠ á
ááĽáŽá˝á áááá˝ áá˝áá. áľááá
ááá á˝áá á¨áá. áĽá á¨áááśááľ áá á¨áľáŤ áŁáá°á¨áŚá˝á
áá
á ááźáľ á á°ááą ááľáĽ á áááááłá¸á áĽáŠ áĽááłááá áááŤá¸áá˘
á ááᲠᣠá°áá! áá á áĽáŤá áá á¨á áĽááááá. áĽá á°áá˝ ClickHouseá áĽáá° á¨áááἠááľáłááť áá¨ááť áá áá ááááŤá¸áá áľá°á áá á¨ááááŞáŤáŹ á áá°ááᢠá áŞáááą áá áá á á áłáľáá áááľá á¨á á ááľááŽá˝á áá¨áá¸áľ á áŤáľáááá áĽááá. áľááą áá áŤáľáŁá?
á ááááŞáŤ, áááἠááľáłááťáá˝ áĽááá áá á¨á á ááľááŽá˝ á áá°áá. áĽááἠáá, áአáááłáá˝ á á. áááłáᣠá á፠á¨á°áá á ááłááľ á áááááľ á¨á°áᨠááá ááĽááᣠá°áááá§áᢠáĽá áľááá ááá፠á ááá áá°áľ ááľáĽ áĽá á¨áááľ áľáŤáá áŚáł áĽáŤáá ááᢠáááľáá á áŁá ááá áá. ááľááŽáš á áŁá á¨á á á¨áá, á¨ááŤá ááá¨áĄ. á¨á á áááľ áá áááľ áá? á á áľá áŞááŁááľ ááĽá áá *.
* á á áἠáá ᨠClickHouse áĽáľáá˝ "á áľáá á˘áá´ááľ ááŤáááŞá˛" áá áˇáᣠáá á á¨á á áááśá˝á á¨áá¨áá¸áľ á˝ááá á á áĽááá áŤáľáááłáá˘
áŞááŁááľ áá°á á áá?
á¨á°ááá° áá.
áá! ááŞáááą áĽááá°áááá! á áťáľ ááľáĽ áľááá ááłá á áľááľá á á¨áŠ, ááá áá áááľ áĽááłáá á ááľáłááľá. ᨠWITH áááá á CTE áá˝á áááŤáá áĽá áľ á á?
áá áá. ᨠWITH ááá á áá á ááá áŤááá ááᢠááĽá áĽáá° áľáá˝ áŁá ᪠ááá˘
ááŁá. á áá°áááá!
ááŞáááą áĽááá°áááá! á áŁá á áľááŤá! ááá á áá áĽáŤá. á¨ááἠáľá¨áá á ááťáťá ááááŁáľ á á ááłááľ ááááľ áááŁáá˝ ááá áááľá¨á áłá áˇá?
á¨ááľá˘ áá á áá¨áá˝á á¨ááááŞáŤ áľáŤá˝á ááᢠá áá áááá ááá á áľááá áĽáá´áľ ááľá¨á áĽááłááĽá á áááľ áĽáŤá°áĽá áá. áĽá á¨ááá á°ááłáá ááŤá áááá á ááĽááľ *.
* á ááá á°ááłá áá áŤááľá áááá˝ á°áŤá áĽá ááá ááá á°á¨áááá.
á áá ááááľ á¨áľáááľ á áááá áá á°á˝áá ááá¨áá ááááľ á áááłáá? ááľááŁáą á áá áĽááłáá ááŁá áááá?
ááááŁáľ áĽáŤáłá¸á áá°ááá, áááááš áĽáŤáłá¸á á áŁá á¨áŁáľ áááá, ááá áá áá á áááŤáá˝ á áááá áĽá á ááá ááአá¨ááľááŁáľ á áááá áá á°á˝áá á ááá¨áá.
áĽá á ááľ á°á¨á᪠áľáá˝ áĽáŤá. á ááá áą áá áľá ááá ááá á°áááŠá˘ á áá áá á¨áľ á ááŁáŞ áááá á¨áá áááá á áá ᣠá áá°á? áĽá á¨á ááľ áá áá á¨ááľáá á¨áá áá°áĽ áľááľáááĽáŁ áŤá áá á ááááá áĽáť áĽáááŁááᣠá áá°á?
á áá.
áĽáŤáᢠá¨áľáááá áá ááá ááá¨áĽ áŤááťáá ᣠá áľááá á âááâ ááľá áá á áľááá ááľá¨á áľááá áá ᣠáľáááá á¨á áľá°áááŁá á¨á áá áĽáááľ áŁáá ááááľ áĽáá˛ááŁá á á¨á áľá°ááᣠáľáá˝ áĽáá°áá áááá áááááłá? á¨ááá áá ááá˝ á¨ááááľ áĽá ááá á áááľ áá ááá áĽááłá ááá¨áĽ áŤááťá á ááá ááá ááľáĽ áá ááľááἠá áá áá?
á áá.
ááááŁáľ á áá ááľá á¨á°á°á¨á°áŠ ááᥠá á°áťá áááł á¨áá¨áá á áľá ááľá á ááá ááá ááľáĽ ááľááŁáľ ááááŤáłá ááá áá˝ááᢠáááłá á¨á°á áá ááłáááŤá˘ á°á áá áááłá áá° á°ááłáłá áŁá˘áŤ áááłáᢠá áá á ááŁá á¨á°á áááá ááłáá፠áĽá áá áŤáľáááĄ. áĽá á¨á፠á¨áĽááľá ááἠá á°áťá áááł á¨áłáá ááááᢠááá á á°ááá¨á°áŁ á áĽáááą á¨ááááľ áĽá á áááľ áá á¨ááá áá ááá˝ á¨ááááľ ááá á ááá ááá ááľáĽ ááľááŁáľ á áá˝ááá˘
áĽáş á áŁá á áá°áááá!
ááá: hab.com