рдореЗрдЯреНрд░рд┐рдХреНрд╕ рднрдгреНрдбрд╛рд░рдг: рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА Graphite+Whisper рдмрд╛рдЯ Graphite+ClickHouse рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдпреМрдВ

рдирдорд╕реНрддреЗ рд╕рдмреИ! рдЙрдирдХреЛ рдорд╛ рдЕрдиреНрддрд┐рдо рд▓реЗрдЦ рдореИрд▓реЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХреЛ рд▓рд╛рдЧрд┐ рдореЛрдбреНрдпреБрд▓рд░ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд▓реЗрдЦреЗред рдХреЗрд╣рд┐ рдкрдирд┐ рд╕реНрдерд┐рд░ рдЫреИрди, рд╣рд╛рдореНрд░реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░рдиреНрддрд░ рдмрдвреНрджреИ рдЫ, рд░ рднрдгреНрдбрд╛рд░рдг рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдкрдирд┐ рдЫред рд╣рд╛рдореАрд▓реЗ рдЙрдЪреНрдЪ рд▓реЛрдб рдЕрд╡рд╕реНрдерд╛рд╣рд░реВрдорд╛ Graphite+Whisper рдмрд╛рдЯ Graphite+ClickHouse рдорд╛ рд╕рдВрдХреНрд░рдордг рдХрд╕рд░реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдпреМрдВ, рдпрд╕рдмрд╛рдЯ рдЕрдкреЗрдХреНрд╖рд╛рд╣рд░реВ рд░ рдХрдЯреМрддреА рдЕрдиреНрддрд░реНрдЧрдд рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХреЛ рдирддрд┐рдЬрд╛рд╣рд░реВ рдкрдвреНрдиреБрд╣реЛрд╕реНред

рдореЗрдЯреНрд░рд┐рдХреНрд╕ рднрдгреНрдбрд╛рд░рдг: рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА Graphite+Whisper рдмрд╛рдЯ Graphite+ClickHouse рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдпреМрдВ

рд╣рд╛рдореАрд▓реЗ рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рд╡реНрд╣рд┐рд╕реНрдкрд░рдмрд╛рдЯ рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ рдЯреНрд░рд╛рдиреНрдЬрд┐рд╕рдирд▓рд╛рдИ рдХрд╕рд░реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдпреМрдВ рднрдиреА рдмрддрд╛рдЙрди рдЕрдШрд┐, рдо рдпрд╕реНрддреЛ рдирд┐рд░реНрдгрдп рд▓рд┐рдиреБрдХреЛ рдХрд╛рд░рдгрд╣рд░реВ рд░ рд╣рд╛рдореА рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рд╡реНрд╣рд┐рд╕реНрдкрд░рдХрд╛ рдмреЗрдлрд╛рдЗрджрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рджрд┐рди рдЪрд╛рд╣рдиреНрдЫреБред

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рд╡реНрд╣рд┐рд╕реНрдкрд░ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ

1. рдбрд┐рд╕реНрдХ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЙрдЪреНрдЪ рднрд╛рд░

