4 рдХреЙрд▓рдо рдореЗрдВ рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ рдХреЙрд▓рдо рднрд╛рдЧ (1 рднрд╛рдЧ)

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдРрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреНрд╡реЗрд░реА рдЬреЛ рдХреБрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдЙрддреНрдкрд╛рджрди рдФрд░ рд╕рдорд░реНрдерди рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдкрд░ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рджреЛрдиреЛрдВ рдорд╛рдирд╡ рдФрд░ рдорд╢реАрдиред

рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдореИрдВ 52,608,000 рд░рд┐рдХреЙрд░реНрдб рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред

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

рдЬрдЯрд┐рд▓ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рдирд┐рдпрдорд┐рдд рддрд╛рд▓рд┐рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕реНрд░реЛрдд рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдкрд╛рдардХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ OLTP рдФрд░ OLAP рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реАрдзреЗ Columnstore рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдЕрд░реНрде рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ

рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг


рдпрд╣рд╛рдБ рдореИрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реВрдБ, рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рдкрд░, рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рджреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ: OLTP рдФрд░ OLAPред

OLTP - рддреБрд░рдВрдд рд▓реЗрдирджреЗрди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдХрдо рд▓реЗрдирджреЗрди рдХреЗ рдСрдирд▓рд╛рдЗрди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдСрд░реНрдбрд░ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛, рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдпрд╛ рд╣рдЯрд╛рдирд╛ред рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рдСрд░реНрдбрд░ рдмрд╣реБрдд рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдЖрдк рдЖрдзреБрдирд┐рдХ рдЖрд░рдбреАрдмреАрдПрдордПрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рдЧрд╛рдП рдЧрдП рд▓рдВрдмреЗ рддрд╛рд▓реЗ рд╕реЗ рдбрд░ рдирд╣реАрдВ рд╕рдХрддреЗред

OLAP - рдПрдХ рд╕рдордп рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓реЗрдирджреЗрди рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдИ рднреА рд░рд┐рдкреЛрд░реНрдЯ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд░рд┐рдкреЛрд░реНрдЯ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░рд╛рдВрд╢, рдХреБрд▓ рдЖрдВрдХрдбрд╝реЗ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЕрдкрдиреА рддрдХрдиреАрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, OLTP рдХреЗ рд▓рд┐рдП рдпрд╣ PostgreSQL рд╣реИ, рдФрд░ OLAP рдХреЗ рд▓рд┐рдП рдпрд╣ Microsoft SQL рд╕рд░реНрд╡рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛рдПрдБ рд╣реИред рдЬрдмрдХрд┐ PostgresSQL рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, OLAP рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд╡рд░реВрдкреЛрдВ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпреЗ рдмрд╣реБрдЖрдпрд╛рдореА рдЯреЗрдмрд▓ рд╣реИрдВ, рдХреА-рд╡реИрд▓реНрдпреВ рдкреЗрдпрд░ рдФрд░ рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рд╕реЗ рднрд░реА рд╣реБрдИ рдмрд╛рд▓реНрдЯреАред рдиреАрдЪреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рджреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


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

рддреЛ, рдУрдПрд▓рдЯреАрдкреА рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯреЗрдмрд▓ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИрдВред рдпреЗ рджреЛ рдЙрдкрдХрд░рдг рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдмреЙрдХреНрд╕ рдСрдлрд┐рд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рд╣реИрдВред рдЕрдиреБрдХреНрд░рдорд┐рдд рдкрд╣рд▓реЗ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдСрд░реНрдбрд░ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдСрд░реНрдбрд░ рдмрджрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдиреЗрддрд╛ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкреНрд░рддрд┐ рджрд┐рди рд╕рдВрдЪрд┐рдд рдбреЗрдЯрд╛ рдХреА рдкреВрд░реА рдорд╛рддреНрд░рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдкреНрд░рдмрдВрдзрдХ рдХреЛ рд╕рднреА рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдмреЙрдХреНрд╕ рдСрдлрд┐рд╕ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд┐рддрдирд╛ рдкреИрд╕рд╛ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд▓рдВрдЪ рдмреНрд░реЗрдХ рд╣реЛрдиреЗ рдкрд░ рдЯрд┐рдХрдЯ рдСрдлрд┐рд╕ рдХрд╣рд╛рдВ рдерд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЖрджрд┐ред рдУрдПрд▓рдПрдкреА рддрдм рдореМрдЬреВрдж рд╣реИ, рддрд╛рдХрд┐ рдХрдо рд╕рдордп рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рдгрд╛рд▓реА рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреЗ - рдкреНрд░рддреНрдпреЗрдХ рдЖрджреЗрд╢ рдХреЗ рдХреНрд░рдорд┐рдХ рдкрдврд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдЙрд╕рдХреЗ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрдВрдкрдиреА рдкреВрд░реА рдХрдорд╛рдИ рдореЗрдВ рдХрд┐рддрдиреА рд╣реИред рдХреНрдпрд╛ OLAP рд╕рдорд╛рди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ OLTP рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреНрдпреЛрдВрдХрд┐ OLAP рдХреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рджрд░реНрдЬ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рджреЛ-рдЖрдпрд╛рдореА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдЕрдХреНрд╕рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдмрд┐рдЦрд░реА рд░рд╣рддреА рд╣реИ, рдЬреЛ рдЙрдирдХреЗ рдХрдИ рд╕рдВрдШреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрд╡-рд╢рд╛рдорд┐рд▓ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдШ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╡реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдпреЛрдЬрдирд╛ рдУрдПрд▓рдПрдкреА рд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ, рд╕рд╛рде рд╣реА рдУрдПрд▓рдЯреАрдкреА рд▓реЛрдб рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдпреЛрдЬрдирд╛ рд╣реИред

рдЬрдм OLAP рдПрдХ OLTP рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕ рдЦрдВрдб рдХреЛ рдкреЗрд╢ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рд▓реЗрдЦ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗ, рдЕрд░реНрдерд╛рддреНред рд╕рдорд╕реНрдпрд╛, рд╕рдорд╛рдзрд╛рди, рдирд┐рд╖реНрдХрд░реНрд╖ред

