рд╢реБрднреЗрдЪреНрдЫрд╛, рдирдорд╕реНрдХрд╛рд░.
рдЬрд░ рдХреЛрдгреА рд╡реНрдпрд╡рд╕реНрдереЗрдЪреЗ рд╢реЛрд╖рдг рдХрд░рдд рдЕрд╕реЗрд▓
рдХреНрд▓рд┐рдХрд╣рд╛рдКрд╕ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕реЛрдбрд╡рддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡реНрд╣рд┐рд╕реНрдкрд░рдордзреВрди 2TiB рдбреЗрдЯрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рддреЗ 300GiB рдордзреНрдпреЗ рдмрд╕рддрд╛рдд. рдореА рддрдкрд╢реАрд▓рд╡рд╛рд░ рддреБрд▓рдирд╛ рдХрд░рдгрд╛рд░ рдирд╛рд╣реА; рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рднрд░рдкреВрд░ рд▓реЗрдЦ рдЖрд╣реЗрдд. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЕрд▓реАрдХрдбреЗ рдкрд░реНрдпрдВрдд, рдЖрдордЪреНрдпрд╛ рдХреНрд▓рд┐рдХрд╣рд╛рдКрд╕ рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╣ рд╕рд░реНрд╡рдХрд╛рд╣реА рдкрд░рд┐рдкреВрд░реНрдг рдирд╡реНрд╣рддреЗ.
рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдЬрд╛рдЧреЗрд╕рд╣ рд╕рдорд╕реНрдпрд╛
рдкрд╣рд┐рд▓реНрдпрд╛ рджреГрд╖реНрдЯреАрдХреНрд╖реЗрдкрд╛рдд, рд╕рд░реНрд╡рдХрд╛рд╣реА рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рдЦрд╛рд▓реАрд▓ retention
), рдирдВрддрд░ рдЧреНрд░реЗрдлрд╛рдЗрдЯ-рд╡реЗрдмрд╕рд╛рдареА рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдмреЕрдХрдПрдВрдбрдЪреНрдпрд╛ рд╢рд┐рдлрд╛рд░рд╕реАрдиреБрд╕рд╛рд░ рдПрдХ рдЯреЗрдмрд▓ рддрдпрд╛рд░ рдХрд░рд╛:
рдХреЛрдгрддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ * рдХреБрдЯреБрдВрдмрд╛рдЪреНрдпрд╛ рдЗрдВрдЬрд┐рдирдЪреНрдпрд╛ рд╕рд╛рд░рдгреНрдпрд╛рдВрдордзреНрдпреЗ рдЗрдиреНрд╕рд░реНрдЯ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рдЖрдгрд┐ рдбреЗрдЯрд╛рдЪрд╛ рдкреБрдвреАрд▓ рдЬреАрд╡рди рдорд╛рд░реНрдЧ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.MergeTree рдХреНрд▓рд┐рдХрд╣рд╛рдКрд╕ (рд╡рд░реВрди рдШреЗрддрд▓реЗрд▓реЗ рдЪрд╛рд░реНрдЯ
- рдШрд╛рддрд▓реЗ
╨▒╨╗╨╛╨║
рдбреЗрдЯрд╛ рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╣реЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЖрд▓реЗ рд╣реЛрддреЗ.
- рдЕрд╢рд╛ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХрдЪреА рдбрд┐рд╕реНрдХрд╡рд░ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдХреА рдиреБрд╕рд╛рд░ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд▓реА рдЬрд╛рддреЗ.
ORDER BY
рдЯреЗрдмрд▓ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ. - рд╡рд░реНрдЧреАрдХрд░рдг рдХреЗрд▓реНрдпрд╛рдирдВрддрд░,
╨║╤Г╤Б╨╛╨║
(part
) рдбреЗрдЯрд╛ рдбрд┐рд╕реНрдХрд╡рд░ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рддреЛ.
- рд╕рд░реНрд╡реНрд╣рд░ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореАрдд рдореЙрдирд┐рдЯрд░ рдХрд░рддреЛ рдЬреЗрдгреЗрдХрд░реВрди рдЕрд╕реЗ рдмрд░реЗрдЪ рддреБрдХрдбреЗ рдирд╛рд╣реАрдд рдЖрдгрд┐ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рд▓рд╛рдБрдЪ рдХрд░рддреЗ
╤Б╨╗╨╕╤П╨╜╨╕╤П
(merge
, рдпрд╛рдирдВрддрд░ рд╡рд┐рд▓реАрди рдХрд░рд╛).
- рдордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╡рд╛рд╣рдгреЗ рдерд╛рдВрдмрддрд╛рдЪ рд╕рд░реНрд╡реНрд╣рд░ рд╕реНрд╡рддрдГрдЪ рд╡рд┐рд▓реАрдиреАрдХрд░рдг рдЪрд╛рд▓реВ рдХрд░рдгреЗ рдерд╛рдВрдмрд╡рддреЛ
╨┐╨░╤А╤В╨╕╤Ж╨╕╤О
(partition
), рдкрд░рдВрддреБ рддреБрдореНрд╣реА рдХрдорд╛рдВрдбрд╕рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддрд╛OPTIMIZE
. - рдЬрд░ рд╡рд┐рднрд╛рдЬрдирд╛рдордзреНрдпреЗ рдлрдХреНрдд рдПрдХ рддреБрдХрдбрд╛ рд╢рд┐рд▓реНрд▓рдХ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдХрдорд╛рдВрдбрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдорд░реНрдЬ рдЪрд╛рд▓рд╡реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА; рддреБрдореНрд╣реА рд╡рд╛рдкрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
OPTIMIZE ... FINAL
рддрд░, рдкреНрд░рдердо рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдпреЗрддрд╛рдд. рдЖрдгрд┐ рддреЗ рдХрд╛рд╣реА рдЬрд╛рдЧрд╛ рдШреЗрддрд╛рдд. рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдШрдЯрдирд╛ рдЕрдиреЗрдХ рдШрдЯрдХрд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдХрд╛рд╣реА рдкреНрд░рдорд╛рдгрд╛рдд рдмрджрд▓реВ рд╢рдХрддрд╛рдд:
- рд╡рд┐рднрд╛рдЬрди рдХреА рдПрдХрддрд░ рдЦреВрдк рд▓рд╣рд╛рди (рдПрдХ рджрд┐рд╡рд╕) рдХрд┐рдВрд╡рд╛ рдЦреВрдк рдореЛрдареА (рдЕрдиреЗрдХ рдорд╣рд┐рдиреЗ) рдЕрд╕реВ рд╢рдХрддреЗ.
- рд░рд┐рдЯреЗрдиреНрд╢рди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рдХреНрд░рд┐рдп рд╡рд┐рднрд╛рдЬрдирд╛рдордзреНрдпреЗ (рдЬреЗрдереЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд) рдЕрдиреЗрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдереНрд░реЗрд╢реЛрд▓реНрдбрдордзреНрдпреЗ рдмрд╕реВ рд╢рдХрддрд╛рдд рдХрд┐рдВрд╡рд╛ рдХрджрд╛рдЪрд┐рдд рдирд╛рд╣реА.
- рдЬрд░ рднрд░рдкреВрд░ рдбреЗрдЯрд╛ рдЕрд╕реЗрд▓, рддрд░ рд╕рд░реНрд╡рд╛рдд рдЬреБрдиреЗ рднрд╛рдЧ, рдЬреЗ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рд╡рд┐рд▓реАрдиреАрдХрд░рдгрд╛рдореБрд│реЗ рдЖрдзреАрдЪ рдЦреВрдк рдореЛрдареЗ рдЕрд╕реВ рд╢рдХрддрд╛рдд (рдЬрд░ рддреБрдореНрд╣реА рдиреЙрди-рдЗрд╖реНрдЯрддрдо рд╡рд┐рднрд╛рдЬрди рдХреА рдирд┐рд╡рдбрд▓реНрдпрд╛рд╕), рддреЗ рддрд╛рдЬреНрдпрд╛ рд▓рд╣рд╛рди рддреБрдХрдбреНрдпрд╛рдВрдордзреНрдпреЗ рд╡рд┐рд▓реАрди рд╣реЛрдгрд╛рд░ рдирд╛рд╣реАрдд.
рдЖрдгрд┐ рддреЛ рдиреЗрд╣рдореА рд╕рд╛рд░рдЦрд╛рдЪ рд╕рдВрдкрддреЛ. ClickHouse рдордзреАрд▓ рдореЗрдЯреНрд░рд┐рдХреНрд╕рдиреЗ рд╡реНрдпрд╛рдкрд▓реЗрд▓реА рдЬрд╛рдЧрд╛ рдлрдХреНрдд рддреЗрд╡реНрд╣рд╛рдЪ рд╡рд╛рдврддреЗ рдЬреЗрд╡реНрд╣рд╛:
- рд▓рд╛рдЧреВ рдХрд░реВ рдирдХрд╛
OPTIMIZE ... FINAL
рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рдХрд┐рдВрд╡рд╛ - рд╕рддрддрдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░ рд╕рд░реНрд╡ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░реВ рдирдХрд╛, рдЬреЗрдгреЗрдХрд░реВрди рд▓рд╡рдХрд░рдЪ рдХрд┐рдВрд╡рд╛ рдирдВрддрд░ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдПрдХрддреНрд░реАрдХрд░рдг рд╕реБрд░реВ рд╣реЛрдИрд▓
рджреБрд╕рд░реА рдкрджреНрдзрдд рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреА рдЖрд╣реЗ рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдЖрдгрд┐ рдореНрд╣рдгреВрдирдЪ, рддреА рдЪреБрдХреАрдЪреА рдЖрд╣реЗ рдЖрдгрд┐ рдкреНрд░рдердо рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛.
рдореА рдПрдХ рдЕрдЧрджреА рд╕реЛрдкреА рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣рд┐рд▓реА рдЬреА рдЧреЗрд▓реНрдпрд╛ 4 рд╡рд░реНрд╖рд╛рдВрдкрд╛рд╕реВрди рдкреНрд░рддреНрдпреЗрдХ рджрд┐рд╡рд╕рд╛рд╕рд╛рдареА рдбрдореА рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкрд╛рдард╡рддреЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд╕рд╛рд▓рд╛ рдХреНрд░реЙрди рдЪрд╛рд▓рд╡рддреЗ.
рдХреНрд▓рд┐рдХрд╣рд╛рдКрд╕ рдбреАрдмреАрдПрдордПрд╕рдЪреЗ рд╕рдВрдкреВрд░реНрдг рдСрдкрд░реЗрд╢рди рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдХреА рд╣реА рдкреНрд░рдгрд╛рд▓реА рд▓рд╡рдХрд░рдЪ рдХрд┐рдВрд╡рд╛ рдирдВрддрд░ рд╕рд░реНрд╡ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдХрд╛рд░реНрдп рдХрд░реЗрд▓, рдкрд░рдВрддреБ рд╣реЗ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА рдХреА рдЬреБрдиреЗ рдореЛрдареЗ рддреБрдХрдбреЗ рдХрдзреА рд╡рд┐рд▓реАрди рд╣реЛрддреАрд▓ рддреНрдпрд╛ рдХреНрд╖рдгрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреНрдпрд╛рд╕ рдореА рдЕрдХреНрд╖рдо рд╣реЛрддреЛ. рдирд╡реАрди рд▓рд╣рд╛рди. рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЭрд╛рд▓реЗ рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдХреНрддреАрдиреЗ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ рд╢реЛрдзрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ.
рдХреНрд▓рд┐рдХрд╣рд╛рдКрд╕ рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓рдордзреАрд▓ рдорд╛рд╣рд┐рддреА
рдЪрд▓рд╛ рдЯреЗрдмрд▓рдЪреНрдпрд╛ рд╕рдВрд░рдЪрдиреЗрд╡рд░ рдПрдХ рдирдЬрд░ рдЯрд╛рдХреВрдпрд╛
- db рдирд╛рд╡ (
database
); - рдЯреЗрдмрд▓ рдирд╛рд╡ (
table
); - рд╡рд┐рднрд╛рдЬрдирд╛рдЪреЗ рдирд╛рд╡ рдЖрдгрд┐ рдЖрдпрдбреА (
partition
&partition_id
); - рдЬреЗрд╡реНрд╣рд╛ рддреБрдХрдбрд╛ рддрдпрд╛рд░ рдЭрд╛рд▓рд╛ (
modification_time
); - рдПрдХрд╛ рддреБрдХрдбреНрдпрд╛рдд рдХрд┐рдорд╛рди рдЖрдгрд┐ рдХрдорд╛рд▓ рддрд╛рд░реАрдЦ (рд╡рд┐рднрд╛рдЬрди рджрд┐рд╡рд╕рд╛рдиреБрд╕рд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ) (
min_date
&max_date
);
рдПрдХ рдЯреЗрдмрд▓ рджреЗрдЦреАрд▓ рдЖрд╣реЗ
- db рдирд╛рд╡ (
Tables.database
); - рдЯреЗрдмрд▓ рдирд╛рд╡ (
Tables.table
); - рдореЗрдЯреНрд░рд┐рдХ рд╡рдп рдЬреЗрд╡реНрд╣рд╛ рдкреБрдвреАрд▓ рдПрдХрддреНрд░реАрдХрд░рдг рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рд╡реЗ (
age
);
рдореНрд╣рдгреВрди:
- рдЖрдордЪреНрдпрд╛рдХрдбреЗ рднрд╛рдЧрд╛рдВрдЪреЗ рд╕рд╛рд░рдгреА рдЖрдгрд┐ рдПрдХрддреНрд░реАрдХрд░рдг рдирд┐рдпрдорд╛рдВрдЪреЗ рд╕рд╛рд░рдгреА рдЖрд╣реЗ.
- рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдЪреЗ рдЫреЗрджрдирдмрд┐рдВрджреВ рдПрдХрддреНрд░ рдХрд░рддреЛ рдЖрдгрд┐ рд╕рд░реНрд╡ рдЯреЗрдмрд▓ *GraphiteMergeTree рдорд┐рд│рд╡рддреЛ.
- рдЖрдореНрд╣реА рд╕рд░реНрд╡ рд╡рд┐рднрд╛рдЬрдиреЗ рд╢реЛрдзрдд рдЖрд╣реЛрдд рдЬреНрдпрд╛рдд:
- рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рддреБрдХрдбрд╛
- рдХрд┐рдВрд╡рд╛ рдкреБрдвреАрд▓ рдПрдХрддреНрд░реАрдХрд░рдг рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ, рдЖрдгрд┐
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
. рдЕрдВрддрд┐рдо рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╣реЗ рддрдереНрдп рджреЗрдЦреАрд▓ рд▓рдХреНрд╖рд╛рдд рдШреЗрддреЗ рдХреА рд╕рдХреНрд░рд┐рдп рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧрд╕рд╣ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдирд╛ рд╕реНрдкрд░реНрд╢ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.
рдкреНрд░рдХрд▓реНрдк рдиреЗрдордХреЗ рд╣реЗрдЪ рдХрд░рддреЛ
рддреБрдореНрд╣реА рдХреНрд▓рд┐рдХрд╣рд╛рдКрд╕рд╕рд╣ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рд╕, рддреЗ рдлрдХреНрдд рдбрд┐рдорди рдореЛрдбрдордзреНрдпреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрд▓. рдПрдХ рддрд╛рд╕рд╛рдиреЗ рдПрдХрджрд╛ рд╡рд┐рдирдВрддреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓, рддреАрди рджрд┐рд╡рд╕рд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬреБрдиреА рдирд╡реАрди рд╡рд┐рднрд╛рдЬрдиреЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рддрд╛ рдпреЗрддреАрд▓ рдХрд╛ рддреЗ рддрдкрд╛рд╕рдд рдЖрд╣реЗ.
рдЖрдордЪреА рддрд╛рддреНрдХрд╛рд│ рдпреЛрдЬрдирд╛ рдХрд┐рдорд╛рди рдбреЗрдм рдкреЕрдХреЗрдЬреЗрд╕ рдЖрдгрд┐ рд╢рдХреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрд░рдкреАрдПрдо рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЖрд╣реЗрдд.
рддреНрдпрд╛рдРрд╡рдЬреА рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖
рдЧреЗрд▓реНрдпрд╛ 9+ рдорд╣рд┐рдиреНрдпрд╛рдВрдд рдореА рдорд╛рдЭреНрдпрд╛ рдХрдВрдкрдиреАрдд рдЖрд╣реЗ
рд╡рд┐рдирдВрддреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рд▓реАрдЯрд░ рдмрд┐рдЕрд░ рдЖрдгрд┐ рдкреНрд░рд╢рд╛рд╕рди рджрд┐рд╡рд╕ рдЦрд░реНрдЪ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ
рд╕реНрддреНрд░реЛрдд: www.habr.com