рд╕рдВрдХреНрд░рдордгрдХреЛ рд╕рдордпрдорд╛, рд▓рдЧрднрдЧ 1.5 рдорд┐рд▓рд┐рдпрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рддрд┐ рдорд┐рдиреЗрдЯ рд╣рд╛рдореАрдорд╛ рдЖрдЗрдкреБрдЧреЗрдХреЛ рдерд┐рдпреЛред рдпрд╕реНрддреЛ рдкреНрд░рд╡рд╛рд╣рдХреЛ рд╕рд╛рде, рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ ~ 30% рдерд┐рдпреЛред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдпреЛ рдПрдХрджрдо рд╕реНрд╡реАрдХрд╛рд░реНрдп рдерд┐рдпреЛ - рд╕рдмреИ рдХреБрд░рд╛ рд╕реНрдерд┐рд░ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдпреЛ, рдЪрд╛рдБрдбреИ рд▓реЗрдЦрд┐рдпреЛ, рдЪрд╛рдБрдбреИ рдкрдврд┐рдпреЛ... рдЬрдмрд╕рдореНрдо рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАрд╣рд░реВ рдордзреНрдпреЗ рдПрдХрд▓реЗ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛ рд░реЛрд▓ рдЖрдЙрдЯ рдЧрд░реНрджреИрди рд░ рд╣рд╛рдореАрд▓рд╛рдИ рдкреНрд░рддрд┐ рдорд┐рдиреЗрдЯ 10 рдорд┐рд▓рд┐рдпрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкрдард╛рдЙрди рдерд╛рд▓реЗред рддреНрдпреЛ рд╣реЛ рдЬрдм рдбрд┐рд╕реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрдбрд╛ рднрдпреЛ, рд░ рд╣рд╛рдореАрд▓реЗ 100% рдЙрдкрдпреЛрдЧ рджреЗрдЦреНрдпреМрдВред рд╕рдорд╕реНрдпрд╛ рдЪрд╛рдБрдбреИ рд╣рд▓ рднрдпреЛ, рддрд░ рдЕрд╡рд╢реЗрд╖ рдмрд╛рдБрдХреА рдерд┐рдпреЛред

2. рдкреНрд░рддрд┐рдХреГрддрд┐ рд░ рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдЕрднрд╛рд╡

рд╕рдореНрднрд╡рддрдГ, рдЧреНрд░реЗрдлрд╛рдЗрдЯ + рд╡реНрд╣рд┐рд╕реНрдкрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ/рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдмреИрдЬрд╕реНрддреИ, рд╣рд╛рдореАрд▓реЗ рддреНрд░реБрдЯрд┐ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдзреЗрд░реИ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рдПрдЙрдЯреИ рд╕реНрдЯреНрд░рд┐рдо рдПрдХреИ рдкрдЯрдХ рдЦрдиреНрдпрд╛рдпреМрдВред рд░ рдпрд╕рд╕рдБрдЧ рдХреБрдиреИ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдерд┐рдПрдирдиреН - рд╕рд░реНрднрд░рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдХреБрдиреИ рдХрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдХреНрд░реНрдпрд╛рд╕ рднрдПрдХреЛ рдХреНрд╖рдг рд╕рдореНрдоред рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рд╣рд╛рдореАрд▓реЗ рдЭрд░реЗрдХреЛ рд╕рд░реНрднрд░рд▓рд╛рдИ рдЫрд┐рдЯреЛ рдЫрд┐рдЯреЛ рдЙрдард╛рдЙрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдпреМрдВ, рд░ рдХрд╛рд░реНрдмрди-рд╕реА-рд░рд┐рд▓реЗрд▓реЗ рдпрд╕рдХреЛ рдХреНрдпрд╛рд╕рдмрд╛рдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд▓реЛрдб рдЧрд░реНрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдпреМрдВ, рддрд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рд╣реЛрдЗрдиред рд░ рддреНрдпрд╕рдкрдЫрд┐ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдорд╛ рдПрдЙрдЯрд╛ рдкреНрд╡рд╛рд▓ рдерд┐рдпреЛ, рдЬреБрди рд╣рд╛рдореАрд▓реЗ rsync рд▓реЗ рднрд░реНрдпреМрдВред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдХреИ рд▓рд╛рдореЛ рдерд┐рдпреЛред рдПрдХ рдорд╛рддреНрд░ рдмрдЪрдд рдЕрдиреБрдЧреНрд░рд╣ рдерд┐рдпреЛ рдХрд┐ рдпреЛ рдзреЗрд░реИ рд╡рд┐рд░рд▓реИ рднрдпреЛред рд╣рд╛рдореАрд▓реЗ рдЖрд╡рдзрд┐рдХ рд░реВрдкрдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рдЕрдирд┐рдпрдорд┐рдд рд╕реЗрдЯ рдкрдирд┐ рд▓рд┐рдпреМрдВ рд░ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рдЫрд┐рдореЗрдХреА рдиреЛрдбрд╣рд░реВрдорд╛ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░рдХрд╛ рдЕрд░реВрд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрдпреМрдВред рд▓рдЧрднрдЧ 5% рдХреЗрд╕рд╣рд░реВрдорд╛, рдзреЗрд░реИ рдорд╛рдирд╣рд░реВ рдлрд░рдХ рдерд┐рдП, рдЬреБрди рд╣рд╛рдореА рдзреЗрд░реИ рдЦреБрд╕реА рдерд┐рдПрдиреМрдВред