рд╣рдо рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП OLTP рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВред

  • рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реВрдЪрдХрд╛рдВрдХред

    рдЕрдХреНрд╕рд░, рдЖрдкрдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпреЗ рдЗрдВрдбреЗрдХреНрд╕ рдПрдХ OLAP рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдХреАрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЖрд╡реЗрджрди рдХреЗ рдУрдПрд▓рдЯреАрдкреА рднрд╛рдЧ рджреНрд╡рд╛рд░рд╛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрд╕ рдкрд░ рдПрдХ рднрд╛рд░ рдмрдврд╝рд╛рддреЗ рд╣реБрдП, рдирд┐рд░рдВрддрд░ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рд▓реЗрддреА рд╣реИред
  • рдбреЗрдЯрд╛ рд░реАрдб рдХреА рдорд╛рддреНрд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
  • рдПрдХ рд╕реНрдкрд╖реНрдЯ рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрднрд╛рд╡ред

    рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЕрдХреНрд╕рд░ рдПрдХ рд╣реА рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдЬрд╛рдирдХрд╛рд░реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдлреИрд▓ рдЬрд╛рддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдордХреНрдЦреА рдкрд░ рдирд┐рд░рдВрддрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд░рд╛рдЬрд╕реНрд╡ рдХреА рд░рд╛рд╢рд┐ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирдХрдж рдФрд░ рдЧреИрд░-рдирдХрдж рдзрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рдбреЗрдЯрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рд╣реИ рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЕрд░реНрде рдореЗрдВ рд╕рдорд╛рди рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЬрдм рдУрдПрд▓рдПрдкреА рдореЗрдВ рдСрди-рдж-рдлреНрд▓рд╛рдИ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпреЗ рдереЛрдбрд╝реА рдЕрд▓рдЧ рдЪреАрдЬреЗрдВ рд╣реИрдВред
  • рдЕрддреНрдпрдзрд┐рдХ рдХреНрд╡реЗрд░реА рдЬрдЯрд┐рд▓рддрд╛ред

    рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдУрдПрд▓рдЯреАрдкреА рдпреЛрдЬрдирд╛ рдПрдХ рдУрдПрд▓рдПрдкреА рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкрд░рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдУрдПрд▓рдЯреАрдкреА рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛ рдХреЛ рд╕рд╣реА рд░реВрдк рдореЗрдВ рд▓рд╛рддреА рд╣реИред
  • рд╕рдорд░реНрдерди, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреА рдЬрдЯрд┐рд▓рддрд╛ред

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

    рд╕рднреА рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдкрд┐рдпреЛрдВ рд╕реЗ рднрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░-рд╡рд┐рдорд░реНрд╢ рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рддрд┐рдпрд╛рдВ рддреЛрдбрд╝ рджреА рдЧрдИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдХ рд╕рд░рд▓ рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрдИ рдмрд╛рд░ рд╕рд░рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  • рдЕрдВрддрд╣реАрди рдкреНрд░рджрд░реНрд╢рди рдбрд┐рдмрдЧрд┐рдВрдЧред

    рдПрдХ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП "рднрд╛рд░реА" рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЖрджреЗрд╢ рджреЗрдЧрд╛ред рд╕рдордп рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ OLAP рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ, рд▓реЗрдХрд┐рди OLTP рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ OLAP рд╕рдВрд╕рд╛рдзрди рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред

Columnstore

рдпрд╣ рдЖрд▓реЗрдЦ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рд╕рдВрдЧреНрд░рд╣рдг рдкреНрд░рд╛рд░реВрдк рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд┐рдирд╛ред рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдк рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрдиреНрдп рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╖рдп рд╣реИред

рджрд░рдЕрд╕рд▓, рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдкреНрд░рд╛рд░реВрдк 30 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЖрд░рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреЙрд▓рдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рдПрдХ рдкреГрд╖реНрда рдкрд░ (рд╕рднреА рдЬреНрдЮрд╛рдд 8 Kb) рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рдмрджрд▓реЗ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рдеред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рди рдкрдврд╝рдиреА рдкрдбрд╝реЗред рдЖрдЗрдП рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ 10 рдлрд╝реАрд▓реНрдб рд╣реИрдВ рдФрд░ рдПрдХ рдХреНрд╡реЗрд░реА рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝реАрд▓реНрдб рд╣реИ рдЬреЛ рдХрд┐ SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреА рдЧрдИ рдПрдХ рдирд┐рдпрдорд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдереА, рддреЛ рд╕рд░реНрд╡рд░ рдХреЛ рд╕рднреА 10 рдлрд╝реАрд▓реНрдб рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреАред рдпрд╣ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рд╕рд░реНрд╡рд░ рдиреЗ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 9 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝реАред рд╕реНрддрдВрднрдХрд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рднрдВрдбрд╛рд░рдг рдкреНрд░рд╛рд░реВрдк рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ RDBMS рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рдпреВрдирд┐рдЯ рдПрдХ рдкреЗрдЬ рд╣реИред рдпрд╛рдиреА рд╕рд░реНрд╡рд░ рд╣рдореЗрд╢рд╛ рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреГрд╖реНрда рдкрдврд╝рддрд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдХрд┐рддрдиреЗ рдХреНрд╖реЗрддреНрд░ рдореМрдЬреВрдж рд╣реИрдВред

рдХреИрд╕реЗ Columnstore рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ


рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЪрд▓реЛ рдЙрдиреНрд╣реЗрдВ рд▓реЗ рдЖрдУред рд▓реЗрдХрд┐рди рдХреМрди рд╕реА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕рдЯреАрдХ рдЪрд┐рддреНрд░ рджреЗ рд╕рдХрддреА рд╣реИ?

  1. рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреА рдорд╛рддреНрд░рд╛ред
  2. рдХреНрд╡реЗрд░реА рдкреНрд░рджрд░реНрд╢рдиред
  3. рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ред
  4. рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЖрд╕рд╛рдиреАред
  5. рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдирдП рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдирдП рдХреМрд╢рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди


рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдбреЗрдЯрд╛ рд╕реЗ рднрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рд╕реНрдерд╛рди рд▓реЗрддрд╛ рд╣реИред

create foreign table cstore_table ( trd date, org int, op int, it int, wh int, m1 numeric(32, 2), m2 numeric(32, 2), m3 numeric(32, 2), m4 numeric(32, 2), m5 numeric(32, 2) ) server cstore_server options(compression 'pglz'); 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛, рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ PostgreSQL рдореЗрдВ рдмрд┐рд▓реНрдЯ-рдЗрди рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди PostgreSQL рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд┐рдВрдХред

  • pglz - рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;
  • trd - рд▓реЗрдирджреЗрди рдХрд╛ рд╕рдордп;
  • op, it, wh - рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдЕрдиреБрднрд╛рдЧ рдпрд╛ рдорд╛рдк;
  • рдПрдо 1, рдПрдо 2, рдПрдо 3, рдПрдо 4, рдПрдо 5 - рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдВрдХреЗрддрдХ рдпрд╛ рдЙрдкрд╛рдп;

