เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชธเซเชŸเซ‹เชฐเซ‡เชœ: เช…เชฎเซ‡ Graphite+whisper เชฅเซ€ Graphite+ClickHouse เชชเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชตเชฟเชš เช•เชฐเซเชฏเซเช‚

เช•เซ‡เชฎ เช›เซ‹ เชฌเชงเชพ! เชคเซ‡เชจเชพ เชฎเชพเช‚ เช›เซ‡เชฒเซเชฒเชพ เชฒเซ‡เช– เชฎเซ‡เช‚ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เช—เซ‹เช เชตเชตเชพ เชตเชฟเชถเซ‡ เชฒเช–เซเชฏเซเช‚ เช›เซ‡. เช•เช‚เชˆเชชเชฃ เชธเซเชฅเชฟเชฐ เชจเชฅเซ€, เช…เชฎเชพเชฐเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเชคเชค เชตเชงเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชชเชฃ เช›เซ‡. เช…เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เชตเซเชนเชฟเชธเซเชชเชฐเชฅเซ€ เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เชธเซเชงเซ€เชจเชพ เชธเช‚เช•เซเชฐเชฎเชฃเชจเซ‡ เช‰เชšเซเชš เชญเชพเชฐเชจเซ€ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เช—เซ‹เช เชตเซเชฏเซเช‚, เชคเซ‡เชฎเชพเช‚เชฅเซ€ เช…เชชเซ‡เช•เซเชทเชพเช“ เช…เชจเซ‡ เช•เชŸ เชนเซ‡เช เชณ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฃเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชตเชฟเชถเซ‡ เชตเชพเช‚เชšเซ‹.

เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชธเซเชŸเซ‹เชฐเซ‡เชœ: เช…เชฎเซ‡ Graphite+whisper เชฅเซ€ Graphite+ClickHouse เชชเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชตเชฟเชš เช•เชฐเซเชฏเซเช‚

เช…เชฎเซ‡ เชคเชฎเชจเซ‡ Graphite+whisper เชฅเซ€ Graphite+ClickHouse เชฎเชพเช‚ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชธเช‚เช•เซเชฐเชฎเชฃ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเซเชฏเซเช‚ เชคเซ‡ เชนเซเช‚ เชคเชฎเชจเซ‡ เช•เชนเซเช‚ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚, เชนเซเช‚ เช†เชตเซ‹ เชจเชฟเชฐเซเชฃเชฏ เชฒเซ‡เชตเชพเชจเชพ เช•เชพเชฐเชฃเซ‹ เช…เชจเซ‡ เชตเซเชนเซ€เชธเซเชชเชฐเชจเชพ เช—เซ‡เชฐเชซเชพเชฏเชฆเชพ เชตเชฟเชถเซ‡ เชฎเชพเชนเชฟเชคเซ€ เช†เชชเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช…เชฎเซ‡ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชœเซ€เชตเซเชฏเชพ เชนเชคเชพ.

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เชตเซเชนเชฟเชธเซเชชเชฐ เชธเชฎเชธเซเชฏเชพเช“

1. เชกเชฟเชธเซเช• เชธเชฌเชธเชฟเชธเซเชŸเชฎ เชชเชฐ เช‰เชšเซเชš เชญเชพเชฐ

เชธเช‚เช•เซเชฐเชฎเชฃ เชธเชฎเชฏเซ‡, เช†เชถเชฐเซ‡ 1.5 เชฎเชฟเชฒเชฟเชฏเชจ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเซเชฐเชคเชฟ เชฎเชฟเชจเชฟเชŸ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช†เชตเซ€ เชฐเชนเซเชฏเชพ เชนเชคเชพ. เช†เชตเชพ เชชเซเชฐเชตเชพเชน เชธเชพเชฅเซ‡, เชธเชฐเซเชตเชฐ เชชเชฐ เชกเชฟเชธเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— ~30% เชนเชคเซ‹. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เช† เชเช•เชฆเชฎ เชธเซเชตเซ€เช•เชพเชฐเซเชฏ เชนเชคเซเช‚ - เชฌเชงเซเช‚ เชธเซเชฅเชฟเชฐ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชนเชคเซเช‚, เชเชกเชชเชฅเซ€ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชเชกเชชเชฅเซ€ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚... เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชตเชฟเช•เชพเชธ เชŸเซ€เชฎเซ‹เชฎเชพเช‚เชฅเซ€ เชเช•เซ‡ เชจเชตเซ€ เชธเซเชตเชฟเชงเชพ เชฐเชœเซ‚ เช•เชฐเซ€ เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชชเซเชฐเชคเชฟ เชฎเชฟเชจเชฟเชŸ 10 เชฎเชฟเชฒเชฟเชฏเชจ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชฎเซ‹เช•เชฒเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚ เชจเชนเซ€เช‚. เชคเซ‡ เชธเชฎเชฏเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชกเชฟเชธเซเช• เชธเชฌเชธเชฟเชธเซเชŸเชฎ เช•เชกเช• เชฅเชˆ, เช…เชจเซ‡ เช…เชฎเซ‡ 100% เช‰เชชเชฏเซ‹เช— เชœเซ‹เชฏเซ‹. เชธเชฎเชธเซเชฏเชพ เชเชกเชชเชฅเซ€ เช‰เช•เซ‡เชฒเชพเชˆ เช—เชˆ, เชชเชฐเช‚เชคเซ เชเช• เช…เชตเชถเซ‡เชท เชฐเชนเซ€ เช—เชฏเซ‹.

2. เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เช…เชจเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพเชจเซ‹ เช…เชญเชพเชต

เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡, เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เชตเซเชนเชฟเชธเซเชชเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช—/เชตเชชเชฐเชพเชถ เช•เชฐเชจเชพเชฐ เชฆเชฐเซ‡เช• เชตเซเชฏเช•เซเชคเชฟเชจเซ€ เชœเซ‡เชฎ, เช…เชฎเซ‡ เช–เชพเชฎเซ€ เชธเชนเชฟเชทเซเชฃเซเชคเชพ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช•เชธเชพเชฅเซ‡ เช…เชจเซ‡เช• เช—เซเชฐเซ‡เชซเชพเช‡เชŸ เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‹ เชธเชฎเชพเชจ เชชเซเชฐเชตเชพเชน เชฐเซ‡เชกเซเชฏเซ‹. เช…เชจเซ‡ เช†เชฎเชพเช‚ เช•เซ‹เชˆ เช–เชพเชธ เชธเชฎเชธเซเชฏเชพเช“ เชจเชนเซ‹เชคเซ€ - เชคเซ‡ เช•เซเชทเชฃ เชธเซเชงเซ€ เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชˆ เช•เชพเชฐเชฃเชธเชฐ เชธเชฐเซเชตเชฐ เช•เซเชฐเซ‡เชถ เชฅเชฏเซเช‚. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เช…เชฎเซ‡ เชชเชกเซ€ เช—เชฏเซ‡เชฒเชพ เชธเชฐเซเชตเชฐเชจเซ‡ เชชเชฐเซเชฏเชพเชชเซเชค เชเชกเชชเชฅเซ€ เช‰เชชเชพเชกเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ€เช เช›เซ€เช, เช…เชจเซ‡ เช•เชพเชฐเซเชฌเชจ-เชธเซ€-เชฐเชฟเชฒเซ‡ เชคเซ‡เชจเชพ เช•เซ‡เชถเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชฒเซ‹เชก เช•เชฐเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เซเชฏเชพเชฐเซ‡เช• เชจเชนเซ€เช‚. เช…เชจเซ‡ เชชเช›เซ€ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชฎเชพเช‚ เชเช• เช›เชฟเชฆเซเชฐ เชนเชคเซเช‚, เชœเซ‡ เช…เชฎเซ‡ rsync เชฅเซ€ เชญเชฐเซเชฏเซเช‚. เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช˜เชฃเซ€ เชฒเชพเช‚เชฌเซ€ เชนเชคเซ€. เชฌเชšเชคเชจเซ€ เชเช•เชฎเชพเชคเซเชฐ เช•เซƒเชชเชพ เช เชนเชคเซ€ เช•เซ‡ เช† เชฌเชนเซ เชœ เชญเชพเช—เซเชฏเซ‡ เชœ เชฌเชจเซเชฏเซเช‚. เช…เชฎเซ‡ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‹ เชฐเซ‡เชจเซเชกเชฎ เชธเซ‡เชŸ เชชเชฃ เชฒเซ€เชงเซ‹ เช…เชจเซ‡ เช•เซเชฒเชธเซเชŸเชฐเชจเชพ เชชเชกเซ‹เชถเซ€ เช—เชพเช‚เช เซ‹ เชชเชฐ เชธเชฎเชพเชจ เชฒเซ‹เช•เซ‹ เชธเชพเชฅเซ‡ เชคเซ‡เชฎเชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€ เช•เชฐเซ€. เชฒเช—เชญเช— 5% เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, เช˜เชฃเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เช…เชฒเช— เชนเชคเชพ, เชœเซ‡เชจเชพเชฅเซ€ เช…เชฎเซ‡ เช–เซ‚เชฌ เช–เซเชถ เชจ เชนเชคเชพ.

3. เชตเชฟเชถเชพเชณ เชชเชฆเชšเชฟเชนเซเชจ