3. рдареВрд▓реЛ рдкрджрдЪрд┐рд╣реНрди

рд╣рд╛рдореА рдЧреНрд░реЗрдлрд╛рдЗрдЯрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рд╡реНрдпрд╛рдкрд╛рд░ рдореЗрдЯреНрд░рд┐рдХреНрд╕ (рд░ рдЕрдм Kubernetes рдмрд╛рдЯ рдкрдирд┐ рдореЗрдЯреНрд░рд┐рдХреНрд╕) рд▓реЗрдЦреНрдиреЗ рд╣реБрдирд╛рд▓реЗ, рд╣рд╛рдореА рдкреНрд░рд╛рдпрдГ рдпрд╕реНрддреЛ рдЕрд╡рд╕реНрдерд╛ рдкрд╛рдЙрдБрдЫреМрдВ рдЬрд╕рдорд╛ рдореЗрдЯреНрд░рд┐рдХрд▓реЗ рдХреЗрд╣реА рдорд╛рдирд╣рд░реВ рдорд╛рддреНрд░ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рд░ .wsp рдлрд╛рдЗрд▓ рд╕рдмреИ рд░рд┐рдЯреЗрдиреНрд╕рдирд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдиреНрдЫред рдЕрд╡рдзрд┐, рд░ рдкреВрд░реНрд╡-рд╡рд┐рдирд┐рдпреЛрдЬрди рдЧрд░рд┐рдПрдХреЛ рдард╛рдЙрдБ рд▓рд┐рдиреНрдЫ, рдЬреБрди рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ ~2MB рдерд┐рдпреЛред рд╕рдорд╕реНрдпрд╛ рдпрд╕ рддрдереНрдпрд▓реЗ рдЕрдЭ рдмрдвреЗрдХреЛ рдЫ рдХрд┐ рдзреЗрд░реИ рд╕рдорд╛рди рдлрд╛рдИрд▓рд╣рд░реВ рд╕рдордпрдХреЛ рд╕рд╛рде рджреЗрдЦрд╛ рдкрд░реНрджрдЫ, рд░ рддрд┐рдиреАрд╣рд░реВрдорд╛ рд░рд┐рдкреЛрд░реНрдЯрд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджрд╛, рдЦрд╛рд▓реА рдмрд┐рдиреНрджреБрд╣рд░реВ рдкрдвреНрди рдзреЗрд░реИ рд╕рдордп рд░ рд╕реНрд░реЛрддрд╣рд░реВ рд▓рд╛рдЧреНрдЫред

рдо рддреБрд░реБрдиреНрддреИ рдиреЛрдЯ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ рдХрд┐ рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд░ рдкреНрд░рднрд╛рд╡рдХрд╛рд░рд┐рддрд╛рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдбрд┐рдЧреНрд░реАрд╣рд░реВрд╕рдБрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддрд░ рддрдкрд╛рдИрдВрд▓реЗ рдЬрддрд┐ рдзреЗрд░реИ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдерд╛рд▓реНрдиреБрднрдпреЛ, рддреНрдпрддрд┐ рдиреИ рдЦрд░рд╛рдм рд╣реБрдБрджреИ рдЬрд╛рдиреНрдЫред