рдЖрдЗрдП рдбреЗрдЯрд╛ рдХреА "рд╕рднреНрдп" рд░рд╛рд╢рд┐ рдбрд╛рд▓реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдбрд┐рд╕реНрдХ рдкрд░ рдХрд┐рддрдирд╛ рд╕реНрдерд╛рди рд╣реИред рдЙрд╕реА рд╕рдордп, рд╣рдо рдбрд╛рд▓рдиреЗ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдПрдХ рд╣реЛрдо рд▓реИрдкрдЯреЙрдк рдкрд░ рд░рдЦрд╛ рд╣реИ, рдореИрдВ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЬреИрд╡рд┐рдХ рд╣реВрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреЛ рдФрд░ рднреА рдЕрдЪреНрдЫрд╛ рд╣реИ, рдореИрдВ рдЕрддрд┐рдерд┐ рдУрдПрд╕ рдлреЗрдбреЛрд░рд╛ 30 рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдЪрдбреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдУрдПрд╕ рд╣реЛрд╕реНрдЯ - рд╡рд┐рдВрдбреЛрдЬ 10 рд╣реЛрдо рд╕рдВрд╕реНрдХрд░рдгред рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрдВрдЯреЗрд▓ рдХреЛрд░ 7. рдЧреЗрд╕реНрдЯ рдУрдПрд╕ рдореЗрдВ 4 рдЬреАрдмреА рд░реИрдо рдкреНрд░рд╛рдкреНрдд рд╣реБрдИред PostgreSQL рд╕рдВрд╕реНрдХрд░рдг - x86_64-pc-linux-gnu рдкрд░ PostgreSQL 10.10, gcc (GCC) рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд 9.1.1 20190503 (Red Hat 9.1.1-1), 64-рдмрд┐рдЯред рдореИрдВ рд░рд┐рдХреЙрд░реНрдб релреж ремрежред режрежреж рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред

 explain (analyze) insert into cstore_table select '2010-01-01'::date + make_interval(days => d) as trd , op , org , wh , it , 100 as m1 , 100 as m2 , 100 as m3 , 100 as m4 , 100 as m5 from generate_series(0, 1) as op cross join generate_series(1, 2) as org cross join generate_series(1, 3) as wh cross join generate_series(1, 4000) as it cross join generate_series(0, 1095) as d; 

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЬрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧреА
Cstore_table (рд▓рд╛рдЧрдд = 0.01..24902714242540.01 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 1000000000000000 рдЪреМрдбрд╝рд╛рдИ = 150) рдкрд░ рдбрд╛рд▓реЗрдВ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 119560.456..119560.456 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 0 рдЫреЛрд░ = 1)
----> рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк (рд▓рд╛рдЧрдд = 0.01..24902714242540.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000000000000000 рдЪреМрдбрд╝рд╛рдИ = 150) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 1.823..22339.976 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 52608000 рд▓реВрдк = 1)
----------> рдЬреЗрдирд░реЗрдЯ_рд╕реЗрд░реАрдЬ рдбреА рдкрд░ рдлрдВрдХреНрд╢рди рд╕реНрдХреИрди (рд▓рд╛рдЧрдд = 0.00..10.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.151..2.198 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1096 рд▓реВрдк = 1)
----------> рднреМрддрд┐рдХ (рд▓рд╛рдЧрдд = 0.01..27284555030.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000000000000 рдЪреМрдбрд╝рд╛рдИ = 16) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.002..3.196 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 48000 рд▓реВрдк = 1096)
----------------> рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк (рд▓рд╛рдЧрдд = 0.01..17401742530.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000000000000 рдЪреМрдбрд╝рд╛рдИ = 16) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 1.461..15.072 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 48000 рд▓реВрдк = 1)
----------------------> рдЗрд╕реЗ рдЬрдирд░реЗрдЯ_рд╕реЗрдЬрд╝ рдкрд░ рдлрдВрдХреНрд╢рди рд╕реНрдХреИрди (рд▓рд╛рдЧрдд = 0.00..10.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 1.159..2.007 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 4000 рд▓реВрдк = 1)
----------------------> рднреМрддрд┐рдХ (рд▓рд╛рдЧрдд = 0.01..26312333.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = рез,режрежреж,режрежреж рдЪреМрдбрд╝рд╛рдИ = резреи) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = реж.режрежреж. реж.режреж.резрез рдкрдВрдХреНрддрд┐рдпрд╛рдБ = резреи рд▓реВрдк = 4000)
----------------------------> рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк (рд▓рд╛рдЧрдд = 0.01..16429520.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1,000,000,000 рдЪреМрдбрд╝рд╛рдИ = 12) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.257) ..0.485 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 12 рдЫреЛрд░реЛрдВ = 1)
----------------------------------> рдлрдВрдХреНрд╢рди рд╕реНрдХреИрди рдЬреЗрдирд░реЗрдЯ_рд╕рд░реАрдЬ рд╡реНрд╣ (рд▓рд╛рдЧрдд = 0.00..10.00 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 1000) рдкрд░ рд╕реНрдХреИрди рдХрд░реЗрдВ рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.046..0.049 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 3 рдЫреЛрд░реЛрдВ = 1)
----------------------------------> рднреМрддрд┐рдХ (рд▓рд╛рдЧрдд = 0.01..28917.01 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 1,000,000 рдЪреМрдбрд╝рд╛рдИ = 8) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.070..0.139 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 4 рдЫреЛрд░реЛрдВ = 3)
---------------------------------------> рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк (рд▓рд╛рдЧрдд = 0.01..20010.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ) = 1000000 рдЪреМрдбрд╝рд╛рдИ = 8) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.173..0.366 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 4 рдЫреЛрд░ = 1)
-------------------------------------------> рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдкрд░ рдХрд╛рд░реНрдп рд╕реНрдХреИрди op_series рд╕реЗрд╢рди ( рд▓рд╛рдЧрдд = 0.00..10.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.076..0.079 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 2 рдЫреЛрд░реЗрдВ = 1)
---------------------------------------------> рдЬрдирд░реЗрдЯ_рд╕рд░реАрдЬ рдкрд░ рдлрдВрдХреНрд╢рди рд╕реНрдХреИрди org (рд▓рд╛рдЧрдд = 0.00..10.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.043..0.047 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 2 рдЫреЛрд░ = =)
рдпреЛрдЬрдирд╛ рд╕рдордп: 0.439 рдПрдордПрд╕
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 119692.051 рдПрдордПрд╕
рдХреБрд▓ рд▓реАрдб рд╕рдордп - 1.994867517 рдорд┐рдирдЯ

