ClickHouse + Graphite: แƒ แƒแƒ’แƒแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ

ClickHouse + Graphite: แƒ แƒแƒ’แƒแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ

แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ, แƒฐแƒแƒ‘แƒ .

แƒ—แƒฃ แƒ•แƒ˜แƒœแƒ›แƒ” แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒ’แƒ แƒแƒคแƒ˜แƒขแƒ˜-แƒ•แƒ”แƒ‘แƒ” แƒ“แƒ แƒจแƒ”แƒ”แƒฅแƒ›แƒœแƒ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒฉแƒฃแƒ แƒฉแƒฃแƒšแƒ˜ (IO, แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜), แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒ›แƒ˜แƒก แƒจแƒแƒœแƒกแƒ˜, แƒ แƒแƒ› ClickHouse แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒ˜แƒฅแƒœแƒ แƒ›แƒ˜แƒชแƒ”แƒ›แƒฃแƒšแƒ˜, แƒ”แƒ แƒ—แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก. แƒ”แƒก แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘แƒก, แƒ แƒแƒ› แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒ˜แƒ›แƒžแƒšแƒ”แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒ”แƒ›แƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒ›แƒฆแƒ”แƒ‘แƒ˜ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ แƒ™แƒแƒ แƒ‘แƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒแƒœ go-carbon.

ClickHouse แƒ™แƒแƒ แƒ’แƒแƒ“ แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒš แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฉแƒฃแƒ แƒฉแƒฃแƒšแƒ˜แƒ“แƒแƒœ 2TiB แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฏแƒ“แƒ”แƒ‘แƒ 300GiB-แƒจแƒ˜. แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒแƒ–แƒ” แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ  แƒจแƒ”แƒ•แƒฉแƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜, แƒแƒ› แƒ—แƒ”แƒ›แƒแƒ–แƒ” แƒฃแƒแƒ›แƒ แƒแƒ•แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒแƒ. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ‘แƒแƒšแƒ แƒ“แƒ แƒแƒ›แƒ“แƒ”, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒ  แƒ˜แƒงแƒ แƒกแƒ แƒฃแƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒฉแƒ•แƒ”แƒœแƒก ClickHouse แƒกแƒแƒชแƒแƒ•แƒจแƒ˜.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒฃแƒš แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜

แƒ”แƒ แƒ—แƒ˜ แƒจแƒ”แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ”แƒก. แƒ›แƒ˜แƒฐแƒงแƒ•แƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ, แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ retention), แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒจแƒ”แƒ แƒฉแƒ”แƒฃแƒšแƒ˜ แƒ‘แƒ”แƒฅแƒ”แƒœแƒ“แƒ˜แƒก แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ’แƒ แƒแƒคแƒ˜แƒข-แƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: carbon-clickhouse+แƒ’แƒ แƒแƒคแƒ˜แƒขแƒ˜-แƒ™แƒšแƒ˜แƒ™แƒฐแƒแƒฃแƒกแƒ˜ แƒแƒœ แƒ’แƒ แƒแƒคแƒฃแƒกแƒ˜, แƒ˜แƒ›แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ—แƒฃ แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒ“แƒแƒกแƒขแƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ. แƒ“แƒ... แƒ“แƒ แƒแƒ˜แƒก แƒ‘แƒแƒ›แƒ‘แƒ˜ แƒ˜แƒจแƒšแƒ”แƒ‘แƒ.

แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ’แƒแƒ˜แƒ’แƒแƒ— แƒ แƒแƒ›แƒ”แƒšแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒชแƒแƒ“แƒ”แƒ— แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒฉแƒแƒœแƒแƒ แƒ—แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒ–แƒ * แƒแƒฏแƒแƒฎแƒ˜แƒก แƒซแƒ แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜.MergeTree ClickHouse (แƒกแƒฅแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒ แƒ”แƒ–แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒ–แƒแƒขแƒ”แƒšแƒ”แƒžแƒ˜แƒœแƒ˜):

  • แƒฉแƒแƒกแƒ›แƒฃแƒšแƒ˜แƒ ะฑะปะพะบ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ”แƒก แƒ˜แƒงแƒ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ•แƒ˜แƒ“แƒ.
    ClickHouse + Graphite: แƒ แƒแƒ’แƒแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ
  • แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒแƒกแƒ”แƒ—แƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜ แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒฉแƒแƒฌแƒ”แƒ แƒแƒ›แƒ“แƒ”. ORDER BYแƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก.
  • แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, ะบัƒัะพะบ (part) แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”.
    ClickHouse + Graphite: แƒ แƒแƒ’แƒแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ
  • แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒคแƒแƒœแƒ–แƒ” แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒแƒกแƒ”แƒ—แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒแƒ  แƒ˜แƒงแƒแƒก แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ”แƒ‘แƒก แƒคแƒแƒœแƒก ัะปะธัะฝะธั (merge, แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒจแƒ˜ แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒ).
    ClickHouse + Graphite: แƒ แƒแƒ’แƒแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ
    ClickHouse + Graphite: แƒ แƒแƒ’แƒแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ
  • แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒแƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒ›แƒแƒกแƒจแƒ˜ แƒแƒฅแƒขแƒ˜แƒฃแƒ  แƒœแƒแƒ™แƒแƒ“แƒก ะฟะฐั€ั‚ะธั†ะธัŽ (partition), แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒฎแƒ”แƒšแƒ˜แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ— OPTIMIZE.
  • แƒ—แƒฃ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒจแƒ˜ แƒ“แƒแƒ แƒฉแƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒ— แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—; แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— OPTIMIZE ... FINAL

แƒแƒกแƒ” แƒ แƒแƒ›, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ แƒ›แƒแƒ“แƒ˜แƒก. แƒ“แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ˜แƒ™แƒแƒ•แƒ”แƒ‘แƒ”แƒœ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒแƒ“แƒ’แƒ˜แƒšแƒก. แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒฌแƒ˜แƒšแƒแƒ“ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”:

  • แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒชแƒ˜แƒ แƒ” (แƒ“แƒฆแƒ”แƒจแƒ˜) แƒแƒœ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ“แƒ˜แƒ“แƒ˜ (แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ—แƒ•แƒ”).
  • แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒ–แƒฆแƒฃแƒ แƒ‘แƒšแƒก แƒแƒฅแƒขแƒ˜แƒฃแƒ  แƒ“แƒแƒœแƒแƒงแƒแƒคแƒจแƒ˜ (แƒกแƒแƒ“แƒแƒช แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ แƒแƒ แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜), แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ แƒ.
  • แƒ—แƒฃ แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒแƒ“แƒ แƒ”แƒฃแƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒแƒ™แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒคแƒแƒœแƒ˜แƒก แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฃแƒ™แƒ•แƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒ˜แƒงแƒแƒก (แƒ—แƒฃ แƒแƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒแƒ แƒแƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒก), แƒแƒ  แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ“แƒ”แƒ‘แƒ แƒแƒฎแƒแƒš แƒžแƒแƒขแƒแƒ แƒ แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ—แƒแƒœ.

แƒ“แƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒแƒ“ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ. ClickHouse-แƒจแƒ˜ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ” แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ:

  • แƒแƒ  แƒ•แƒ แƒชแƒ”แƒšแƒ“แƒ”แƒ‘แƒ OPTIMIZE ... FINAL แƒฎแƒ”แƒšแƒ˜แƒ— แƒแƒœ
  • แƒแƒ  แƒฉแƒแƒ“แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒจแƒ˜ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“, แƒ แƒแƒ—แƒ แƒแƒ“แƒ แƒ” แƒ—แƒฃ แƒ’แƒ•แƒ˜แƒแƒœ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒก แƒคแƒแƒœแƒ˜แƒก แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒ

แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒ”แƒ—แƒแƒ“แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒแƒ“ แƒ’แƒแƒœแƒกแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ˜แƒก แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ˜แƒ แƒ“แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜ แƒกแƒชแƒแƒ“แƒ”แƒก.
แƒ›แƒ” แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ” แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒ“แƒ แƒชแƒ แƒฃ แƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก แƒงแƒแƒ•แƒ”แƒš แƒ“แƒฆแƒ” แƒ‘แƒแƒšแƒ 4 แƒฌแƒšแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒ•แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ“แƒ˜ cron-แƒก แƒงแƒแƒ•แƒ”แƒš แƒกแƒแƒแƒ—แƒจแƒ˜.
แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ ClickHouse DBMS-แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ”แƒ›แƒงแƒแƒ แƒ”แƒ‘แƒ แƒ˜แƒ› แƒคแƒแƒฅแƒขแƒก, แƒ แƒแƒ› แƒ”แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒ“แƒ แƒ” แƒ—แƒฃ แƒ’แƒ•แƒ˜แƒแƒœ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒœแƒฃแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฃแƒชแƒœแƒแƒ‘แƒ˜แƒ แƒ แƒแƒ“แƒ˜แƒก, แƒ›แƒ” แƒ•แƒ”แƒ  แƒ“แƒแƒ•แƒ”แƒšแƒแƒ“แƒ” แƒ˜แƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒซแƒ•แƒ”แƒšแƒ˜ แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒแƒก แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ“แƒ. แƒแƒฎแƒแƒšแƒ˜ แƒžแƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜. แƒชแƒฎแƒแƒ“แƒ˜ แƒ’แƒแƒฎแƒ“แƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒ–แƒ.

ClickHouse + Graphite: แƒ แƒแƒ’แƒแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ

แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ ClickHouse แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ.แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒงแƒแƒ•แƒšแƒ˜แƒกแƒ›แƒแƒ›แƒชแƒ•แƒ”แƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ ClickHouse แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒงแƒ•แƒ”แƒšแƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก, แƒกแƒฎแƒ•แƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒกแƒ•แƒ”แƒขแƒ”แƒ‘แƒก:

  • แƒ“แƒ‘ แƒกแƒแƒฎแƒ”แƒšแƒ˜ (database);
  • แƒ›แƒแƒ’แƒ˜แƒ“แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ (table);
  • แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ“แƒ ID (partition & partition_id);
  • แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒชแƒแƒšแƒ˜ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ (modification_time);
  • แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ—แƒแƒ แƒ˜แƒฆแƒ˜ แƒชแƒแƒšแƒ˜ (แƒ“แƒแƒงแƒแƒคแƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ“แƒฆแƒ˜แƒกแƒ˜แƒ—) (min_date & max_date);

แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒ›แƒแƒ’แƒ˜แƒ“แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ.แƒ’แƒ แƒแƒคแƒ˜แƒขแƒ˜แƒก_แƒจแƒ”แƒ™แƒแƒ•แƒ”แƒ‘แƒ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒ—:

  • แƒ“แƒ‘ แƒกแƒแƒฎแƒ”แƒšแƒ˜ (Tables.database);
  • แƒ›แƒแƒ’แƒ˜แƒ“แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ (Tables.table);
  • แƒ›แƒ”แƒขแƒ แƒฃแƒšแƒ˜ แƒแƒกแƒแƒ™แƒ˜, แƒ แƒแƒ“แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ˜แƒฅแƒœแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ (age);

แƒแƒกแƒ” แƒ แƒแƒ›:

  1. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ™แƒ”แƒ‘แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒ“แƒ แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜.
  2. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ— แƒ›แƒแƒ— แƒ™แƒ•แƒ”แƒ—แƒแƒก แƒ“แƒ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒชแƒฎแƒ แƒ˜แƒšแƒก *GraphiteMergeTree.
  3. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒซแƒ”แƒ‘แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒก, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช:
    • แƒ”แƒ แƒ—แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒชแƒแƒšแƒ˜
    • แƒแƒœ แƒ“แƒแƒ“แƒ’แƒ แƒ›แƒแƒ แƒ˜แƒ’แƒ˜ แƒแƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒฌแƒ”แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ แƒ“แƒ modification_time แƒฃแƒคแƒ แƒ แƒซแƒ•แƒ”แƒšแƒ˜ แƒ•แƒ˜แƒ“แƒ แƒ” แƒแƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜.

ะ ะตะฐะปะธะทะฐั†ะธั

แƒ”แƒก แƒ—แƒฎแƒแƒ•แƒœแƒ

SELECT
    concat(p.database, '.', p.table) AS table,
    p.partition_id AS partition_id,
    p.partition AS partition,
    -- ะกะฐะผะพะต "ัั‚ะฐั€ะพะต" ะฟั€ะฐะฒะธะปะพ, ะบะพั‚ะพั€ะพะต ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะฟั€ะธะผะตะฝะตะฝะพ ะดะปั
    -- ะฟะฐั€ั‚ะธั†ะธะธ, ะฝะพ ะฝะต ะฒ ะฑัƒะดัƒั‰ะตะผ, ัะผ (*)
    max(g.age) AS age,
    -- ะšะพะปะธั‡ะตัั‚ะฒะพ ะบัƒัะบะพะฒ ะฒ ะฟะฐั€ั‚ะธั†ะธะธ
    countDistinct(p.name) AS parts,
    -- ะ—ะฐ ัะฐะผัƒัŽ ัั‚ะฐั€ัˆัƒัŽ ะผะตั‚ั€ะธะบัƒ ะฒ ะฟะฐั€ั‚ะธั†ะธะธ ะฟั€ะธะฝะธะผะฐะตั‚ัั 00:00:00 ัะปะตะดัƒัŽั‰ะตะณะพ ะดะฝั
    toDateTime(max(p.max_date + 1)) AS max_time,
    -- ะšะพะณะดะฐ ะฟะฐั€ั‚ะธั†ะธั ะดะพะปะถะฝะฐ ะฑั‹ั‚ัŒ ะพะฟั‚ะธะผะธะทะธั€ะพะฒะฐะฝะฝะฐ
    max_time + age AS rollup_time,
    -- ะšะพะณะดะฐ ัะฐะผั‹ะน ัั‚ะฐั€ั‹ะน ะบัƒัะพะบ ะฒ ะฟะฐั€ั‚ะธั†ะธะธ ะฑั‹ะป ะพะฑะฝะพะฒะปั‘ะฝ
    min(p.modification_time) AS modified_at
FROM system.parts AS p
INNER JOIN
(
    -- ะ’ัะต ะฟั€ะฐะฒะธะปะฐ ะดะปั ะฒัะตั… ั‚ะฐะฑะปะธั† *GraphiteMergeTree
    SELECT
        Tables.database AS database,
        Tables.table AS table,
        age
    FROM system.graphite_retentions
    ARRAY JOIN Tables
    GROUP BY
        database,
        table,
        age
) AS g ON
    (p.table = g.table)
    AND (p.database = g.database)
WHERE
    -- ะขะพะปัŒะบะพ ะฐะบั‚ะธะฒะฝั‹ะต ะบัƒัะบะธ
    p.active
    -- (*) ะ˜ ั‚ะพะปัŒะบะพ ัั‚ั€ะพะบะธ, ะณะดะต ะฟั€ะฐะฒะธะปะฐ ะฐะณะณั€ะตะณะฐั†ะธะธ ัƒะถะต ะดะพะปะถะฝั‹ ะฑั‹ั‚ัŒ ะฟั€ะธะผะตะฝะตะฝั‹
    AND ((toDateTime(p.max_date + 1) + g.age) < now())
GROUP BY
    table,
    partition
HAVING
    -- ะขะพะปัŒะบะพ ะฟะฐั€ั‚ะธั†ะธะธ, ะบะพั‚ะพั€ั‹ะต ะผะปะฐะดัˆะต ะผะพะผะตะฝั‚ะฐ ะพะฟั‚ะธะผะธะทะฐั†ะธะธ
    (modified_at < rollup_time)
    -- ะ˜ะปะธ ั ะฝะตัะบะพะปัŒะบะธะผะธ ะบัƒัะบะฐะผะธ
    OR (parts > 1)