рдорд╛рдерд┐рдХрд╛ рд╕рдмреИ рднрдПрдХреЛ (рд╡рд┐рдЧрддрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ рд▓реЗрдЦ), рд╕рд╛рдереИ рдкреНрд░рд╛рдкреНрдд рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдирд┐рд░рдиреНрддрд░ рд╡реГрджреНрдзрд┐, 30 рд╕реЗрдХреЗрдиреНрдбрдХреЛ рднрдгреНрдбрд╛рд░рдг рдЕрдиреНрддрд░рд╛рд▓рдорд╛ рд╕рдмреИ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рдЗрдЪреНрдЫрд╛ред (рдЖрд╡рд╢реНрдпрдХ рднрдПрдорд╛ резреж рд╕реЗрдХреЗрдиреНрдб рд╕рдореНрдо), рд╣рд╛рдореАрд▓реЗ рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓рд╛рдИ рд╡реНрд╣рд┐рд╕реНрдкрд░рдХреЛ рдЖрд╢рд╛рдЬрдирдХ рд╡рд┐рдХрд▓реНрдкрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ред рдЕрдкреЗрдХреНрд╖рд╛рд╣рд░реВ

Yandex рдмрд╛рдЯ рдХреЗрдЯрд╛рд╣рд░реВрдХреЛ рдзреЗрд░реИ рднреЗрдЯрдШрд╛рдЯрд╣рд░реВ рднреНрд░рдордг рдЧрд░реНрджреИ, рдкрдвреЗрд░ Habr├й рдорд╛ рд▓реЗрдЦ рдХреЛ рдПрдХ рдЬреЛрдбреА, рдХрд╛рдЧрдЬрд╛рддрдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рдЧрдПрд░ рд░ Graphite рдЕрдиреНрддрд░реНрдЧрдд ClickHouse рдмрд╛рдЗрдиреНрдбрд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдордЭрджрд╛рд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рдХрд╛рд░рдмрд╛рд╣реА рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВ!

рдо рдирд┐рдореНрди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ:

  • рдбрд┐рд╕реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧ 30% рдмрд╛рдЯ 5% рдорд╛ рдШрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН;
  • 1TB рдмрд╛рдЯ 100GB рд╕рдореНрдо рдУрдЧрдЯреЗрдХреЛ рдард╛рдЙрдБрдХреЛ рдорд╛рддреНрд░рд╛ рдШрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН;
  • рд╕рд░реНрднрд░рдорд╛ рдкреНрд░рддрд┐ рдорд┐рдиреЗрдЯ 100 рдорд┐рд▓рд┐рдпрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реЛрд╕реН;
  • рдбрд╛рдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рд░ рдмрд╛рдХрд╕ рдмрд╛рд╣рд┐рд░ рдЧрд▓реНрддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛;
  • рдпрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдПрдХ рд╡рд░реНрд╖рд╕рдореНрдо рдирдмрд╕реНрдиреБрд╣реЛрд╕реН рд░ рдЙрдЪрд┐рдд рд╕рдордпрд╕реАрдорд╛ рднрд┐рддреНрд░ рд╕рдВрдХреНрд░рдордг рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдмрд┐рдирд╛ рд╕реНрд╡рд┐рдЪред

рдПрдХрджрдо рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА, рд╣реИрди?

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ред рдЕрд╡рдпрд╡рд╣рд░реВ

рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдкреНрд░реЛрдЯреЛрдХрд▓ рдорд╛рд░реНрдлрдд рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд░ рдкрдЫрд┐ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рд░реЗрдХрд░реНрдб рдЧрд░реНрди, рдореИрд▓реЗ рдЪрдпрди рдЧрд░реЗрдВ рдХрд╛рд░реНрдмрди рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ (рдЧреЛрд▓рд╛рдЩ)ред