рдбреЗрдЯрд╛рд╕реЗрдЯ рдирд┐рд░реНрдорд╛рдг рд╕рдордп - 22.339976 рд╕реЗрдХрдВрдб

рд╕рдореНрдорд┐рд▓рди рдХрд╛ рд╕рдордп - 1.620341333 рдорд┐рдирдЯ

рдореИрдВрдиреЗ PostgreSQL рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрдХреАрди рдирд╣реАрдВ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ 0. рд╢рд╛рдпрдж рдпрд╣ рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдкрд░ рдХрдмреНрдЬрд╛ рдХреА рдорд╛рддреНрд░рд╛ 226.2 рдПрдордмреА рд╣реИред рдмрд╣реБрдд рдпрд╛ рдереЛрдбрд╝рд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдХрд░реЗрдВред

 explain (analyze) create table rbstore_table as select '2010-01-01'::date + make_interval(days => d) as trd , op , org , wh , it , 100 as m1 , 100 as m2 , 100 as m3 , 100 as m4 , 100 as m5 from generate_series(0, 1) as op cross join generate_series(1, 2) as org cross join generate_series(1, 3) as wh cross join generate_series(1, 4000) as it cross join generate_series(0, 1095) as d; 

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЬрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧреА
рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк (рд▓рд╛рдЧрдд = 0.01..22402714242540.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000000000000000 рдЪреМрдбрд╝рд╛рдИ = 44) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.585..23781.942 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 52608000 рд▓реВрдк = 1)
--- - рдлрдВрдХреНрд╢рди рд╕реНрдХреИрди рдЬрдирд░реЗрдЯ_рд╕рд░реАрдЬ рдкрд░ d (рд▓рд╛рдЧрдд = 0.00..10.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.091..2.130 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1096 рдЫреЛрд░ = 1)
--- - рднреМрддрд┐рдХ (рд▓рд╛рдЧрдд = 0.01..27284555030.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000000000000 рдЪреМрдбрд╝рд╛рдИ = 16) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.001..3.574 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 48000 рд▓реВрдк = 1096)
----------> рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк (рд▓рд╛рдЧрдд = 0.01..17401742530.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000000000000 рдЪреМрдбрд╝рд╛рдИ = 16) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.489..14.044 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 48000 рд▓реВрдк = 1)
----------------> рдлрдВрдХреНрд╢рди рд╕реНрдХреИрди рдЬреЗрдирд░реЗрдЯ_рд╕реЗрдЬрд╝ рдкрд░ рд╕реНрдХреИрди (рд▓рд╛рдЧрдд = 0.00..10.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.477..1.352 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 4000 рд▓реВрдк = 1 )
----------------> рднреМрддрд┐рдХ (рд▓рд╛рдЧрдд = 0.01..26312333.01 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 1000000000 рдЪреМрдбрд╝рд╛рдИ = 12) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.000..0.001 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 12 рдЫреЛрд░реЛрдВ = 4000)
----------------------> рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк (рд▓рд╛рдЧрдд = 0.01..16429520.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1,000,000,000 рдЪреМрдбрд╝рд╛рдИ = 12) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.010..0.019 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 12 рдЫреЛрд░реЛрдВ = 1)
----------------------------> рдлрдВрдХреНрд╢рди рд╕реНрдХреИрди рдЬреЗрдирд░реЗрдЯ_рд╕рд░реАрдЬ рдкрд░ рд▓рд╛рдЧрдд (рд▓рд╛рдЧрдд = 0.00..10.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.003..0.003 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 3 рдЫреЛрд░реЛрдВ = 1)
----------------------------> рднреМрддрд┐рдХ (рд▓рд╛рдЧрдд = 0.01..28917.01 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 1,000,000 рдЪреМрдбрд╝рд╛рдИ = 8) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.002)ред .0.004 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 4 рдЫреЛрд░реЛрдВ = 3)
----------------------------------> рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк (рд▓рд╛рдЧрдд = 0.01..20010.01 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1,000,000 рдЪреМрдбрд╝рд╛рдИ = 8 ) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.006..0.009 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 4 рд▓реВрдк = 1)
----------------------------------------> рдЬрдирд░реЗрдЯ рдСрдкреНтАНрд╢рди рдкрд░ рдлрдВрдХреНрд╢рди рд╕реНтАНрдХреИрди рдСрдк (рд▓рд╛рдЧрдд = 0.00) ..10.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.002..0.002 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 2 рдЫреЛрд░реЗрдВ = 1)
----------------------------------------> рдлрдВрдХреНрд╢рди рд╕реНрдХреИрди рдЬрдирд░реЗрдЯ_рдСрд░реНрдЧ рдСрд░реНрдЧрдиреНрд╕ (рд▓рд╛рдЧрдд = 0.00) рдкрд░ рд╕реНрдХреИрди рдХрд░реЗрдВ ..10.00 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 1000 рдЪреМрдбрд╝рд╛рдИ = 4) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.001..0.001 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 2 рдЫреЛрд░реЛрдВ = 2)
рдпреЛрдЬрдирд╛ рд╕рдордп: 0.569 рдПрдордПрд╕
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 378883.989 рдПрдордПрд╕
рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдкрд░ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рд╣рдореЗрдВ рдмреНрдпрд╛рдЬ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрд╡реЗрд╖рдг рдХреЛ рдорд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдХрд┐рддрдиреА рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдкрд░ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ 3.75 рдЬреАрдмреА рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред

рддреЛ, cstore_table - 226 MB, rbstore_table - 3.75 GBред 16.99 рдмрд╛рд░ рдХрд╛ рдЕрдВрддрд░ рд╣рдбрд╝рддрд╛рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдорд╛рди рдЕрдВрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рдХрд╛рд░рдгред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдЕрдВрддрд░ рдХрдо рд╣реЛрдЧрд╛ рдФрд░ рд▓рдЧрднрдЧ 5 рдЧреБрдирд╛ рд╣реЛрдЧрд╛ред

рд▓реЗрдХрд┐рди рд░реБрдХреЛ, рдХреЛрдИ рднреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдХреНрдпреЛрдВрдХрд┐ "рд░реЙ" рдбреЗрдЯрд╛ рд╣рдореЗрд╢рд╛ рд░рд╣реЗрдЧрд╛, рдЖрдкрдХреЛ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдПрдВред рдЗрд╕реЗ рджрд┐рдирд╛рдВрдХ рдлрд╝реАрд▓реНрдб рдФрд░ рдСрдкрд░реЗрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рд╣реЛрдиреЗ рджреЗрдВ - trd + opред

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рджреЛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛, рдФрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ 1583 рдПрдордмреА рд▓рд┐рдпрд╛, рдЬреЛ рдХрд┐ cstore_table рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рд▓реЗрдХрд┐рди, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, OLAP рд▓реЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реВрдЪрдХрд╛рдВрдХ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛ рдХрд┐ cstore_table рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрдХреНрд░рдордг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╕реЗ, рдПрдХ рд╕рд░рд▓ рдирд┐рд╖реНрдХрд░реНрд╖ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрд╡реЗрд░реА рдкреНрд░рджрд░реНрд╢рди


рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░рд╛рдВрд╢ рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рддреЗ рд╣реБрдП рдПрдХ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдПрдБред

 explain (analyze, costs, buffers) select sum(m1) from cstore_table where trd = '2011-01-01' and op = 1; 

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЬрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧреА
рдПрдЧреНрд░реАрдЧреЗрдЯ (рд▓рд╛рдЧрдд = 793602.69..793602.70 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЪреМрдбрд╝рд╛рдИ = 32) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 79.708..79.708 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЫреЛрд░ = 1)
- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 44226
--- - cstore_table (рд▓рд╛рдЧрдд = 0.00..793544.70 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 23197 рдЪреМрдбрд╝рд╛рдИ = 5) рдкрд░ рд╡рд┐рджреЗрд╢реА рд╕реНрдХреИрди (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 23.209..76.628 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 24000 рд▓реВрдк = 1)
-------- рдлрд╝рд┐рд▓реНрдЯрд░: ((trd = '2011-01-01' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (op = 1) 1
-------- рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛рдП рдЧрдП рдкрдВрдХреНрддрд┐рдпреЛрдВ: 26000
-------- CStore рдлрд╝рд╛рдЗрд▓: / var / lib / pgsql / 10 / data / cstore_fdw / 14028/16417
-------- CStore рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░: 120818897
-------- рдмрдлрд░: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 44226
рдпреЛрдЬрдирд╛ рд╕рдордп: 0.165 рдПрдордПрд╕
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 79.887 рдПрдордПрд╕
рдФрд░

 explain (analyze, costs, buffers) select sum(m1) from rbstore_table where trd = '2011-01-01' and op = 1; 

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЬрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧреА
рд╕рдХрд▓ (рд▓рд╛рдЧрдд = 40053.80..40053.81 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЪреМрдбрд╝рд╛рдИ = 8) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 389.183..389.183 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЫреЛрд░ = 1)
- рдмрдлрд╝рд░: рд╕рд╛рдЭрд╛ рдкрдврд╝рд╛ = 545
--- - rbstore_table (рд▓рд╛рдЧрдд = 0.56..39996.70 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 22841 рдЪреМрдбрд╝рд╛рдИ = 4) рдкрд░ trd_op_ix рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рд╕реНрдХреИрди рдХрд░реЗрдВ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 55.955..385.283 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 24000 рд▓реВрдкреНрд╕ - 1)
-------- рд╕реВрдЪрдХрд╛рдВрдХ рдХрдВрдбреЛрдо: ((trd = '2011-01-01 00:00:00' :: рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмрд┐рдирд╛ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк) рдФрд░ (рд╕реЗрд╢рди = 1))
-------- рдмрдлрд░: рд╕рд╛рдЭрд╛ рдкрдврд╝рд╛ = 545
рдпреЛрдЬрдирд╛ рд╕рдордп: 112.175 рдорд┐
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 389.219 рдПрдордПрд╕
389.219 рдПрдордПрд╕ рдмрдирд╛рдо 79.887 рдПрдордПрд╕ред рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рдорд╛рддреНрд░рд╛ рдкрд░ рднреА, рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рддреЗрдЬ рд╣реИред

рдЖрдЗрдП рдЕрдиреБрд░реЛрдз рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ рдкреВрд░реЗ 2011 рдХреЗ рд▓рд┐рдП рдЗрдХрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

 explain (analyze, costs, buffers) select sum(m1) from cstore_table where trd between '2011-01-01' and '2011-12-31' and op = 1; 

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЬрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧреА
рд╕рдХрд▓ (рд▓рд╛рдЧрдд = 946625.58..946625.59 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЪреМрдбрд╝рд╛рдИ = 32) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 3123.604..3123.604 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЫреЛрд░ = 1)
- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 44226
--- - cstore_table (рд▓рд╛рдЧрдд = 0.00..925064.70 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 8624349 рдЪреМрдбрд╝рд╛рдИ = 5) рдкрд░ рд╡рд┐рджреЗрд╢реА рд╕реНрдХреИрди (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 21.728..2100.665 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 8760000 рдЫреЛрд░реЛрдВ = 1)
-------- рдлрд╝рд┐рд▓реНрдЯрд░: ((trd> = '2011-01-01' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (trd <= '2011-12-31' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (op = 1))
-------- рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдХрд╛рд▓реА рдЧрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ: 8760000
-------- CStore рдлрд╝рд╛рдЗрд▓: / var / lib / pgsql / 10 / data / cstore_fdw / 14028/16411
-------- CStore рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░: 120818897
-------- рдмрдлрд░: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 44226
рдпреЛрдЬрдирд╛ рд╕рдордп: 0.212 рдорд┐
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 3123.960 рдПрдордПрд╕
рдФрд░

 explain (analyze, costs, buffers) select sum(m1) from rbstore_table where trd between '2011-01-01' and '2011-12-31' and op = 1; 

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЬрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧреА
рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдВ (рд▓рд╛рдЧрдд = 885214.33..885214.34 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЪреМрдбрд╝рд╛рдИ = 8) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 98512.560..98512.560 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЫреЛрд░ = 1)
- рдмрдлрд╝рд░: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 2565 рдкрдврд╝рд╛ = 489099
--- - рдЗрдХрдЯреНрдард╛ (рд▓рд╛рдЧрдд = 885214.12..885214.33 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 2 рдЪреМрдбрд╝рд╛рдИ = 8) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 98427.034..98523.194 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 3 рдЫреЛрд░ = 1)
-------- рд╢реНрд░рдорд┐рдХ рдирд┐рдпреЛрдЬрд┐рдд: реи
-------- рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП: 2
-------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 2565 рдкрдврд╝рд╛ = 489099
---------> рдЖрдВрд╢рд┐рдХ рд╕рдХрд▓ (рд▓рд╛рдЧрдд = 884214.12..884214.13 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЪреМрдбрд╝рд╛рдИ = 8) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 97907.608..97907.608 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЫреЛрд░ = 3)
-------------- рдмрдлрд░: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 2565 рдкрдврд╝рд╛ = 489099
---------------> rbstore_table (рд▓рд╛рдЧрдд = 0.00..875264.00 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 3580047 рдЪреМрдбрд╝рд╛рдИ = 4) рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ Seq рд╕реНрдХреИрди (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 40820.004..97405.250 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 292002 рд▓реВрдк = 3)
--------------------- рдлрд╝рд┐рд▓реНрдЯрд░: ((trd> = '2011-01-01 00:00:00' :: рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдмрд┐рдирд╛ рд╕рдордп рдХреНрд╖реЗрддреНрд░) рдФрд░ Trd <= '2011-12-31 00:00:00' :: рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмрд┐рдирд╛ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк) рдФрд░ (рд╕реЗрд╢рди = 1)
-------------------- рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛рдП рдЧрдП рдкрдВрдХреНрддрд┐рдпреЛрдВ: 14616000
-------------------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 2565 рдкрдврд╝рд╛ = 489099
рдпреЛрдЬрдирд╛ рд╕рдордп: 7.899 рдорд┐
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 98523.278 рдПрдордПрд╕
98523.278 рдПрдордПрд╕ рдмрдирд╛рдо 3123.960 рдПрдордПрд╕ред рд╢рд╛рдпрдж рдПрдХ рдЖрдВрд╢рд┐рдХ рд╕реВрдЪрдХрд╛рдВрдХ рд╣рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЬреЛрдЦрд┐рдо рдореЗрдВ рди рдбрд╛рд▓рдирд╛ рдФрд░ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкрдВрдХреНрддрд┐рдмрджреНрдз рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рддреИрдпрд╛рд░ рдорд╛рди рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдореИрдиреБрдЕрд▓ рд╕рдореБрдЪреНрдЪрдп