เช…เชฎเซ‡ เช—เซเชฐเซ‡เชซเชพเชˆเชŸเชฎเชพเช‚ เชฎเชพเชคเซเชฐ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เชœ เชจเชนเซ€เช‚, เชชเชฃ เชฌเชฟเชเชจเซ‡เชธ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ (เช…เชจเซ‡ เชนเชตเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเชพ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเชฃ) เชฒเช–เซ€เช เช›เซ€เช, เชคเซ‡เชฅเซ€ เช…เชฎเชจเซ‡ เช˜เชฃเซ€ เชตเชพเชฐ เชเชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชฎเชณเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชฎเซ‡เชŸเซเชฐเชฟเช•เชฎเชพเช‚ เชฎเชพเชคเซเชฐ เชฅเซ‹เชกเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เชนเซ‹เชฏ เช›เซ‡, เช…เชจเซ‡ .wsp เชซเชพเช‡เชฒ เชคเชฎเชพเชฎ เชฐเซ€เชŸเซ‡เชจเซเชถเชจเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเชจเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชธเชฎเชฏเช—เชพเชณเซ‹, เช…เชจเซ‡ เช…เช—เชพเช‰เชฅเซ€ เชซเชพเชณเชตเซ‡เชฒ เชœเช—เซเชฏเชพ เชฒเซ‡ เช›เซ‡, เชœเซ‡ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ ~2MB เชนเชคเซ€. เชธเชฎเชธเซเชฏเชพ เช เชนเช•เซ€เช•เชค เชฆเซเชตเชพเชฐเชพ เชตเชงเซ เชตเช•เชฐเซ€ เช›เซ‡ เช•เซ‡ เชธเชฎเชฏ เชœเชคเชพเช‚ เช˜เชฃเซ€ เชฌเชงเซ€ เชธเชฎเชพเชจ เชซเชพเช‡เชฒเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡, เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡เชฎเชจเชพ เชชเชฐ เชฐเชฟเชชเซ‹เชฐเซเชŸเซเชธ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เช–เชพเชฒเซ€ เชชเซ‹เชˆเชจเซเชŸเซเชธ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เช˜เชฃเซ‹ เชธเชฎเชฏ เช…เชจเซ‡ เชธเช‚เชธเชพเชงเชจเซ‹ เชฒเชพเช—เซ‡ เช›เซ‡.

เชนเซเช‚ เชคเชฐเชค เชœ เชจเซ‹เช‚เชงเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เช•เซ‡ เช‰เชชเชฐ เชตเชฐเซเชฃเชตเซ‡เชฒ เชธเชฎเชธเซเชฏเชพเช“ เชตเชฟเชตเชฟเชง เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เช…เชธเชฐเช•เชพเชฐเช•เชคเชพเชจเซ€ เชตเชฟเชตเชฟเชง เชกเชฟเช—เซเชฐเซ€ เชธเชพเชฅเซ‡ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เชœเซ‡เชŸเชฒเซ‹ เชตเชงเซ เชกเซ‡เชŸเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‡ เชตเชงเซ เช–เชฐเชพเชฌ เชฅเชพเชฏ เช›เซ‡.

เช‰เชชเชฐเซ‹เช•เซเชค เชคเชฎเชพเชฎ เชฐเชพเช–เชตเชพเชฅเซ€ (เชชเชพเช›เชฒเชพเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ เชฒเซ‡เช–), เชคเซ‡เชฎเชœ เชชเซเชฐเชพเชชเซเชค เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชธเชคเชค เชตเชงเชพเชฐเซ‹, เชคเชฎเชพเชฎ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‡ 30 เชธเซ‡เช•เชจเซเชกเชจเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช…เช‚เชคเชฐเชพเชฒเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช‡เชšเซเช›เชพ. (เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹ 10 เชธเซ‡เช•เชจเซเชก เชธเซเชงเซ€), เช…เชฎเซ‡ เชตเซเชนเซ€เชธเซเชชเชฐเชจเชพ เช†เชถเชพเชธเซเชชเชฆ เชตเชฟเช•เชฒเซเชช เชคเชฐเซ€เช•เซ‡ Graphite+ClickHouse เช…เชœเชฎเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚.

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เช…เชชเซ‡เช•เซเชทเชพเช“

เชฏเชพเชจเซเชกเซ‡เช•เซเชธเชจเชพ เช›เซ‹เช•เชฐเชพเช“เชจเซ€ เช˜เชฃเซ€ เชฎเซ€เชŸเช…เชชเซเชธเชจเซ€ เชฎเซเชฒเชพเช•เชพเชค เชฒเซ€เชงเชพ เชชเช›เซ€, เชตเชพเช‚เชšเซเชฏเซเช‚ Habrรฉ เชชเชฐ เชฒเซ‡เช–เซ‹ เชเช• เชฆเช‚เชชเชคเชฟ, เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชฏเชพ เชชเช›เซ€ เช…เชจเซ‡ เช—เซเชฐเซ‡เชซเชพเช‡เชŸ เชนเซ‡เช เชณ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชจเซ‡ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชœเชฆเชพเชฐ เช˜เชŸเช•เซ‹ เชฎเชณเซเชฏเชพเช‚, เช…เชฎเซ‡ เชชเช—เชฒเชพเช‚ เชฒเซ‡เชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚!