ClickHouse рдХреЛ рдкрдЫрд┐рд▓реНрд▓реЛ рд░рд┐рд▓реАрдЬ, рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг 1.1.54253, рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд░реВрдкрдорд╛ рдЫрдиреЛрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдпрд╕рдХреЛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрджрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдерд┐рдП: рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рдкрд╣рд╛рдб рд▓рдЧрд╣рд░реВрдорд╛ рдЦрдиреНрдпрд╛рдпреЛ, рд░ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдХреЗ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕реНрдкрд╖реНрдЯ рдерд┐рдПрдиред рд╕рдБрдЧ рдЫрд▓рдлрд▓рдорд╛ рдЫ рд░реЛрдорди рд▓реЛрдореЛрдиреЛрд╕реЛрд╡ (рдХрд╛рд░реНрдмрди-рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕, рдЧреНрд░реЗрдлрд╛рдЗрдЯ-рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рд░ рдзреЗрд░реИ, рдзреЗрд░реИрдХрд╛ рд▓реЗрдЦрдХ) рдкреБрд░рд╛рдиреЛ рдПрдХ рдЫрд╛рдирд┐рдПрдХреЛ рдерд┐рдпреЛ рд░рд┐рд▓реАрдЬ 1.1.54236ред рддреНрд░реБрдЯрд┐рд╣рд░реВ рдЧрд╛рдпрдм рднрдпреЛ - рд╕рдмреИ рдХреБрд░рд╛ рдПрдХ рдзрдорд╛рдХрд╛ рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрди рдерд╛рд▓реЗред

рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдмрд╛рдЯ рдбрд╛рдЯрд╛ рдкрдвреНрди рдЪрдпрди рдЧрд░рд┐рдпреЛ рдЧреНрд░реЗрдлрд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рд╣рд╛рдЙрд╕ (рдЧреЛрд▓рд╛рдЩ)ред рдЧреНрд░реЗрдлрд╛рдЗрдЯ - рдХреЛ рд▓рд╛рдЧрд┐ API рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдмрдирдкреА (рдЧреЛрд▓рд╛рдЩ)ред ClickHouse рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдмреАрдЪ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рдЪрд┐рдбрд┐рдпрд╛рдЦрд╛рдирд╛ред рд░рд╛рдЙрдЯрд┐рдВрдЧ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдкреНрд░рд┐рдпрд▓рд╛рдИ рдЫреЛрдбреНрдпреМрдВ рдХрд╛рд░реНрдмрди-рд╕реА-рд░рд┐рд▓реЗ (рд╕реА) (рдЕрдШрд┐рд▓реНрд▓реЛ рд▓реЗрдЦ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН).

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ред рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛

"рдЧреНрд░реЗрдлрд╛рдЗрдЯ" рд╣рд╛рдореАрд▓реЗ рдЕрдиреБрдЧрдорди рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╣реЛред

"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 рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдпреМрдВ

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ред рдбрд╛рдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╕рди