рдореИрдиреБрдЕрд▓ рд╕рдореБрдЪреНрдЪрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рдВрд░рдЪрдирд╛ рдПрдХ рдирд┐рдпрдорд┐рдд row_based рддрд╛рд▓рд┐рдХрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреВрд░реНрд╡рдЧрд╛рдореА рдореВрд▓реНрдп рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ 1 рдХреЗ рдмрд░рд╛рдмрд░ рдСрдкрд░реЗрд╢рди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде 2011 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЦреЗрддреЛрдВ рдореЗрдВ рдПрдо 1, рдПрдо 2, рдПрдо 3, рдПрдо 4 рдФрд░ рдПрдо 5 рдЗрди рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдореБрдЪреНрдЪрдп рдФрд░ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдореВрд╣ рд╣реЛрдиреЗ рд╕реЗ, рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╢реНрди рдЕрднреВрддрдкреВрд░реНрд╡ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, Microsoft SQL рд╕рд░реНрд╡рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдкреВрд░реНрд╡-рдкрд░рд┐рдХрд▓рд┐рдд рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЧрд╣рд░рд╛рдИ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдпрджреЗ рд╣реИрдВ:

  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╡рд┐рд╢реНрд▓реЗрд╖рдгред

    рдХреГрдкрдпрд╛ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╡рд┐рд╢реНрд▓реЗрд╖рдг" рд╢рдмреНрдж рдХреЛ рднреНрд░рдорд┐рдд рди рдХрд░реЗрдВред рдпрд╣рд╛рдВ рд╣рдо рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпреВрдирд┐рдЯ рдХрд╛ рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИред

    рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкреНрд▓рд╕ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рддрдереНрдп рдмрдирд╛ рд╣реБрдЖ рд╣реИред рд╕рдорд╛рдзрд╛рди рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдРрд╕реА рд╣реИ рдХрд┐ рдЗрдХрд╛рдЗрдпрд╛рдВ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ "рддрд╛рдЬрд╛" рд░рд╣рддреА рд╣реИрдВред
  • рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рд╕реЗ рдкреВрд░реНрдг рд╕реНрд╡рддрдВрддреНрд░рддрд╛ред

    рдпрд╣ рдмрд╣реБрдд рдЧрдВрднреАрд░ рдкреНрд▓рд╕ рд╣реИред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХрд┐рддрдирд╛ рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдХреБрд▓ред
  • рд╕рд╛рдкреЗрдХреНрд╖ рдЬрдЯрд┐рд▓рддрд╛ред

    рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдФрд░ рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдорд╛рдзрд╛рди рдХреЛ рдбреАрдмреАрдПрдордПрд╕ рд╕реНрддрд░ рдкрд░ рдЙрдиреНрдирдд рддрдХрдиреАрдХреЛрдВ рдЬреИрд╕реЗ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдФрд░ рдореИрдиреБрдЕрд▓ рд▓реЙрдХ рдкреНрд░рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХрдард┐рдирд╛рдИред

    рдпрд╣рд╛рдВ рд╣рдо рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдг рджреЛрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдХреЛ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИред
  • рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╡реГрджреНрдзрд┐ред


рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ


рдпрд╣рд╛рдВ рд╣рдореЗрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЧреЛрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреНрдпрд╛ рд╣реИред

рдЙрджреНрдпрдо рдХрд╛ рдФрд╕рдд рд╕рд┐рд░ рд▓реЗрдВред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд╣ рджреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИ: "рдЗрд╕ рд╕рдордп рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдЪрд▓ рд░рд╣реА рд╣реИрдВ?" рдФрд░ "рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ?"

рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП "рдЗрд╕ рд╕рдордп рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдЪрд▓ рд░рд╣реА рд╣реИрдВ" рд╣рдореЗрдВ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдбреЗрдЯрд╛ рдХреА рдмрд┐рд▓реНрдХреБрд▓ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдпрд╛рдиреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рдПрдХ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдХреИрд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ред

рдкрд▓реНрд╕ рдкрд░ рдЙрдВрдЧрд▓реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╡рд╛рд▓ рдЕрдХреНрд╕рд░ рдкреВрдЫрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдСрдкрд░реЗрд╢рдирд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкрд░рд┐рдЪрд╛рд▓рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬрд▓реНрджреА рд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдЙрдЪреНрдЪ рдорд╛рдВрдЧ рд░рдЦрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдРрд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЖрдЧреЗ рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдо рд╕реЗ рдХрдо рдЗрддрдирд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдгрд╛рд▓реА рд╣реА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдмрдиреА рд╣реБрдИ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдо рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдкрд░рд┐рдЪрд╛рд▓рди рдбреЗрдЯрд╛ рдФрд░ рдРрддрд┐рд╣рд╛рд╕рд┐рдХред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдУрд░ рд╕реЗ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд┐рд╕ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рдЗрди рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╕рдВрднрд╛рд╡рдирд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЙрднрд░рд╛ рд╣реИред

рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд рдФрд░ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдкрд░рд┐рдЪрд╛рд▓рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдбреЗрдЯрд╛ рдЕрдХреНрд╕рд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЕрдзреАрди рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЙрдирдХреЗ рднрдВрдбрд╛рд░рдг рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкрд░рд┐рдЪрд╛рд▓рди рдбреЗрдЯрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдкреНрд░рд╛рд░реВрдк рдЙрдиреНрд╣реЗрдВ рдмреЗрд╣рддрд░ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╕реНрддрдВрдн рдХреЗ рд╕реНрд░реЛрдд рдкрд░ рдмреЛрд▓реНрдб рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд рд╕реНрд░реЛрдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред

рдЖрдЗрдП рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред

рдиреАрдЪреЗ рдореИрдВ рдореБрдЦреНрдп рдЧреЛрджрд╛рдо рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЦрдВрдб рд╕рдВрд▓рдЧреНрди рдХрд░рддрд╛ рд╣реВрдВред

 create table warehouse ( trd date, org int, op int, it int, wh int, m1 numeric(32, 2), m2 numeric(32, 2), m3 numeric(32, 2), m4 numeric(32, 2), m5 numeric(32, 2) ) partition by range(trd); create foreign table historycal_data ( trd date, org int, op int, it int, wh int, m1 numeric(32, 2), m2 numeric(32, 2), m3 numeric(32, 2), m4 numeric(32, 2), m5 numeric(32, 2) ) server cstore_server options(compression 'pglz'); insert into historycal_data select '2010-01-01'::date + make_interval(days => d) as trd , op , org , wh , it , 100 as m1 , 100 as m2 , 100 as m3 , 100 as m4 , 100 as m5 from generate_series(0, 1) as op cross join generate_series(1, 2) as org cross join generate_series(1, 3) as wh cross join generate_series(1, 4000) as it cross join generate_series(0, (1095 - 31)) as d; analyze historycal_data; create table operational_data as select ('2012-12-01'::date + make_interval(days => d))::date as trd , op , org , wh , it , 100::numeric(32, 2) as m1 , 100::numeric(32, 2) as m2 , 100::numeric(32, 2) as m3 , 100::numeric(32, 2) as m4 , 100::numeric(32, 2) as m5 from generate_series(0, 1) as op cross join generate_series(1, 2) as org cross join generate_series(1, 3) as wh cross join generate_series(1, 4000) as it cross join generate_series(0, 30) as d; create index trd_op_ix on operational_data (trd, op); analyze operational_data; alter table warehouse attach partition operational_data for values from ('2012-12-01') to ('2112-01-01'); alter table warehouse attach partition historycal_data for values from ('2010-01-01') to ('2012-12-01'); 

рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред рдЖрдЗрдП рдПрдХ рджреЛ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЖрдЗрдП рдЪрд╛рд▓реВ рдорд╣реАрдиреЗ рдХреЗ рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдСрд░реНрдбрд░ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВред

 explain (analyze, costs, buffers) select sum(m1) from warehouse where trd = '2012-12-01' and op = 1; 