เชนเซเช‚ เชจเซ€เชšเซ‡เชจเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚:

  • เชกเชฟเชธเซเช• เชธเชฌเชธเชฟเชธเซเชŸเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— 30% เชฅเซ€ เช˜เชŸเชพเชกเซ€เชจเซ‡ 5% เช•เชฐเซ‹;
  • 1TB เชฅเซ€ 100GB เชธเซเชงเซ€ เช•เชฌเชœเซ‡ เช•เชฐเซ‡เชฒเซ€ เชœเช—เซเชฏเชพเชจเซ€ เชฎเชพเชคเซเชฐเชพ เช˜เชŸเชพเชกเชตเซ€;
  • เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชชเซเชฐเชคเชฟ เชฎเชฟเชจเชฟเชŸ 100 เชฎเชฟเชฒเชฟเชฏเชจ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชฎเชฐเซเชฅ เชฅเชพเช“;
  • เชฌเซ‹เช•เซเชธเชจเซ€ เชฌเชนเชพเชฐ เชกเซ‡เชŸเชพ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เช…เชจเซ‡ เชฆเซ‹เชท เชธเชนเชฟเชทเซเชฃเซเชคเชพ;
  • เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชฐ เชเช• เชตเชฐเซเชท เชธเซเชงเซ€ เชฌเซ‡เชธเซ‹ เชจเชนเซ€เช‚ เช…เชจเซ‡ เชตเชพเชœเชฌเซ€ เชธเชฎเชฏเชฎเชฐเซเชฏเชพเชฆเชพเชฎเชพเช‚ เชธเช‚เช•เซเชฐเชฎเชฃ เช•เชฐเซ‹;
  • เชกเชพเช‰เชจเชŸเชพเช‡เชฎ เชตเชฟเชจเชพ เชธเซเชตเชฟเชš เช•เชฐเซ‹.

เช–เซ‚เชฌ เชฎเชนเชคเซเชตเชพเช•เชพเช‚เช•เซเชทเซ€, เช…เชงเชฟเช•เชพเชฐ?

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เช˜เชŸเช•เซ‹

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชฆเซเชตเชพเชฐเชพ เชกเซ‡เชŸเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เช…เชจเซ‡ เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชคเซ‡เชจเซ‡ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชฎเชพเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซเช‚ เช•เชพเชฐเซเชฌเชจ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ (เช—เซ‹เชฒเชพเช‚เช—).

เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชจเซเช‚ เชจเชตเซ€เชจเชคเชฎ เชชเซเชฐเช•เชพเชถเชจ, เชธเซเชฅเชฟเชฐ เชธเช‚เชธเซเช•เชฐเชฃ 1.1.54253, เชธเชฎเชฏ เชถเซเชฐเซ‡เชฃเซ€ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชคเชฐเซ€เช•เซ‡ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เช†เชตเซ€ เชนเชคเซ€: เชฒเซ‹เช—เชฎเชพเช‚ เชญเซ‚เชฒเซ‹เชจเซ‹ เชชเชฐเซเชตเชค เชฐเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เชคเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเซเชชเชทเซเชŸ เชจ เชนเชคเซเช‚. เชธเชพเชฅเซ‡ เชšเชฐเซเชšเชพเชฎเชพเช‚ เช›เซ‡ เชฐเซ‹เชฎเชจ เชฒเซ‹เชฎเซ‹เชจเซ‹เชธเซ‹เชต (เช•เชพเชฐเซเชฌเชจ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ, เช—เซเชฐเซ‡เชซเชพเช‡เชŸ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช…เชจเซ‡ เช˜เชฃเชพ เชฌเชงเชพเชจเชพ เชฒเซ‡เช–เช•) เชœเซ‚เชจเชพเชจเซ€ เชชเชธเช‚เชฆเช—เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เชฐเชฟเชฒเซ€เช 1.1.54236. เชญเซ‚เชฒเซ‹ เช…เชฆเซƒเชถเซเชฏ เชฅเชˆ เช—เชˆ - เชฌเชงเซเช‚ เชงเชกเชพเช•เชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚.

เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เช—เซเชฐเซ‡เชซเชพเช‡เชŸ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ (เช—เซ‹เชฒเชพเช‚เช—). เช—เซเชฐเซ‡เชซเชพเช‡เชŸ เชฎเชพเชŸเซ‡ API เชคเชฐเซ€เช•เซ‡ - เช•เชพเชฐเซเชฌเซ‹เชจเชพเชชเซ€ (เช—เซ‹เชฒเชพเช‚เช—). เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‹เชทเซเชŸเช•เซ‹ เชตเชšเซเชšเซ‡ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชคเซ‹ เชนเชคเซ‹ เชเซ‚ เช•เซ€เชชเชฐ. เชฐเซ‚เชŸเซ€เช‚เช— เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชชเซเชฐเชฟเชฏเชจเซ‡ เช›เซ‹เชกเซ€ เชฆเซ€เชงเซเช‚ เช•เชพเชฐเซเชฌเชจ-เชธเซ€-เชฐเชฟเชฒเซ‡ (เชธเชพเชฅเซ‡) (เช…เช—เชพเช‰เชจเซ‹ เชฒเซ‡เช– เชœเซเช“).

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เชŸเซ‡เชฌเชฒ เชฎเชพเชณเช–เซเช‚