рд╣рд╛рдореАрд▓реЗ рдпрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдмрд╛рдЯ рдЕрдкреЗрдХреНрд╖рд╛рд╣рд░реВрдмрд╛рдЯ рдпрд╛рдж рдЧрд░реЗрдЭреИрдВ, рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рдЯреНрд░рд╛рдиреНрдЬрд┐рд╕рди рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдмрд┐рдирд╛ рд╣реБрдиреБрдкрд░реНрдЫ; рддрджрдиреБрд╕рд╛рд░, рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░рд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдХреЗрд╕рдореНрдо рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдкрдорд╛ рд╣рд╛рдореНрд░реЛ рд╕рдореНрдкреВрд░реНрдг рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рдирдпрд╛рдБ рднрдгреНрдбрд╛рд░рдгрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рдерд┐рдпреЛред
рд╣рд╛рдореАрд▓реЗ рдпрд╕рд░реА рдЧрд░реНрдпреМрдВред

  • ClickHouse рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐рдорд╛ рднрд╛рдЧ рд▓рд┐рдиреЗ рд╕рд░реНрднрд░рд╣рд░реВ рдордзреНрдпреЗ рдПрдХрдХреЛ рдХрд╛рд░реНрдмрди-рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░рд┐рдо рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдмрди-рд╕реА-рд░рд┐рд▓реЗрдорд╛ рдПрдЙрдЯрд╛ рдирд┐рдпрдо рдердкрд┐рдПрдХреЛ рдЫред

  • рд╣рд╛рдореАрд▓реЗ рдкрд╛рдЗрдердирдорд╛ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗрдЦреНрдпреМрдВ, рдЬрд╕рд▓реЗ рд╡реНрд╣рд┐рд╕реНрдкрд░-рдбрдореНрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рд╣рд╛рдореНрд░реЛ рднрдгреНрдбрд╛рд░рдгрдмрд╛рдЯ рд╕рдмреИ .wsp рдлрд╛рдЗрд▓рд╣рд░реВ рдкрдвреНрдереНрдпреМрдВ рд░ рдпреЛ рдбрд╛рдЯрд╛рд▓рд╛рдИ 24 рдереНрд░реЗрдбрд╣рд░реВрдорд╛ рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдХрд╛рд░реНрдмрди-рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рдкрдард╛рдпреЛред рдХрд╛рд░реНрдмрди-рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рд╕реНрд╡реАрдХреГрдд рдореЗрдЯреНрд░рд┐рдХ рдорд╛рдирд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ 125 рдорд┐рд▓рд┐рдпрди/рдорд┐рдиреЗрдЯ рдкреБрдЧреНрдпреЛ, рд░ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓реЗ рдкрд╕рд┐рдирд╛ рдкрдирд┐ рддреЛрдбреЗрдиред

  • рд╣рд╛рдореАрд▓реЗ рдЕрд╡рд╕реНрдерд┐рдд рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рдбрд┐рдмрдЧ рдЧрд░реНрди Grafana рдорд╛ рдЫреБрдЯреНрдЯреИ рдбрд╛рдЯрд╛ рд╕реНрд░реЛрдд рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдпреМрдВред рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХрд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕реВрдЪреА рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдпреМрдВ, рддрд░ рддреА рдХрд╛рд░реНрдмреЛрдирд╛рдкреАрдорд╛ рд▓рд╛рдЧреВ рднрдПрдирдиреНред рд╣рд╛рдореАрд▓реЗ рдпреА рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдердкреНрдпреМрдВ рд░ рдХрд╛рд░реНрдмреЛрдирд╛рдкреАрдХрд╛ рд▓реЗрдЦрдХрд╣рд░реВрд▓рд╛рдИ PR рдкрдард╛рдпреМрдВ (рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж)ред

  • рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдкрдвреНрдиреЗ рд▓реЛрдб рдмрджрд▓реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рдЧреНрд░реЗрдлрд╛рдЗрдЯ-рдПрдкреАрдЖрдИ (рдЧреНрд░реЗрдлрд╛рдЗрдЯ + рд╡реНрд╣рд┐рд╕реНрдкрд░рдХреЛ рд▓рд╛рдЧрд┐ рдПрдкреАрдЖрдИ рдЗрдиреНрдЯрд░рдлреЗрд╕) рдмрд╛рдЯ рдХрд╛рд░реНрдмреЛрдирд╛рдкреАрдорд╛ рдЕрдиреНрддреНрдп рдмрд┐рдиреНрджреБрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдпреМрдВред

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ред рдкрд░рд┐рдгрд╛рдорд╣рд░реВ

  • рдбрд┐рд╕реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧ 30% рдмрд╛рдЯ 1% рдорд╛ рдШрдЯрд╛рдЗрдпреЛ;

    рдореЗрдЯреНрд░рд┐рдХреНрд╕ рднрдгреНрдбрд╛рд░рдг: рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА Graphite+Whisper рдмрд╛рдЯ Graphite+ClickHouse рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдпреМрдВ

  • 1 TB рдмрд╛рдЯ 300 GB рд╕рдореНрдо рдУрдЧрдЯреЗрдХреЛ рдард╛рдЙрдБрдХреЛ рдорд╛рддреНрд░рд╛ рдШрдЯрд╛рдЗрдпреЛ;
  • рд╣рд╛рдореАрд╕рдБрдЧ рд╕рд░реНрднрд░рдорд╛ рдкреНрд░рддрд┐ рдорд┐рдиреЗрдЯ резреирел рдорд┐рд▓рд┐рдпрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдЫ (рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХреЛ рд╕рдордпрдорд╛ рд╢рд┐рдЦрд░рд╣рд░реВ);
  • рддреАрд╕-рд╕реЗрдХреЗрдиреНрдб рднрдгреНрдбрд╛рд░рдг рдЕрдиреНрддрд░рд╛рд▓рдорд╛ рд╕рдмреИ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рдпреЛ;
  • рдкреНрд░рд╛рдкреНрдд рдбрд╛рдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рд░ рдЧрд▓реНрддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛;
  • рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдмрд┐рдирд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░рд┐рдпреЛ;
  • рд╕рдмреИ рдХреБрд░рд╛ рдкреВрд░рд╛ рдЧрд░реНрди рд▓рдЧрднрдЧ 7 рд╣рдкреНрддрд╛ рд▓рд╛рдЧреНрдпреЛред

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ред рд╕рдорд╕реНрдпрд╛рд╣рд░реВ