ORDER BY
    table ASC,
    partition ASC,
    age ASC

แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก *GraphiteMergeTree แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ“แƒแƒœแƒแƒงแƒแƒคแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒแƒ› แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒแƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”. แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜, แƒ แƒแƒช แƒ’แƒแƒกแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒก แƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ— แƒ’แƒแƒ•แƒšแƒ OPTIMIZE ... FINAL. แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒก แƒ˜แƒ› แƒคแƒแƒฅแƒขแƒก, แƒ แƒแƒ› แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒขแƒ˜แƒฎแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฎแƒ”แƒ‘แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒ—.

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒก, แƒ แƒแƒกแƒแƒช แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก graphite-ch-optimizer. Yandex.Market-แƒ˜แƒก แƒงแƒแƒคแƒ˜แƒšแƒ›แƒ แƒ™แƒแƒšแƒ”แƒ’แƒ”แƒ‘แƒ›แƒ แƒกแƒชแƒแƒ“แƒ”แƒก แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜, แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒฅแƒ•แƒ”แƒ›แƒแƒ—.

ClickHouse + Graphite: แƒ แƒแƒ’แƒแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ

แƒ—แƒฃ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒแƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” ClickHouse-แƒ˜แƒ— แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ—, แƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒ“แƒ”แƒ›แƒแƒœแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. แƒกแƒแƒแƒ—แƒจแƒ˜ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ“แƒ”แƒ‘แƒ แƒ—แƒฃ แƒแƒ แƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ แƒกแƒแƒ› แƒ“แƒฆแƒ”แƒ–แƒ” แƒซแƒ•แƒ”แƒšแƒ˜ แƒขแƒ˜แƒฎแƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

แƒฉแƒ•แƒ”แƒœแƒ˜ แƒฃแƒแƒฎแƒšแƒแƒ”แƒกแƒ˜ แƒ’แƒ”แƒ’แƒ›แƒ”แƒ‘แƒ˜แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ“แƒ”แƒ‘ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒ“แƒ, แƒ—แƒฃ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒแƒกแƒ”แƒ•แƒ” rpm.

แƒ˜แƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ แƒแƒ› แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒ‘แƒแƒšแƒ 9+ แƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ›แƒ” แƒ•แƒ˜แƒงแƒแƒ•แƒ˜ แƒฉแƒ”แƒ›แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒแƒจแƒ˜ innogames แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒ แƒ’แƒแƒแƒขแƒแƒ แƒ ClickHouse-แƒ˜แƒกแƒ แƒ“แƒ graphite-web-แƒ˜แƒก แƒ™แƒ•แƒ”แƒ—แƒแƒ–แƒ”. แƒ”แƒก แƒ˜แƒงแƒ แƒ™แƒแƒ แƒ’แƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒแƒช แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ แƒฉแƒฃแƒ แƒฉแƒฃแƒšแƒ˜แƒ“แƒแƒœ ClickHouse-แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“. แƒ•แƒ˜แƒ›แƒ”แƒ“แƒแƒ•แƒœแƒ”แƒ‘, แƒ แƒแƒ› แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ— แƒแƒ› แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒœแƒแƒฌแƒ˜แƒšแƒจแƒ˜ แƒ“แƒ แƒ แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜.

แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒ–แƒ” แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒšแƒ˜แƒขแƒ แƒ˜ แƒšแƒฃแƒ“แƒ˜ แƒ“แƒ แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒ“แƒฆแƒ” แƒ“แƒแƒ˜แƒฎแƒแƒ แƒฏแƒ v0แƒ”แƒจแƒ›แƒแƒ™แƒ˜แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒ›แƒ˜แƒœแƒ“แƒ แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ แƒ’แƒแƒ“แƒแƒ•แƒฃแƒฎแƒแƒ“แƒ แƒ›แƒแƒก. แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ github-แƒ–แƒ”

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