"เช—เซเชฐเซ‡เชซเชพเช‡เชŸ" เช เชกเซ‡เชŸเชพเชฌเซ‡เช เช›เซ‡ เชœเซ‡ เช…เชฎเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช•เซ‹เชทเซเชŸเช•เซ‹ เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเซเชฏเซ‹ เช›เซ‡.

โ€œgraphite.metricsโ€ - ReplicatedReplacingMergeTree เชเชจเซเชœเชฟเชจ เชธเชพเชฅเซ‡เชจเซเช‚ เชŸเซ‡เชฌเชฒ (เชชเซเชฐเชคเชฟเช•เซƒเชค เชฎเชฐเซเชœเชŸเซเชฐเซ€เชจเซ‡ เชฌเชฆเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡). เช† เช•เซ‹เชทเซเชŸเช• เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเชพ เชจเชพเชฎ เช…เชจเซ‡ เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡เชจเชพ เชชเชพเชฅเชจเซ‹ เชธเช‚เช—เซเชฐเชน เช•เชฐเซ‡ เช›เซ‡.

CREATE TABLE graphite.metrics ( Date Date, Level UInt32, Path String, Deleted UInt8, Version UInt32 ) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/replicator/graphite.metrics', โ€˜r1โ€™, Date, (Level, Path), 8192, Version);

โ€œgraphite.dataโ€ - ReplicatedGraphiteMergeTree เชเชจเซเชœเชฟเชจ เชธเชพเชฅเซ‡เชจเซเช‚ เชŸเซ‡เชฌเชฒ (เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ GraphiteMergeTree). เช† เช•เซ‹เชทเซเชŸเช• เชฎเซ‡เชŸเซเชฐเชฟเช• เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‹ เชธเช‚เช—เซเชฐเชน เช•เชฐเซ‡ เช›เซ‡.

CREATE TABLE graphite.data ( Path String, Value Float64, Time UInt32, Date Date, Timestamp UInt32 ) ENGINE = ReplicatedGraphiteMergeTree('/clickhouse/tables/replicator/graphite.data', 'r1', Date, (Path, Time), 8192, 'graphite_rollup')

โ€œgraphite.date_metricsโ€ เช ReplicatedReplacingMergeTree เชเชจเซเชœเชฟเชจ เชธเชพเชฅเซ‡ เชถเชฐเชคเซ€ เชฐเซ€เชคเซ‡ เชญเชฐเซ‡เชฒเซเช‚ เชŸเซ‡เชฌเชฒ เช›เซ‡. เช† เช•เซ‹เชทเซเชŸเช• เชคเซ‡ เชคเชฎเชพเชฎ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเชพ เชจเชพเชฎ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชฆเชฟเชตเชธ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเชพเชฎเซ‡ เช†เชตเซเชฏเชพ เชนเชคเชพ. เชคเซ‡เชจเซ€ เชฐเชšเชจเชพเชจเชพ เช•เชพเชฐเชฃเซ‹ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡ "เชธเชฎเชธเซเชฏเชพเช“" เช† เชฒเซ‡เช–เชจเชพ เช…เช‚เชคเซ‡.

CREATE MATERIALIZED VIEW graphite.date_metrics ( Path String,  Level UInt32,  Date Date) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/replicator/graphite.date_metrics', 'r1', Date, (Level, Path, Date), 8192) AS SELECT toUInt32(length(splitByChar('.', Path))) AS Level, Date, Path FROM graphite.data

โ€œgraphite.data_statโ€ - เชถเชฐเชค เชฎเซเชœเชฌ เชญเชฐเซ‡เชฒเซเช‚ เชŸเซ‡เชฌเชฒ, ReplicatedAggregatingMergeTree เชเชจเซเชœเซ€เชจ เชธเชพเชฅเซ‡ (เชชเซเชฐเชคเชฟเช•เซƒเชค AggregatingMergeTree). เช† เช•เซ‹เชทเซเชŸเช• เช‡เชจเช•เชฎเชฟเช‚เช— เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ 4 เชจเซ‡เชธเซเชŸเชฟเช‚เช— เชธเซเชคเชฐเซ‹เชฎเชพเช‚ เชคเซ‚เชŸเซ€ เชœเชพเชฏ เช›เซ‡.

CREATE MATERIALIZED VIEW graphite.data_stat ( Date Date,  Prefix String,  Timestamp UInt32,  Count AggregateFunction(count)) ENGINE = ReplicatedAggregatingMergeTree('/clickhouse/tables/replicator/graphite.data_stat', 'r1', Date, (Timestamp, Prefix), 8192) AS SELECT toStartOfMonth(now()) AS Date, replaceRegexpOne(Path, '^([^.]+.[^.]+.[^.]+).*$', '1') AS Prefix, toUInt32(toStartOfMinute(toDateTime(Timestamp))) AS Timestamp, countState() AS Count FROM graphite.data  GROUP BY Timestamp, Prefix

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เช˜เชŸเช• เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ

เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชธเซเชŸเซ‹เชฐเซ‡เชœ: เช…เชฎเซ‡ Graphite+whisper เชฅเซ€ Graphite+ClickHouse เชชเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชตเชฟเชš เช•เชฐเซเชฏเซเช‚

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เชกเซ‡เชŸเชพ เชธเซเชฅเชณเชพเช‚เชคเชฐ