рд╣рд╛рдореНрд░реЛ рдорд╛рдорд▓рд╛ рдорд╛, рддреНрдпрд╣рд╛рдБ рдХреЗрд╣реА рддреНрд░реБрдЯрд┐рд╣рд░реВ рдерд┐рдПред рд╕рдВрдХреНрд░рдордгрдХрд╛рд▓рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ рднреЛрдЧреЗрдХреЛ рдпрд╣реА рд╣реЛ ред

  1. рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓реЗ рд╕рдзреИрдВ рдлреНрд▓рд╛рдИрдорд╛ рдХрдиреНрдлрд┐рдЧрд╣рд░реВ рдкреБрди: рдкрдвреНрджреИрди; рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдпрд╕рд▓рд╛рдИ рд░рд┐рдмреБрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, ClickHouse рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ zookeeper рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд╡рд┐рд╡рд░рдгрдХреЛ рдорд╛рдорд▓рд╛рдорд╛, clickhouse-рд╕рд░реНрднрд░ рд░рд┐рдмреБрдЯ рдирднрдПрд╕рдореНрдо рдпреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдиред
  2. рдареВрд▓рд╛ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкреВрд░рд╛ рднрдПрдирдиреН, рддреНрдпрд╕реИрд▓реЗ рдЧреНрд░реЗрдлрд╛рдЗрдЯ-рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рд╣рд╛рдореНрд░реЛ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдЬрдбрд╛рди рд╕реНрдЯреНрд░рд┐рдЩ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:
    url = "http://localhost:8123/?max_query_size=268435456&max_ast_elements=1000000"
  3. рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓реЗ рдкреНрд░рд╛рдпрдГ рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╣рд░реВрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдЬрд╛рд░реА рдЧрд░реНрджрдЫ; рддрд┐рдиреАрд╣рд░реВрдорд╛ рдЖрд╢реНрдЪрд░реНрдпрд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫрдиреН: рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреБрд╣реЛрд╕реНред
  4. kubernetes рдорд╛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХрд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрд▓реЗ рдЫреЛрдЯреЛ рд░ рдЕрдирд┐рдпрдорд┐рдд рдЬреАрд╡рдирдХрд╛рд▓рдХреЛ рд╕рд╛рде рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рдкрдард╛рдЙрдБрдЫрдиреНред рддреНрдпрд╣рд╛рдБ рддреНрдпрд╕реНрддрд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдмрд┐рдиреНрджреБрд╣рд░реВ рдЫреИрдирдиреН, рд░ рдард╛рдЙрдБрд╕рдБрдЧ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЫреИрдирдиреНред рддрд░ рдкреНрд░рд╢реНрдирд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджрд╛, рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓реЗ 'рдореЗрдЯреНрд░рд┐рдХреНрд╕' рддрд╛рд▓рд┐рдХрд╛рдмрд╛рдЯ рдпреА рдЙрд╣реА рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ рдЙрдард╛рдЙрдБрдЫред 90% рдХреЗрд╕рд╣рд░реВрдорд╛, рд╡рд┐рдиреНрдбреЛ (24 рдШрдгреНрдЯрд╛) рднрдиреНрджрд╛ рдмрд╛рд╣рд┐рд░ рддрд┐рдиреАрд╣рд░реВрдорд╛ рдХреБрдиреИ рдбрд╛рдЯрд╛ рдЫреИрдиред рддрд░ 'рдбреЗрдЯрд╛' рддрд╛рд▓рд┐рдХрд╛рдорд╛ рдпреЛ рдбрд╛рдЯрд╛ рдЦреЛрдЬреНрди рд╕рдордп рдмрд┐рддрд╛рдЗрдиреНрдЫ, рд░ рдЕрдиреНрддрддрдГ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫред рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рджрд┐рдирдХреЛ рд╕рдордпрдорд╛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдорд╛ рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд░рд╛рдЦреНрди рдерд╛рд▓реНрдпреМрдВред рдпрд╕реИрд▓реЗ, рдЬрдм рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХрд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд░рд┐рдкреЛрд░реНрдЯрд╣рд░реВ (рдЧреНрд░рд╛рдлрд╣рд░реВ) рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдЫреМрдВ, рд╣рд╛рдореА рддреА рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рдорд╛рддреНрд░ рд╕реЛрдзреНрдЫреМрдВ рдЬреБрди рджрд┐рдЗрдПрдХреЛ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рднрд┐рддреНрд░ рд╕рд╛рдордирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рд░ рд╕рдореНрдкреВрд░реНрдг рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛрдЗрди, рдЬрд╕рд▓реЗ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд░реВрдкрдорд╛ рддрд┐рдиреАрд╣рд░реВрдорд╛ рд░рд┐рдкреЛрд░реНрдЯрд╣рд░реВрдХреЛ рдирд┐рд░реНрдорд╛рдгрд▓рд╛рдИ рдЧрддрд┐ рджрд┐рдиреНрдЫред рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рдзрд╛рдирдХреЛ рд▓рд╛рдЧрд┐, рдореИрд▓реЗ рд╕рдЩреНрдХрд▓рди рдЧрд░реЗрдВ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ (рдлреЛрд░реНрдХ), рдЬрд╕рдорд╛ date_metrics рддрд╛рд▓рд┐рдХрд╛рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдорд╛рд╡реЗрд╢ рдЫред

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ред рдЯреНрдпрд╛рдЧрд╣рд░реВ