рд╕рдХрд▓ (рд▓рд╛рдЧрдд = 15203.37..15203.38 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЪреМрдбрд╝рд╛рдИ = 32) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 17.320..17.320 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЫреЛрд░ = 1)
- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 3 рдкрдврд╝рд╛ = 515
--- (рдкрд░рд┐рд╢рд┐рд╖реНрдЯ = 532.59..15140.89 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 24991 рдЪреМрдбрд╝рд╛рдИ = 5) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 1.924..13.838 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 24000 рд▓реВрдк = 1)
------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 3 рдкрдврд╝рд╛ = 515
---------> рдСрдкрд░реЗрд╢рдирд▓_рдбреЗрдЯрд╛ рдкрд░ рдмрд┐рдЯрдореИрдк рд╣реАрдк рд╕реНрдХреИрди (рд▓рд╛рдЧрдд = 532.59..15140.89 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 24991 рдЪреМрдбрд╝рд╛рдИ = 5) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 1.924..11.992 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 24000 рд▓реВрдк = 1)
--------------- рдкреБрдирдГ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ: ((trd = '2012-12-01' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (op = 1))
--------------- рдвреЗрд░ рдмреНрд▓реЙрдХ: рд╕рдЯреАрдХ = 449
--------------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 3 рдкрдврд╝рд╛ = 515
----------------> рдмрд┐рдЯрдореИрдк рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди trd_op_ix (рд▓рд╛рдЧрдд = 0.00..526.34 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 24991 рдЪреМрдбрд╝рд╛рдИ = 0) рдкрд░ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 1.877..1.877 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 24000 рдЫреЛрд░реЛрдВ = 1 )
--------------------- рд╕реВрдЪрдХрд╛рдВрдХ рдХрдВрдбреЛрдо: ((trd = '2012-12-01' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (op = 1))
--------------------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 2 рдкрдврд╝рд╛ = 67
рдпреЛрдЬрдирд╛ рд╕рдордп: 0.388 рдПрдордПрд╕
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 100.941 рдПрдордПрд╕
рдЕрдм рд╣рдо рдкреВрд░реЗ 2012 рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдСрд░реНрдбрд░ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ 8,784,000 рд╣реИред

 explain (analyze, costs, buffers) select sum(m1) from warehouse where trd between '2012-01-01' and '2012-12-31' and op = 1; 
рд╕рдХрд▓ (рд▓рд╛рдЧрдд = 960685.82..960685.83 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЪреМрдбрд╝рд╛рдИ = 32) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 4124.681..4124.681 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЫреЛрд░ = 1)
- рдмрдлрд╝рд░: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 45591 рдкрдврд╝рд╛ = 11282
--- (рдкрд░рд┐рд╢рд┐рд╖реНрдЯ = 0.00..938846.60 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 8735687 рдЪреМрдбрд╝рд╛рдИ = 5) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 66.581..3036.394 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 8784000 рд▓реВрдк = 1)
--------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 45591 рдкрдврд╝рд╛ = 11282
----------> Historycal_data (рд▓рд╛рдЧрдд = 0.00..898899.60 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 7994117 рдЪреМрдбрд╝рд╛рдИ = 5) рдкрд░ рд╡рд┐рджреЗрд╢реА рд╕реНрдХреИрди (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 66.579..2193.801 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 8040000 рд▓реВрдк = 1)
--------------- рдлрд╝рд┐рд▓реНрдЯрд░: ((trd> = '2012-01-01' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (trd <= '2012-12-31' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (op = 1))
--------------- рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдХрд╛рд▓реА рдЧрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ: 8040000
--------------- CStore рдлрд╝рд╛рдЗрд▓: / var / lib / pgsql / 10 / data / cstore_fdw / 14028/16448
--------------- CStore рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░: 117401470
--------------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 42966
----------> рдСрдкрд░реЗрд╢рдирд▓_рдбреЗрдЯрд╛ рдкрд░ рд╕реАрдХ рд╕реНрдХреИрди (рд▓рд╛рдЧрдд = 0.00..39947.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 741570 рдЪреМрдбрд╝рд╛рдИ = 5) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.019..284.824 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 744000 рд▓реВрдк = 1)
--------------- рдлрд╝рд┐рд▓реНрдЯрд░: ((trd> = '2012-01-01' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (trd <= '2012-12-31' :: рджрд┐рдирд╛рдВрдХ) рдФрд░ (op = 1))
--------------- рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдХрд╛рд▓реА рдЧрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ: 744000
--------------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 2625 рдкрдврд╝рд╛ = 11282
рдпреЛрдЬрдирд╛ рд╕рдордп: 0.256 рдорд┐
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 4125.239 рдПрдордПрд╕
рдЕрдВрдд рдореЗрдВ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрдпрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдЗрд░рд╛рджреЗ рдХреЗ рдмрд┐рдирд╛, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рд▓реЗрдирджреЗрди рдкрд░ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЖрджреЗрд╢ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рдореЗрдВ 52 608 000 рд╣реИрдВред

 explain (analyze, costs, buffers) select sum(m1) from warehouse 

рдПрдЧреНрд░реАрдЧреЗрдЯ (рд▓рд╛рдЧрдд = 672940.20..672940.21 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЪреМрдбрд╝рд╛рдИ = 32) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 15907.886..15907.886 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1 рдЫреЛрд░ = 1)
- рдмрдлрд╝рд░: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 17075 рдкрдврд╝рд╛ = 11154
---> рдкрд░рд┐рд╢рд┐рд╖реНрдЯ (рд▓рд╛рдЧрдд = реж.режреж. релрезрекреиреж.реиреж рдкрдВрдХреНрддрд┐рдпрд╛рдБ = релреиремреж widthрежрежреж рдЪреМрдбрд╝рд╛рдИ = рел) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = реж.рез реп реи.реп рез.резрезрел.рекрек рдкрдВрдХреНрддрд┐рдпрд╛рдБ = релреиремреж000режрежреж рдЫреЛрд░ = рез)
--------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 17075 рдкрдврд╝рд╛ = 11154
----------> Historycal_data (рд▓рд╛рдЧрдд = 0.00..512633.20 рдкрдВрдХреНрддрд┐рдпреЛрдВ = 51120000 рдЪреМрдбрд╝рд╛рдИ = 5) рдкрд░ рд╡рд┐рджреЗрд╢реА рд╕реНрдХреИрди (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.191..5376.449 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 51120000 рд▓реВрдк = 1)
--------------- CStore рдлрд╝рд╛рдЗрд▓: / var / lib / pgsql / 10 / data / cstore_fdw / 14028/16448
--------------- CStore рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░: 117401470
--------------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 14322
----------> рдСрдкрд░реЗрд╢рдирд▓_рдбреЗрдЯрд╛ рдкрд░ рд╕реАрдХ рд╕реНрдХреИрди (рд▓рд╛рдЧрдд = 0.00..28787.00 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1488000 рдЪреМрдбрд╝рд╛рдИ = 5) (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп = 0.032..246.978 рдкрдВрдХреНрддрд┐рдпрд╛рдБ = 1488000 рд▓реВрдк = 1)
--------------- рдмрдлрд╝рд░реНрд╕: рд╕рд╛рдЭрд╛ рд╣рд┐рдЯ = 2753 рдкрдврд╝рд╛ = 11154
рдпреЛрдЬрдирд╛ рд╕рдордп: 0.157 рдПрдордПрд╕
рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп: 15908.096 рдПрдордПрд╕
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдЕрднреА рднреА рдЕрдкрдирд╛ рд▓реЗрдЦ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЬреИрд╕реЗ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред рдореБрдЭреЗ HDD рдФрд░ 4 GB RAM рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдирд╣реАрдВ-рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд▓реИрдкрдЯреЙрдк рдХреЛ рднреА рд░рд┐рдмреВрдЯ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдЕрдзрд┐рдХ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЕрдзреНрдпрдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛


рднрд╛рдЧ рдореЗрдВ, рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХрд╛ рд╕рд╣реА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореЗрд░рд╛ рд▓реИрдкрдЯреЙрдк рдЬреАрд╡рд┐рдд рд╣реИ, рдФрд░, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреЗ рдХрд╛рдо рдореЗрдВ рдХреЛрдИ рдордВрджреА рдирд╣реАрдВ рджреЗрдЦреАред

рдкрд╛рдардХ рдореБрдЭреЗ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рд╢реНрди рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рд╣реИ - рдмреИрдХрдЕрдк рд╕рдВрднрд╡ рд╣реИред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЖрд╕рд╛рдиреА


рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдПрдХ рд╕реНрддрдВрдн рдмрдирд╛рдиреЗ рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕реНрддрдВрдн рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╕рдордп, рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдХрдВрдкреНрд░реЗрд╢рди рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдирд┐рддрд╛рдВрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд░рдЪрдирд╛ рд╣реИред рдЙрдкрдпреБрдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдХреЗ, рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддреНрд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕реВрдЪрдирд╛ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХреА рдбрд┐рдЧреНрд░реА рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкрд░реЗрд╢рд╛рдиреА рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдПрдХреНрд╕рдЯреЗрдВрд╢рди 40 PostgreSQL рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡реЗрдмрд┐рдирд╛рд░ рдиреЗ PostgreSQL рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред

рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдирдИ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдирдП рдХреМрд╢рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП


SQL рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдкреНрд░рд╢реНрди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреМрд╢рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛ рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдЬреИрд╕реЗ рдПрдХ рдирд┐рдпрдорд┐рдд рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд рддрд╛рд▓рд┐рдХрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХреЙрд▓рдорд╕реНрдЯреЛрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдлреЙрд░реНрдореЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдмрд▓ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдмрдирд╛рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рдЬрдЯрд┐рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдкрд░реАрдХреНрд╖рдг рд╕рд░рд▓ рд╣реИред

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

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ


рд▓рдШреБ рд╕рдореАрдХреНрд╖рд╛ cstore_fdw

gstub рдкрд░ cstore_fdw

рд░реЛрдбрдореИрдк cstore_fdw

Source: https://habr.com/ru/post/hi472396/


All Articles