เชœเซ‡เชฎ เช†เชชเชฃเซ‡ เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เช…เชชเซ‡เช•เซเชทเชพเช“เชฅเซ€ เชฏเชพเชฆ เชฐเชพเช–เซ€เช เช›เซ€เช, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชฎเชพเช‚ เชธเช‚เช•เซเชฐเชฎเชฃ เชกเชพเช‰เชจเชŸเชพเช‡เชฎ เชตเชฟเชจเชพ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช; เชคเซ‡ เชฎเซเชœเชฌ, เช…เชฎเชพเชฐเซ‡ เช…เชฎเชพเชฐเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชชเชพเชฐเชฆเชฐเซเชถเช• เชฐเซ€เชคเซ‡ เช…เชฎเชพเชฐเซ€ เชธเชฎเช—เซเชฐ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชจเชตเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเชตเชพเชจเซ€ เชนเชคเซ€.
เช† เชฐเซ€เชคเซ‡ เช…เชฎเซ‡ เชคเซ‡ เช•เชฐเซเชฏเซเช‚.

  • เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ€ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟเชฎเชพเช‚ เชญเชพเช— เชฒเซ‡เชคเชพ เชธเชฐเซเชตเชฐเซเชธเชฎเชพเช‚เชฅเซ€ เชเช•เชจเชพ เช•เชพเชฐเซเชฌเชจ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชจเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‹ เชตเชงเชพเชฐเชพเชจเซ‹ เชชเซเชฐเชตเชพเชน เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช•เชพเชฐเซเชฌเชจ-เชธเซ€-เชฐเชฟเชฒเซ‡เชฎเชพเช‚ เชเช• เชจเชฟเชฏเชฎ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.

  • เช…เชฎเซ‡ เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชเช• เชจเชพเชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฒเช–เซ€, เชœเซ‡ เชตเซเชนเซ€เชธเซเชชเชฐ-เชกเชฎเซเชช เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เช…เชฎเชพเชฐเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚เชฅเซ€ เชฌเชงเซ€ .wsp เชซเชพเช‡เชฒเซ‹ เชตเชพเช‚เชšเซ‡ เช›เซ‡ เช…เชจเซ‡ เช† เชกเซ‡เชŸเชพเชจเซ‡ เช‰เชชเชฐ เชตเชฐเซเชฃเชตเซ‡เชฒ เช•เชพเชฐเซเชฌเชจ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชจเซ‡ 24 เชฅเซเชฐเซ‡เชกเซ‹เชฎเชพเช‚ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡. เช•เชพเชฐเซเชฌเชจ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชฎเชพเช‚ เชธเซเชตเซ€เช•เซƒเชค เชฎเซ‡เชŸเซเชฐเชฟเช• เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ 125 เชฎเชฟเชฒเชฟเชฏเชจ/เชฎเชฟเชจเชฟเชŸ เชชเชฐ เชชเชนเซ‹เช‚เชšเซ€ เช—เชˆ เช›เซ‡, เช…เชจเซ‡ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเซ‡ เชเช• เชชเชฃ เชชเชฐเชธเซ‡เชตเซ‹ เชคเซ‹เชกเซเชฏเซ‹ เชจเชฅเซ€.

  • เชนเชพเชฒเชจเชพ เชกเซ‡เชถเชฌเซ‹เชฐเซเชกเซเชธเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชซเช‚เช•เซเชถเชจเซเชธเชจเซ‡ เชกเซ€เชฌเช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ Grafana เชฎเชพเช‚ เชเช• เช…เชฒเช— เชกเซ‡เชŸเชพเชธเซ‹เชฐเซเชธ เชฌเชจเชพเชตเซเชฏเซ‹ เช›เซ‡. เช…เชฎเซ‡ เชซเช‚เช•เซเชถเชจเซเชธเชจเซ€ เชธเซ‚เชšเชฟ เช“เชณเช–เซ€ เช›เซ‡ เชœเซ‡เชจเซ‹ เช…เชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เช•เชพเชฐเซเชฌเซ‹เชจเชพเชชเซ€เชฎเชพเช‚ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชจเชฅเซ€. เช…เชฎเซ‡ เช† เช•เชพเชฐเซเชฏเซ‹ เช‰เชฎเซ‡เชฐเซเชฏเชพ เช…เชจเซ‡ เช•เชพเชฐเซเชฌเซ‹เชจเชพเชชเซ€เชจเชพ เชฒเซ‡เช–เช•เซ‹เชจเซ‡ PR เชฎเซ‹เช•เชฒเซเชฏเชพ (เชคเซ‡เชฎเชจเซ‹ เชตเชฟเชถเซ‡เชท เช†เชญเชพเชฐ).

  • เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชฎเชพเช‚ เชฐเซ€เชกเชฟเช‚เช— เชฒเซ‹เชกเชจเซ‡ เชธเซเชตเชฟเชš เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช—เซเชฐเซ‡เชซเชพเชˆเชŸ-เชเชชเซ€เช†เชˆ (เช—เซเชฐเซ‡เชซเชพเชˆเชŸ+เชตเซเชนเซ€เชธเซเชชเชฐ เชฎเชพเชŸเซ‡ API เชˆเชจเซเชŸเชฐเชซเซ‡เชธ) เชฅเซ€ เช•เชพเชฐเซเชฌเซ‹เชจเชพเชชเซ€เชฎเชพเช‚ เชเชจเซเชกเชชเซ‹เชˆเชจเซเชŸเซเชธ เชฌเชฆเชฒเซเชฏเชพเช‚ เช›เซ‡.

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เชชเชฐเชฟเชฃเชพเชฎเซ‹

  • เชกเชฟเชธเซเช• เชธเชฌเชธเชฟเชธเซเชŸเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— 30% เชฅเซ€ เช˜เชŸเชพเชกเซ€เชจเซ‡ 1%;

    เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชธเซเชŸเซ‹เชฐเซ‡เชœ: เช…เชฎเซ‡ Graphite+whisper เชฅเซ€ Graphite+ClickHouse เชชเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชตเชฟเชš เช•เชฐเซเชฏเซเช‚

  • 1 TB เชฅเซ€ 300 GB เชธเซเชงเซ€ เช•เชฌเชœเซ‡ เช•เชฐเซ‡เชฒเซ€ เชœเช—เซเชฏเชพเชจเซ€ เชฎเชพเชคเซเชฐเชพ เช˜เชŸเชพเชกเซ€เชจเซ‡;
  • เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชชเซเชฐเชคเชฟ เชฎเชฟเชจเชฟเชŸ 125 เชฎเชฟเชฒเชฟเชฏเชจ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช›เซ‡ (เชธเซเชฅเชณเชพเช‚เชคเชฐ เชธเชฎเชฏเซ‡ เชถเชฟเช–เชฐเซ‹);
  • เชคเชฎเชพเชฎ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‡ เชคเซเชฐเซ€เชธ-เชธเซ‡เช•เชจเซเชกเชจเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช…เช‚เชคเชฐเชพเชฒเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซเชฏเชพ;
  • เชชเซเชฐเชพเชชเซเชค เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เช…เชจเซ‡ เชฆเซ‹เชท เชธเชนเชฟเชทเซเชฃเซเชคเชพ;
  • เชกเชพเช‰เชจเชŸเชพเช‡เชฎ เชตเชฟเชจเชพ เชธเซเชตเชฟเชš เช•เชฐเซเชฏเซเช‚;
  • เชฌเชงเซเช‚ เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เชฒเช—เชญเช— 7 เช…เช เชตเชพเชกเชฟเชฏเชพ เชฒเชพเช—เซเชฏเชพเช‚.

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เชธเชฎเชธเซเชฏเชพเช“

เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช•เซ‡เชŸเชฒเซ€เช• เชฎเซเชถเซเช•เซ‡เชฒเซ€เช“ เชนเชคเซ€. เชธเช‚เช•เซเชฐเชฎเชฃ เชชเช›เซ€ เช†เชชเชฃเซ‡ เช†เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซเชฏเซ‹.

  1. เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เชนเช‚เชฎเซ‡เชถเชพ เชซเซเชฒเชพเชฏ เชชเชฐ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชตเชพเช‚เชšเชคเซเช‚ เชจเชฅเซ€; เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชคเซ‡เชจเซ‡ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เชฐเซ‚เชชเชฐเซ‡เช–เชพเชฎเชพเช‚ เชเซ‚เช•เซ€เชชเชฐ เช•เซเชฒเชธเซเชŸเชฐเชจเชพ เชตเชฐเซเชฃเชจเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ-เชธเชฐเซเชตเชฐ เชฐเซ€เชฌเซ‚เชŸ เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชคเซ‹ เชจ เชนเชคเซ‹.
  2. เชฎเซ‹เชŸเซ€ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เชตเชฟเชจเช‚เชคเซ€เช“ เชชเชธเชพเชฐ เชฅเชˆ เชจ เชนเชคเซ€, เชคเซ‡เชฅเซ€ เช—เซเชฐเซ‡เชซเชพเชˆเชŸ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชฎเชพเช‚ เช…เชฎเชพเชฐเซ€ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช•เชจเซ‡เช•เซเชถเชจ เชธเซเชŸเซเชฐเชฟเช‚เช— เช†เชจเชพ เชœเซ‡เชตเซ€ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:
    url = "http://localhost:8123/?max_query_size=268435456&max_ast_elements=1000000"
  3. เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช˜เชฃเซ€เชตเชพเชฐ เชธเซเชฅเชฟเชฐ เชชเซเชฐเช•เชพเชถเชจเซ‹เชจเชพ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเซ‡ เช›เซ‡; เชคเซ‡เชฎเชพเช‚ เช†เชถเซเชšเชฐเซเชฏ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡: เชธเชพเชตเชšเซ‡เชค เชฐเชนเซ‹.
  4. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซ‡เชฒ เช•เชจเซเชŸเซ‡เชจเชฐ เชŸเซ‚เช‚เช•เชพ เช…เชจเซ‡ เชฐเซ‡เชจเซเชกเชฎ เชœเซ€เชตเชจเช•เชพเชณ เชธเชพเชฅเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡. เช†เชตเชพ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เชฌเชงเชพ เชฌเชฟเช‚เชฆเซเช“ เชจเชฅเซ€, เช…เชจเซ‡ เชœเช—เซเชฏเชพ เชธเชพเชฅเซ‡ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เช•เซเชตเซ‡เชฐเซ€ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ 'เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ' เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชฅเซ€ เช† เชœ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชตเชฟเชถเชพเชณ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡. 90% เช•เซ‡เชธเซ‹เชฎเชพเช‚, เชตเชฟเชจเซเชกเซ‹ (24 เช•เชฒเชพเช•) เช‰เชชเชฐเชพเช‚เชค เชคเซ‡เชฎเชจเชพ เชชเชฐ เช•เซ‹เชˆ เชกเซ‡เชŸเชพ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ 'เชกเซ‡เชŸเชพ' เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เช† เชกเซ‡เชŸเชพ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเชฎเชฏ เชชเชธเชพเชฐ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เช†เช–เชฐเซ‡ เชธเชฎเชฏ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡. เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชฆเชฟเชตเชธ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเชพเชฎเซ‡ เช†เชตเชคเชพ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡ เชเช• เช…เชฒเช— เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃ เชœเชพเชณเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚. เช†เชฎ, เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซ‡เชฒ เช•เชจเซเชŸเซ‡เชจเชฐ เชฎเชพเชŸเซ‡ เชฐเชฟเชชเซ‹เชฐเซเชŸเซเชธ (เช—เซเชฐเชพเชซ) เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เช…เชฎเซ‡ เชซเช•เซเชค เชคเซ‡ เชœ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เช•เซเชตเซ‡เชฐเซ€ เช•เชฐเซ€เช เช›เซ€เช เชœเซ‡ เช†เชชเซ‡เชฒ เชตเชฟเช‚เชกเซ‹เชจเซ€ เช…เช‚เชฆเชฐ เช†เชตเซ€ เชนเซ‹เชฏ, เช…เชจเซ‡ เชธเชฎเช—เซเชฐ เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เชจเชนเซ€เช‚, เชœเซ‡เชฃเซ‡ เชคเซ‡เชฎเชจเชพ เชชเชฐ เช…เชนเซ‡เชตเชพเชฒเซ‹เชจเชพ เชจเชฟเชฐเซเชฎเชพเชฃเชจเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเซเชฏเซเช‚. เช‰เชชเชฐ เชตเชฐเซเชฃเชตเซ‡เชฒ เช‰เช•เซ‡เชฒ เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซเชฏเซเช‚ เช—เซเชฐเซ‡เชซเชพเช‡เชŸ-เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ (เชซเซ‹เชฐเซเช•), เชœเซ‡เชฎเชพเช‚ date_metrics เช•เซ‹เชทเซเชŸเช• เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เชŸเซ…เช—เซเชธ

เชตเชฐเซเชเชจ 1.1.0 เชธเชพเชฅเซ‡ เช—เซเชฐเซ‡เชซเชพเช‡เชŸ เช“เชซเชฟเชถเชฟเชฏเชฒ เชฌเชจเซเชฏเซเช‚ เชธเชชเซ‹เชฐเซเชŸ เชŸเซ…เช—เซเชธ. เช…เชจเซ‡ เช…เชฎเซ‡ เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เชธเซเชŸเซ‡เช•เชฎเชพเช‚ เช† เชชเชนเซ‡เชฒเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชถเซเช‚ เช…เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชธเช•เซเชฐเชฟเชฏเชชเชฃเซ‡ เชตเชฟเชšเชพเชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช.

เช—เซเชฐเซ‡เชซเชพเช‡เชŸ+เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ. เชตเชฟเชธเช‚เช—เชคเชคเชพ เชถเซ‹เชงเชจเชพเชฐ

เช‰เชชเชฐ เชตเชฐเซเชฃเชตเซ‡เชฒ เช‡เชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเชพ เช†เชงเชพเชฐเซ‡, เช…เชฎเซ‡ เชตเชฟเชธเช‚เช—เชคเชคเชพ เชถเซ‹เชงเชจเชพเชฐเชจเซ‹ เชชเซเชฐเซ‹เชŸเซ‹เชŸเชพเช‡เชช เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซเชฏเซ‹ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡! เชชเชฐเช‚เชคเซ เชนเชตเซ‡ เชชเช›เซ€เชจเชพ เชฒเซ‡เช–เชฎเชพเช‚ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชตเชงเซ.

เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌ เช•เชฐเซ‹, เช‰เชชเชฐ เชคเซ€เชฐ เชฆเชฌเชพเชตเซ‹ เช…เชจเซ‡ เช–เซเชถ เชฐเชนเซ‹!

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