рд╕рдВрд╕реНрдХрд░рдг 1.1.0 рд╕рдВрдЧ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рднрдпреЛ рд╕рдорд░реНрдерди рдЯреНрдпрд╛рдЧрд╣рд░реВред рд░ рд╣рд╛рдореА рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдпрд╕ рдкрд╣рд▓рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рдХреЗ рд░ рдХрд╕рд░реА рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рд╕реЛрдЪрд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВред

рдЧреНрд░реЗрдлрд╛рдЗрдЯ+рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ред рд╡рд┐рд╕рдВрдЧрддрд┐ рдбрд┐рдЯреЗрдХреНрдЯрд░

рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рдЖрдзрд╛рд░рд┐рдд, рд╣рд╛рдореАрд▓реЗ рд╡рд┐рд╕рдВрдЧрддрд┐ рдбрд┐рдЯреЗрдХреНрдЯрд░рдХреЛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд▓рд╛рдЧреВ рдЧрд░реЗрдХрд╛ рдЫреМрдВ, рд░ рдпрд╕рд▓реЗ рдХрд╛рдо рдЧрд░реНрдЫ! рддрд░ рдЕрд░реНрдХреЛ рд▓реЗрдЦрдорд╛ рдЙрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдердкред

рд╕рджрд╕реНрдпрддрд╛ рд▓рд┐рдиреБрд╣реЛрд╕реН, рдорд╛рдерд┐ рддреАрд░ рдерд┐рдЪреНрдиреБрд╣реЛрд╕реН рд░ рдЦреБрд╕реА рд╣реБрдиреБрд╣реЛрд╕реН!

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди