рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕: рдбреИрд╢рдмреЛрд░реНрдб рддреЗрдЬрд╝ рд░рдЦреЗрдВ
рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ рдбреИрд╢рдмреЛрд░реНрдб рддреЗрдЬрд╝ рд░рдЦреЗрдВ рдФрд░ рдзреАрдореА рдХреНрд╡реЗрд░реАрдЬ, рд╕реНрдкрд╛рдЗрдХреНрд╕ рдФрд░ рд▓реЙрдХ рдкреНрд░реЗрд╢рд░ рд╕реЗ рдЕрдкрдиреЗ рдкреНрд░рд╛рдердорд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд░рдХреНрд╖рд╛ рдХрд░реЗрдВред

рдХреНрдпреЛрдВ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЖрдкрдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддреА рд╣реИ
рдПрдХ рдЖрдо рд╕реНрдерд┐рддрд┐ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ: рджрд┐рди рднрд░ рдРрдк рд╕рд╛рдорд╛рдиреНрдп рд▓рдЧрддрд╛ рд╣реИ, рдлрд┐рд░ рдХреЛрдИ рдбреИрд╢рдмреЛрд░реНрдб рдЦреЛрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдЪрд╛рдирдХ рдЪреЗрдХрдЖрдЙрдЯ, рд▓реЙрдЧрд┐рди рдпрд╛ рд╕рдкреЛрд░реНрдЯ рдЯреВрд▓ рд╕реНрд▓реЛ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдХреБрдЫ рднреА тАЬрдбрд╛рдЙрдитАЭ рдирд╣реАрдВ рд╣реИ, рдкрд░ рд╕рдм рдХреБрдЫ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рд╕рд╛рде рджреЛ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдиреНрд╕ (рджреИрдирд┐рдХ рдРрдк рдХрд╛рдо) рдЫреЛрдЯреЗ рдФрд░ рд╕рд▓реЗрдХреНрдЯрд┐рд╡ рд╣реЛрддреЗ рд╣реИрдВред рд╡реЗ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдкрдврд╝рддреЗ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЗрдВрдбреЗрдХреНрд╕ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЬрд▓реНрджреА рдЦрддреНрдо рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмрд╛рдХреА рдЕрдиреБрд░реЛрдз рдЖрдЧреЗ рдмрдврд╝ рд╕рдХреЗрдВред рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИрдВред рдЕрдХреНрд╕рд░ рд╡реЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдбреЗрдЯрд╛ рд╕реНрдХреИрди рдХрд░рддреА рд╣реИрдВ, рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдЬреЛрдЗрди рдХрд░рддреА рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдФрд░ рдЧреНрд░реБрдк рдХрд░рддреА рд╣реИрдВ, рдФрд░ рджрд┐рдиреЛрдВ рдпрд╛ рдорд╣реАрдиреЛрдВ рдХрд╛ рдпреЛрдЧ рдирд┐рдХрд╛рд▓рддреА рд╣реИрдВред рднрд▓реЗ рд╣реА рд╡реЗ рд╕реАрдзреЗ рд▓рд┐рдЦрдиреЗ рдХреЛ рдмреНрд▓реЙрдХ рди рдХрд░реЗрдВ, рдлрд┐рд░ рднреА рд╡реЗ рдЖрдкрдХреЗ рдРрдк рдХреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣реА рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрди рдЦрд╛ рд╕рдХрддреА рд╣реИрдВред
рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ OLTP рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЗрди рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
- рднрд╛рд░реА рд░реАрдбреНрд╕ CPU, рдореЗрдореЛрд░реА рдФрд░ рдбрд┐рд╕реНрдХ I/O рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХрд░рддреА рд╣реИрдВ
- рдмрдбрд╝реЗ рд╕реНрдХреИрди рдХреИрд╢ рд╕реЗ тАЬрд╣реЙрдЯтАЭ рдкреЗрдЬреЗрд╕ рдмрд╛рд╣рд░ рдзрдХреЗрд▓ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд╡реЗрд░реАрдЬ рдзреАрдореА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ
- рдмрдбрд╝реЗ рд╕реЙрд░реНрдЯ рдФрд░ GROUP BYs рдбрд┐рд╕реНрдХ рдкрд░ рд╕реНрдкрд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓реЛрдб рдХреЗ рд╕реНрдкрд╛рдЗрдХреНрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ
- рд▓рдВрдмреА рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реАрдЬ contention рдмрдврд╝рд╛рддреА рд╣реИрдВ рдФрд░ рд╕реНрдкрд╛рдЗрдХреНрд╕ рдХреЛ рд▓рдВрдмрд╛ рдХрд░ рджреЗрддреА рд╣реИрдВ
- рдПрдб-рд╣реЙрдХ рдлрд╝рд┐рд▓реНрдЯрд░ (рддрд╛рд░рд┐рдЦрд╝ рд░реЗрдВрдЬ, рд╕реЗрдЧрдореЗрдВрдЯ) рд▓реЛрдб рдХреЛ рдЕрдирд╛рдкреЗрдХреНрд╖рд┐рдд рдмрдирд╛рддреЗ рд╣реИрдВ
рдПрдХ рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдПрдХ рдЕрд▓рдЧ PostgreSQL рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдЖрдкрдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░реАрдб-рдУрдирд▓реА рдХреНрд╡реЗрд░реАрдЬ рд╕рд░реНрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдбреИрд╢рдмреЛрд░реНрдб рдЕрдкрдирд╛ рднрд╛рд░реА рдХрд╛рдо рдХрд╣реАрдВ рдФрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдкреНрд░рд╛рдердорд┐рдХ рддреЗрдЬрд╝ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдиреНрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗ рд╕рдХреЗред
рд╢реБрд░реВ рдореЗрдВ рддрдп рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЙрдореНрдореАрдж: рд░рд┐рдкреНрд▓рд┐рдХрд╛рдПрдБ рдкрдврд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВ, рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдирд╣реАрдВред рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ INSERT/UPDATE рдирд╣реАрдВ рднреЗрдЬ рд╕рдХрддреЗ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдердорд┐рдХ рд╕реЗ рдереЛрдбрд╝реЗ рдкреАрдЫреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд░рд┐рдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдХрдИ рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдЪреНрдЫрд╛ рдЯреНрд░реЗрдб-рдСрдл рд╣реИ: рдереЛрдбрд╝реЗ рдХрдо рддрд╛рдЬрд╝рд╛ рдирдВрдмрд░, рдмрджрд▓реЗ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рджрд░реНрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдирд╛ред
рдЕрдЧрд░ рдЖрдк рдЖрдВрддрд░рд┐рдХ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП AppMaster рдореЗрдВ), рддреЛ рдпрд╣ рд╡рд┐рднрд╛рдЬрди рдЕрдХреНрд╕рд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдореИрдк рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рдРрдк рдкреНрд░рд╛рдердорд┐рдХ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд░рд╣реЗ, рдЬрдмрдХрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реНрдХреНрд░реАрди рд░рд┐рдкреНрд▓рд┐рдХрд╛ рд╕реЗ рдХреНрд╡реЗрд░реА рдХрд░реЗрдВред
PostgreSQL рдореЗрдВ рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ (рд╕рд╛рдзрд╛рд░рдг рд╢рдмреНрджреЛрдВ рдореЗрдВ)
рдПрдХ PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдЖрдкрдХреЗ рдореБрдЦреНрдп (рдкреНрд░рд╛рдЗрдорд░реА) рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд▓рдЧрднрдЧ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдХреЙрдкреА рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рджреВрд╕рд░рд╛ рд╕рд░реНрд╡рд░ рд╣реИред рдкреНрд░рд╛рдердорд┐рдХ рд▓рд┐рдЦрдиреЗ (INSERT, UPDATE, DELETE) рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рдкрдврд╝рдиреЗ (SELECT) рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬ рджреИрдирд┐рдХ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдиреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рди рдХрд░реЗрдВред
рдкреНрд░рд╛рдердорд┐рдХ рдмрдирд╛рдо рд░рд┐рдкреНрд▓рд┐рдХрд╛ тАФ рдПрдХ рдорд┐рдирдЯ рдореЗрдВ
рдкреНрд░рд╛рдердорд┐рдХ рдХреЛ рдПрдХ рд╡реНрдпрд╕реНрдд рджреБрдХрд╛рди рдХреЗ рдХреИрд╢рд┐рдпрд░ рдХреА рддрд░рд╣ рд╕реЛрдЪреЗрдВ: рдЙрд╕реЗ рдЬрд╡рд╛рдмрджреЗрд╣ рдмрдиреЗ рд░рд╣рдирд╛ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдмрд┐рдХреНрд░реА рд╕реНрдЯреЙрдХ, рднреБрдЧрддрд╛рди рдФрд░ рдСрд░реНрдбрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреА рд╣реИред рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдПрдХ рдбрд┐рд╕реНрдкреНрд▓реЗ рд╕реНрдХреНрд░реАрди рдХреА рддрд░рд╣ рд╣реИ рдЬреЛ рдЯреЛрдЯрд▓ рдФрд░ рдЯреНрд░реЗрдВрдбреНрд╕ рджрд┐рдЦрд╛рддреА рд╣реИред рд╡рд╣ рдХреИрд╢рд┐рдпрд░ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рджреЗрдЦрддреА рд╣реИ рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЕрдкрдиреА рд╡реНрдпреВ рдЕрдкрдбреЗрдЯ рдХрд░рддреА рд╣реИред
рдЕрдВрджрд░ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ PostgreSQL рдкрд░рд┐рд╡рд░реНрддрди рдХреЙрдкреА рдХрд░рдХреЗ рднреЗрдЬрддрд╛ рд╣реИ: рдкреНрд░рд╛рдердорд┐рдХ рдкрд░ рдХреНрдпрд╛ рдмрджрд▓рд╛ рдЗрд╕реЗ рд╕реНрдЯреНрд░реАрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдЙрд╕реЗ рд░рд┐рдкреНрд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорддрд▓рдм рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреЗ рдкрд╛рд╕ рд╡рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдмрд╕ рдереЛрдбрд╝рд╛ рдкреАрдЫреЗред
рд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рд░рд┐рдкреНрд▓рд┐рдХреЗрд╢рди рдЗрди рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ:
- рдЯреЗрдмрд▓ рдбреЗрдЯрд╛ (рд░реЛреЫ)
- рдЗрдВрдбреЗрдХреНрд╕ рдкрд░рд┐рд╡рд░реНрддрди (рддрд╛рдХрд┐ рдХреНрд╡реЗрд░реАрдЬ рд╡рд╣реА рдЗрдВрдбреЗрдХреНрд╕ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХреЗрдВ)
- рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди (рдЬреИрд╕реЗ рдирдП рдХреЙрд▓рдо, рдирдИ рдЯреЗрдмрд▓реНрд╕, рдФрд░ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди)
- рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп SQL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ
рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреНрдпрд╛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛: рдпрд╣ рднрд╛рд░реА рд▓рд┐рдЦрд╛рдИ рдХреЛ рд╕рд╕реНрддрд╛ рдирд╣реАрдВ рдмрдирд╛рддрд╛, рдФрд░ рди рд╣реА рдХрд┐рд╕реА рдЦрд░рд╛рдм рд╕реНрдХреАрдорд╛ рдпрд╛ рдЧреБрдо рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдХрд╛рд░рдг рдзреАрдореА рдХреНрд╡реЗрд░реА рдХреЛ рдареАрдХ рдХрд░реЗрдЧрд╛ред рдЕрдЧрд░ рдЖрдкрдХрд╛ рдбреИрд╢рдмреЛрд░реНрдб рдХреНрд╡реЗрд░реА рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рднреА рдХрд┐рд╕реА рдмрдбрд╝реА рдЯреЗрдмрд▓ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЕрднреА рднреА рдзреАрдорд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдмрд╕ рд╡рд╣ рдПрдХ рд╣реА рд╕рдордп рдкрд░ рдЪреЗрдХрдЖрдЙрдЯ рдХреЛ рдзреАрдорд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЗрд╕реА рдХрд╛рд░рдг PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВ: рдпреЗ OLTP рдХрд╛рдо (рддреЗрдЬрд╝, рдмрд╛рд░-рдмрд╛рд░ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдиреНрд╕) рдХреЛ OLAP-рд╢реИрд▓реА рдХреЗ рдХрд╛рдо (рд▓рдВрдмреЗ рд░реАрдбреНрд╕, рдЧреНрд░реБрдкрд┐рдВрдЧ, рдФрд░ рдЯреЛрдЯрд▓реНрд╕) рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд░ рдЖрдк рдЖрдВрддрд░рд┐рдХ рдбреИрд╢рдмреЛрд░реНрдб рдпрд╛ рдПрдбрдорд┐рди рдкреИрдирд▓ рдмрдирд╛рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг: AppMaster), рддреЛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдкреЗрдЬреЗрдЬрд╝ рдХреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдкреЙрдЗрдВрдЯ рдХрд░рдирд╛ рдЕрдХреНрд╕рд░ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реЛрддрд╛ рд╣реИ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдХреЛ рдЦреБрд╢ рд░рдЦрдиреЗ рдХрд╛ред
рдХреМрди рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╡рд░реНрдХрд▓реЛрдбреНрд╕ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП
рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд┐рдпрдо: рдЕрдЧрд░ рдХреЛрдИ рдХреНрд╡реЗрд░реА рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдкрдврд╝рдХрд░ рдЙрд╕реЗ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░ рд░рд╣реА рд╣реИ, рддреЛ рд╡рд╣ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрдд рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИред PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде, рдЖрдк рдЪреЗрдХрдЖрдЙрдЯ рдлреНрд▓реЛ, рд╕рд╛рдЗрди-рдЗрди рдФрд░ рдЕрдиреНрдп рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдирд▓ рдХрд╛рдореЛрдВ рдХреЛ рдЙрди рднрд╛рд░реА рдиреМрдХрд░рд┐рдпреЛрдВ рд╕реЗ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдбреИрд╢рдмреЛрд░реНрдб рдЕрдХреНрд╕рд░ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдбреИрд╢рдмреЛрд░реНрдб рдкреИрдЯрд░реНрди рд╡рд┐рд╕реНрддреГрдд рддрд╛рд░реАрдЦрд╝ рд░реЗрдВрдЬ рдФрд░ рдХреБрдЫ рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВред тАЬрдкрд┐рдЫрд▓реЗ 90 рджрд┐рди рдХреНрд╖реЗрддреНрд░, рдЙрддреНрдкрд╛рдж, рдФрд░ рдЪреИрдирд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░тАЭ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЦреЛрдВ рд░реЛреЫ рдЫреВ рд╕рдХрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЕрдВрддрд┐рдо рдЪрд╛рд░реНрдЯ рдХреЗрд╡рд▓ 12 рдмрд╛рд░ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реЛред рдпреЗ рд╕реНрдХреИрди рдЖрдкрдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХ рд░реАрдб рдФрд░ рдХреИрд╢ рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдлрд┐рдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдХрд▓реЛрдб
рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреАрдореЗрдВ рдЗрди рдХрд╛рдореЛрдВ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИрдВ:
- рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдмрдбрд╝реЗ рдЬреЛрдЗрдиреНрд╕ (orders + items + customers + refunds)
- SUM, COUNT DISTINCT, percentile рдХреИрд▓рдХреБрд▓реЗрд╢рди, cohorts рдЬреИрд╕реА рдПрдЧреНрд░реАрдЧреЗрд╢рдиреНрд╕
- рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реАрдЬ рдЬреЛ рдмрдбрд╝реЗ рд░рд┐рдЬрд╝рд▓реНрдЯ рд╕реЗрдЯреНрд╕ рдХреЛ рд╕реЙрд░реНрдЯ рдФрд░ рдЧреНрд░реБрдк рдХрд░рддреА рд╣реИрдВ
- рд╢реЗрдбреНрдпреВрд▓реНрдб рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдЬреЛ рд╣рд░ рдШрдВрдЯреЗ/рджрд┐рди рднрд╛рд░реА рдХрд╛рдо рджреЛрд╣рд░рд╛рддреА рд╣реИрдВ
- рдПрдХреНрд╕рдкреНрд▓реЛрд░реЗрдЯрд░реА BI рд╕реЗрд╢рди рдЬрд╣рд╛рдБ рд▓реЛрдЧ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдмрджрд▓рд╛рд╡ рджреЛрдмрд╛рд░рд╛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ
рдпрд╣ рд╕рдордЭрдирд╛ рдЬрд░реВрд░реА рд╣реИ рдХрд┐ рднрд▓реЗ рд╣реА рдХреЛрдИ рдХреНрд╡реЗрд░реА тАЬрд░реАрдб-рдУрдирд▓реАтАЭ рд╣реЛ, рд╡рд╣ CPU, рдореЗрдореЛрд░реА рдФрд░ I/O рдЬрд▓рд╛ рд╕рдХрддреА рд╣реИред рдмрдбрд╝реЗ GROUP BY рдСрдкрд░реЗрд╢рдиреНрд╕ рдЕрдиреНрдп рдХреНрд╡реЗрд░реАрдЬ рдХреЛ рдореЗрдореЛрд░реА рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╛рд░-рдмрд╛рд░ рд╕реНрдХреИрди рдмрдлрд╝рд░ рдХреИрд╢ рдХреЛ churn рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдЕрдзрд┐рдХ рдмрд╛рд░ рдбрд┐рд╕реНрдХ рд╕реЗ рдкрдврд╝рдиреЗ рд▓рдЧреЗрдЧрд╛ред
рдХрдиреЗрдХреНрд╢рди рд╡реНрдпрд╡рд╣рд╛рд░ рднреА рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдХрдИ BI рдЯреВрд▓реНрд╕ рдкреНрд░рддрд┐ рдпреВрдЬрд╝рд░ рдХрдИ рдХрдиреЗрдХреНрд╢рдиреНрд╕ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдЯрд╛рдЗрд▓реНрд╕ рд╣рд░ рдХреБрдЫ рдорд┐рдирдЯ рдореЗрдВ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдПрдХреНрд╕реНрдЯреНрд░реИрдХреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдХрдиреЗрдХреНрд╢рдиреНрд╕ рдФрд░ рд╕рдорд╡рд░реНрддреА рдХреНрд╡реЗрд░реАрдЬ рдореЗрдВ рдЕрдЪрд╛рдирдХ рд╕реНрдкрд╛рдЗрдХреНрд╕ рдЖ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдЙрди рд╕реНрдкрд╛рдЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рджреЗ рджреЗрддрд╛ рд╣реИред
рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг: рдЖрдкрдХрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕ рдбреИрд╢рдмреЛрд░реНрдб рд╕реБрдмрд╣ 9:00 рдмрдЬреЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ 50 рд▓реЛрдЧ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдЦреЛрд▓рддреЗ рд╣реИрдВред рд╣рд░ рдкреЗрдЬ рд╡реНрдпреВ рдХрдИ рд╡рд┐рдЬреЗрдЯ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рд░ рд╡рд┐рдЬреЗрдЯ рдЕрд▓рдЧ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддрд╛ рд╣реИред рдкреНрд░рд╛рдердорд┐рдХ рдкрд░ рдпрд╣ рдмрд░реНрд╕реНрдЯ рдСрд░реНрдбрд░ рдХреНрд░рд┐рдПрд╢рди рдХреЛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░, рдбреИрд╢рдмреЛрд░реНрдб рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рдпрд╛ рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдкрд░ рдЖрдкрдХреЗ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдиреНрд╕ рддреЗрдЬрд╝ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВред
рдЕрдЧрд░ рдЖрдк AppMaster рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЕрдВрджрд░ рдЖрдВрддрд░рд┐рдХ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реНрдХреНрд░реАрди рдХреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдкрд░ рдкреЙрдЗрдВрдЯ рдХрд░рдирд╛ рдЕрдХреНрд╕рд░ рдПрдХ рдЖрд╕рд╛рди рдЬреАрдд рд╣реЛрддреА рд╣реИ, рдмрд╢рд░реНрддреЗ рд╕рдм рд╕рдордЭреЗрдВ рдХрд┐ рдбреЗрдЯрд╛ рдХреБрдЫ рд╕реЗрдХрдВрдб (рдпрд╛ рдорд┐рдирдЯ) рдкреАрдЫреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЯреНрд░реЗрдб-рдСрдл: рддрд╛рдЬрд╝рдЧреА рдмрдирд╛рдо рдЧрддрд┐ (рд░рд┐рдкреНрд▓рд┐рдХреЗрд╢рди рд▓реИрдЧ)
рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЛ рддреЗрдЬрд╝ рд░рдЦрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХ рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдХреАрдордд рдпрд╣ рд╣реИ рдХрд┐ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдЖрдо рддреМрд░ рдкрд░ рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕ рджреЗрд░реА рдХреЛ replication lag рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣реА PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреЗ рдкреНрд░рдореБрдЦ рдЯреНрд░реЗрдб-рдСрдл рд╣реИред
рдпреВрдЬрд╝рд░ рдЬреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд╕рд░рд▓ рд╣реИ: тАЬрдЖрдЬтАЭ рдХрд╛ рдирдВрдмрд░ рдереЛрдбрд╝рд╛ рдХрдо рджрд┐рдЦрддрд╛ рд╣реИ, рдирд╡реАрдирддрдо рдСрд░реНрдбрд░ рдЧрд╛рдпрдм рд╣реИрдВ, рдпрд╛ рдЪрд╛рд░реНрдЯ рдХреБрдЫ рдорд┐рдирдЯ рджреЗрд░ рд╕реЗ рдЕрдкрдбреЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рдкрд╛рд░рд┐рд╡рд╛рд░рд┐рдХ рдЯреНрд░реЗрдВрдб рдореЗрдВ 2 рдорд┐рдирдЯ рдХреА рджреЗрд░реА рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ, рдкрд░ рд╡реЗ рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ рдЕрдЧрд░ "рдкреИрдореЗрдВрдЯ рдЕрднреА рд╕рдлрд▓ рд╣реБрдЖ" рдЬреИрд╕рд╛ рд╡реНрдпреВ рдЧрд▓рдд рджрд┐рдЦреЗред
рд▓реЗрдЯ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреНрд░рд╛рдердорд┐рдХ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЗрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдФрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рдкрд╛рддрд╛ред рдЖрдо рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд░реНрд╕реНрдЯ (рдлреНрд▓реИрд╢ рд╕реЗрд▓реНрд╕, рдЗрдореНрдкреЛрд░реНрдЯреНрд╕), рд╕реАрдорд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдмреИрдВрдбрд╡рд┐рдбреНрде, рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдзреАрдорд╛ рдбрд┐рд╕реНрдХ, рдпрд╛ рд▓рдВрдмреЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реАрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╕рдордп CPU рдФрд░ I/O рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддреА рд╣реИрдВред
рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд▓реИрдЧ рдЪреБрдирдиреЗ рдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╣ рдЙрд╕ рдирд┐рд░реНрдгрдп рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛ рдЬрд┐рд╕реЗ рдбреИрд╢рдмреЛрд░реНрдб рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ:
- рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд┐рд╡ KPI рдбреИрд╢рдмреЛрд░реНрдб: рд╕реЗрдХрдВрдб рд╕реЗ рдХреБрдЫ рдорд┐рдирдЯ рдЕрдХреНрд╕рд░ рдареАрдХ рд╣реЛрддреЗ рд╣реИрдВред
- рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрддрд╛рд░реЗрдВ (рд╢рд┐рдкрд┐рдВрдЧ, рд╕рдкреЛрд░реНрдЯ): рдирд┐рдХрдЯ-рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦреЗрдВ, рдЖрдо рддреМрд░ рдкрд░ рд╕реЗрдХрдВрдбред
- рдлрд╛рдЗрдиреЗрдВрд╢рд┐рдпрд▓ рдХреНрд▓реЛрдЬрд╝ рдпрд╛ рдСрдбрд┐рдЯреНрд╕: рдирд┐рдпрдВрддреНрд░рд┐рдд рд╕реНрдиреИрдкрд╢реЙрдЯ рдкрд░ рдЪрд▓рд╛рдПрдБ, рди рдХрд┐ тАЬрд▓рд╛рдЗрд╡тАЭред
- рдХрд╕реНрдЯрдорд░-рдлреЗрд╕рд┐рдВрдЧ тАЬрдореЗрд░реЗ рд╣рд╛рд▓ рдХреЗ рдСрд░реНрдбрд░тАЭ: рдирдЬрд╝рджреАрдХреА рд░реАрдпрд▓-рдЯрд╛рдЗрдо, рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╕рд░рд▓ рдирд┐рдпрдо: рдЕрдЧрд░ рдХрд┐рд╕реА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдирд╡реАрдирддрдо рдХрдорд┐рдЯ рдХреА рдЧрдИ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рддреЛ рдЙрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХ рдХреЛ рд╣рд┐рдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдРрд╕реА рд╕рд┐рд╕реНрдЯрдо рдЬрд┐рд╕реЗ рддрд╛рдЬрд╝рдЧреА рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реЛ)ред рд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ: рдЪреЗрдХрдЖрдЙрдЯ рдХреЗ рджреМрд░рд╛рди рдЗрдиреНрд╡реЗрдВрдЯрд░реА рдЙрдкрд▓рдмреНрдзрддрд╛, рдлреНрд░реЙрдб рдЪреЗрдХреНрд╕, рдФрд░ рдХреБрдЫ рднреА рдЬреЛ рддреБрд░рдВрдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг: рд╕реЗрд▓реНрд╕ рдЯреАрдо рдХрд╛ рдбреИрд╢рдмреЛрд░реНрдб рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рд╕реЗ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╣рд░ рдорд┐рдирдЯ рд░рд┐рдлреНрд░реЗрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкрд░ тАЬрдСрд░реНрдбрд░ рдХрдиреНрдлрд░реНрдореЗрд╢рдитАЭ рдкреЗрдЬ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХ рд╕реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЕрднреА-рдЕрднреА рджрд┐рдпрд╛ рдЧрдпрд╛ рдСрд░реНрдбрд░ рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ тАЬрдиреЛ рдСрд░реНрдбрд░ рдлрд╛рдЙрдВрдбтАЭ рдПрдХ рд╕рдкреЛрд░реНрдЯ рдЯрд┐рдХрдЯ рдмрди рд╕рдХрддрд╛ рд╣реИред
рдЕрдЧрд░ рдЖрдкрдХрд╛ рдРрдк рдпрд╛ рдиреЛ-рдХреЛрдб рдЯреВрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рдЪреБрдирдиреЗ рджреЗрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг: AppMaster рдореЗрдВ рд░реАрдб-рдУрдирд▓реА рд╕реНрдХреНрд░реАрди рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдкреЙрдЗрдВрдЯ рдХрд░рдирд╛), рддреЛ рдЖрдк рдЗрд╕ рд╡рд┐рднрд╛рдЬрди рдХреЛ UI рдмрджрд▓реЗ рдмрд┐рдирд╛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрджрдо-рджрд░-рдХрджрдо: рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛
рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рд╕реЗрдЯ рдХрд░рдирд╛ рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдлреИрд╕рд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рдлрд┐рд░ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЯреНрд░рд╛рдлрд┐рдХ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХ рд╕реЗ рджреВрд░ рд░рдЦрдирд╛ред
1) рд╕рд╣реА рдЯреЛрдкреЛрд▓реЙрдЬреА рдкрд╣рд▓реЗ рдмрдирд╛рдПрдБ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рдЪреБрдиреЗрдВред рдПрдХ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдЕрдХреНрд╕рд░ рдПрдХ BI рдЯреВрд▓ рдФрд░ рдХреБрдЫ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддреА рд╣реИред рдХрдИ рд░рд┐рдкреНрд▓рд┐рдХрд╛рдПрдБ рддрдм рдорджрдж рдХрд░рддреА рд╣реИрдВ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╣реЛрдВ рдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреВрд▓реНрд╕ рджрд┐рди рднрд░ рдбреЗрдЯрд╛ рд╣рд┐рдЯ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдЕрдЧрд░ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░ рд╕реЗ рджреВрд░ рд╣реИрдВ, рддреЛ рдХреНрд╖реЗрддреНрд░реАрдп рд░рд┐рдкреНрд▓рд┐рдХрд╛ рд▓реЗрдЯреЗрдВрд╕реА рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдкрд░ рдпрд╣ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреА рдЬрдЧрд╣реЗрдВ рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИред
рдлрд┐рд░ synchronous рдпрд╛ asynchronous рд░рд┐рдкреНрд▓рд┐рдХреЗрд╢рди рдЪреБрдиреЗрдВред synchronous рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд╛рдЬрд╝рдЧреА рджреЗрддрд╛ рд╣реИ рдкрд░ рдпрд╣ рд▓рд┐рдЦрддреЛрдВ рдХреЛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрдИ рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЙрджреНрджреЗрд╢реНрдп рдХрд╛ рд╡рд┐рд░реЛрдз рд╣реИред asynchronous рдбреИрдлреЙрд▓реНрдЯ рдЪреБрдирд╛рд╡ рд╣реЛрддрд╛ рд╣реИ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рд╕рднреА рдорд╛рди рд▓реЗрдВ рдХрд┐ рдбреЗрдЯрд╛ рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
2) рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕рд░реНрд╡рд░ рдХреА рддрд░рд╣ рдмрдирд╛рдПрдВ
рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкреНрд░реЛрдбрдХреНрд╢рди рдХреА рд╕рд╕реНрддрд╛ рдХреЙрдкреА рдирд╣реАрдВ рд╣реИред рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬ рдЕрдХреНрд╕рд░ рдЬреНрдпрд╛рджрд╛ CPU, рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛ рдореЗрдореЛрд░реА, рдФрд░ рд╕реНрдХреИрди рдХреЗ рд▓рд┐рдП рддреЗрдЬ рдбрд┐рд╕реНрдХ рдорд╛рдВрдЧрддреА рд╣реИрдВред
рдпрд╣рд╛рдВ PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдпреЗ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реЗрдЯрдЕрдк рдлреНрд▓реЛ рд╣реИ:
- рддрдп рдХрд░реЗрдВ рдХрд┐рддрдиреА рд░рд┐рдкреНрд▓рд┐рдХрд╛рдПрдБ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡реЗ рдХрд╣рд╛рдБ рд╣реЛрдВ (рдПрдХ рд╣реА рд░реАрдЬрди рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдирд┐рдХрдЯ)ред
- async рдмрдирд╛рдо sync рдЪреБрдиреЗрдВ рдЙрд╕ рджреЗрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬрд┐рд╕реЗ рдЖрдкрдХреЗ рдбреИрд╢рдмреЛрд░реНрдб рд╕рд╣ рд╕рдХрддреЗ рд╣реИрдВред
- рд░реАрдб-рд╣реЗрд╡реА рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рдкреНрд░реЛрд╡рд┐рдЬрди рдХрд░реЗрдВ (CPU, RAM, рдФрд░ рдбрд┐рд╕реНрдХ IOPS рдЕрдХреНрд╕рд░ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд╛рдЗрдЬ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдорд╣рддреНрддреНрд╡ рд░рдЦрддреЗ рд╣реИрдВ)ред
- рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдЯреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ, рд░реАрдб-рдУрдирд▓реА рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдмрдирд╛рдПрдВред
- рдбреИрд╢рдмреЛрд░реНрдб рдХреНрд╡реЗрд░реАрдЬ рдХреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд░реВрдЯ рдХрд░реЗрдВ (рдЕрдкрдиреЗ рдРрдк, BI рдЯреВрд▓, рдпрд╛ рдЫреЛрдЯреЗ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ)ред
рд░реВрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдПрдХ рд╕рд░рд▓ рдЯреЗрд╕реНрдЯ рд╕реЗ рд╡реИрд▓рд┐рдбреЗрдЯ рдХрд░реЗрдВ: рдПрдХ рдЬрд╛рдиреА-рдкрд╣рдЪрд╛рдиреА рднрд╛рд░реА рдбреИрд╢рдмреЛрд░реНрдб рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдПрдБ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡рд╣ рдЕрдм рдкреНрд░рд╛рдердорд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрддреАред
рдЕрдЧрд░ рдЖрдк AppMaster рд╕реЗ рдРрдк рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрд╕реЗ рдХреЗрд╡рд▓ рдбреИрд╢рдмреЛрд░реНрдб рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЪреЗрдХрдЖрдЙрдЯ рдФрд░ рдЕрдиреНрдп рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдирд▓ рдлреНрд▓реЛрдЬрд╝ рдЕрдкрдиреА рддреЗрдЬрд╝ рд░рд╛рд╣ рд░рдЦреЗрдВред
рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛
рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд┐рдпрд╛ рд╣реИ, рдкрд░ рдЗрд╕реЗ рдЕрднреА рднреА рдЧрд╛рд░реНрдбрд░реЗрд▓реНрд╕ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдЗрд╕реЗ рдПрдХ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрди рдорд╛рдиреЗрдВ: рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЯреВрд▓реНрд╕ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдПрдХреНрд╕реЗрд╕ рджреЗрдВ, рдФрд░ рдпрд╣ рд╕реАрдорд┐рдд рдХрд░реЗрдВ рдХрд┐ рдПрдХ рдЦрд░рд╛рдм рдХреНрд╡реЗрд░реА рдХрд┐рддрдирд╛ рдиреБрдХрд╕рд╛рди рдХрд░ рд╕рдХрддреА рд╣реИред
рд╢реБрд░реВ рдХрд░реЗрдВ рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдпреВрдЬрд╝рд░ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдПред рдЕрдкрдиреЗ рдРрдк рдХреЗ рдореБрдЦреНрдп рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ, рднрд▓реЗ рд╣реА рдЖрдк рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреА рдУрд░ рдкреЙрдЗрдВрдЯ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдЗрд╕рд╕реЗ рдЧрддрд┐рд╡рд┐рдзрд┐ рдСрдбрд┐рдЯ рдХрд░рдирд╛, рдкрд╛рд╕рд╡рд░реНрдб рдШреБрдорд╛рдирд╛ рдФрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХрдбрд╝реА рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред
рдиреАрдЪреЗ рдПрдХ рд╕рд░рд▓ рдЕрдкреНрд░реЛрдЪ рд╣реИ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреАрдореЛрдВ рдкрд░ рдлрд┐рдЯ рдмреИрдарддреА рд╣реИ:
-- Create a dedicated login
CREATE ROLE report_user LOGIN PASSWORD '...';
-- Allow read-only access to a schema
GRANT CONNECT ON DATABASE yourdb TO report_user;
GRANT USAGE ON SCHEMA public TO report_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO report_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO report_user;
-- Put safety limits on the role
ALTER ROLE report_user SET statement_timeout = '30s';
ALTER ROLE report_user SET idle_in_transaction_session_timeout = '15s';
(рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдмреНрд▓реЙрдХ рдХреЛ рдЬреИрд╕рд╛ рд╣реИ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред)
рдЕрдЧрд▓рд╛ рдХрджрдо рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреЙрд░реНрдо рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рдбреИрд╢рдмреЛрд░реНрдб рдФрд░ BI рдЯреВрд▓ рдХрдИ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдХрдИ рд╡рд┐рдЬреЗрдЯ рдПрдХ рд╕рд╛рде рд░рд┐рдлреНрд░реЗрд╢ рд╣реЛрддреЗ рд╣реИрдВред рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рдиреНрд╕ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЖрдкрдХреЗ рдкреВрд▓рд░ рдкрд░ рд╕реАрдорд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЗрдиреНрд╣реЗрдВ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдирд▓ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕реЗ рдЕрд▓рдЧ рд░рдЦреЗрдВред
рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ:
- рд░реАрдб-рдУрдирд▓реА рдпреВрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдХреЛрдИ INSERT/UPDATE/DELETE рдирд╣реАрдВ, рдХреЛрдИ рд╕реНрдХреАрдорд╛ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ)ред
- рд▓реЙрдиреНрдЧ рдХреНрд╡реЗрд░реАрдЬ рдФрд░ рдЖрдЗрд╕реНрдб рдЗрдиреН рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐-рд░реЛрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ рдХрд░реЗрдВред
- рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдХрдиреЗрдХреНрд╢рдиреНрд╕ рд╕реАрдорд┐рдд рдХрд░реЗрдВред
- рдХреЗрд╡рд▓ рдЙрди рд╕реНрдХреАрдорд╛рдУрдВ рдФрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рджреЗрдВ рдЬрд┐рдирдХреА рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ рдЬрд╝рд░реВрд░рдд рд╣реИред
- рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреЙрд▓рдореНрд╕ (PII, рд╕реАрдХреНрд░реЗрдЯреНрд╕, рдЯреЛрдХрди) рдХреЛ рдорд╛рд╕реНрдХ рдпрд╛ рдПрдХреНрд╕рдХреНрд▓реВрдб рдХрд░реЗрдВред
рдЕрдЧрд░ рдЖрдкрдХреЛ рдЖрдВрд╢рд┐рдХ рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рджрд┐рдЦрд╛рдирд╛ рд╣реИ, рддреЛ "рд▓реЛрдЧ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВрдЧреЗ" рдкрд░ рднрд░реЛрд╕рд╛ рди рдХрд░реЗрдВред рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╡реНрдпреВ рдмрдирд╛рдПрдВ рдЬреЛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдлрд╝реАрд▓реНрдбреНрд╕ рдЫрд┐рдкрд╛рдП рдпрд╛ рд╣реИрд╢ рдХрд░реЗ, рдпрд╛ рдПрдХ curated reporting рд╕реНрдХреАрдорд╛ рд░рдЦреЗрдВред рдЬрдм рдЯреАрдореЗрдВ AppMaster рдХреЗ рд╕рд╛рде рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рддреА рд╣реИрдВ, рддрдм рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рд╕рдорд░реНрдкрд┐рдд рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдпреВрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЬрдирд░реЗрдЯреЗрдб рдРрдк рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХрд╝реЗ рд╕реЗ рдкрдврд╝реЗ рдмрд┐рдирд╛ рдкреНрд░реЛрдбрдХреНрд╢рди рд░рд╛рдЗрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдЫреБрдПред
рдпреЗ рдирд┐рдпрдВрддреНрд░рдг PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреЛ рддреЗрдЬрд╝, рдкреНрд░реЗрдбрд┐рдХреНрдЯреЗрдмрд▓ рдФрд░ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрдард┐рди рдмрдирд╛рддреЗ рд╣реИрдВред
рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЬреЛ рдЖрдкрдХреЗ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рдЖрдиреЗ рджреЗрддреА
рдПрдХ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рддрднреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╡рд╣ рдкреНрд░реЗрдбрд┐рдХреНрдЯреЗрдмрд▓ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗред рдЯреАрдореЛрдВ рдХреЛ рдЬреЛ рджреЛ рдЪреАрдЬрд╝реЗрдВ рдЖрдорддреМрд░ рдкрд░ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рддреА рд╣реИрдВ рд╡реЗ рд╣реИрдВ: рдЪреБрдкрдЪрд╛рдк рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд░рд┐рдкреНрд▓рд┐рдХреЗрд╢рди рд▓реИрдЧ (рдбреИрд╢рдмреЛрд░реНрдб тАЬрдЧрд▓рддтАЭ рджрд┐рдЦрддреЗ рд╣реИрдВ) рдФрд░ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд░рд┐рд╕реЛрд░реНрд╕ рд╕реНрдкрд╛рдЗрдХреНрд╕ (рдбреИрд╢рдмреЛрд░реНрдб рд╕реНрд▓реЛ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ)ред рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреЛ рджреЛрдиреЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдкрд╣рд▓реЗ рдкрдХрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред
╪┤╪▒┘И╪╣ рдХрд░реЗрдВ рд▓реИрдЧ рдорд╛рдкрдХрд░ рдФрд░ рддрдп рдХрд░рдХреЗ рдХрд┐ рдЖрдкрдХреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП "рдХрд╛рдлреА рддрд╛рдЬрд╝рд╛" рдХреНрдпрд╛ рд╣реИред рдХрдИ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЗ рд▓рд┐рдП 30 рд╕реЗ 120 рд╕реЗрдХрдВрдб рдареАрдХ рд╣реЛрддреЗ рд╣реИрдВред рдХреБрдЫ (рдЬреИрд╕реЗ рдЗрдиреНрд╡реЗрдВрдЯрд░реА рдпрд╛ рдлреНрд░реЙрдб) рдХреЗ рд▓рд┐рдП рднреА 5 рд╕реЗрдХрдВрдб рдмрд╣реБрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреЛ рднреА рдЪреБрдиреЗрдВ, рдЗрд╕реЗ рдПрдХ рджреГрд╢реНрдпрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЕрд▓рд░реНрдЯ рд╕реЗрдЯ рдХрд░реЗрдВред
рдпрд╣рд╛рдБ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдВрдХреЗрдд рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ:
- рд░рд┐рдкреНрд▓рд┐рдХреЗрд╢рди рд▓реИрдЧ (рд╕рдордп рдФрд░ рдмрд╛рдЗрдЯреНрд╕)ред рдЕрд▓рд░реНрдЯ рддрдм рджреЗрдВ рдЬрдм рдпрд╣ рдЖрдкрдХреЗ рдереНрд░реЗрд╢рд╣реЛрд▓реНрдб рд╕реЗ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рддрдХ рдКрдкрд░ рд░рд╣реЗ, рди рдХрд┐ рд╕рд┐рд░реНрдл рдПрдХ рд╣реА рд╕реНрдкрд╛рдЗрдХ рдкрд░ред
- рд░рд┐рдкреНрд▓рд┐рдХрд╛ рд╣реЗрд▓реНрде: рдкреАрдХ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдШрдВрдЯреЛрдВ рдореЗрдВ CPU, рдореЗрдореЛрд░реА рдкреНрд░реЗрд╢рд░ рдФрд░ рдбрд┐рд╕реНрдХ рд░реАрдб I/Oред
- рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдХрдиреЗрдХреНрд╢рди рд╕реИрдЪреБрд░реЗрд╢рди (рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреИрд╢рдмреЛрд░реНрдб рд╕реЗрд╢рдВрд╕ рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрд▓реЛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ)ред
- рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд╕реНрд▓реЛ рдХреНрд╡реЗрд░реАрдЬ, рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреЗ рдЕрдкрдиреЗ рд╕реНрдЯреИрдЯреНрд╕ рдФрд░ рд▓реЙрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ (рдкреНрд░рд╛рдердорд┐рдХ рдкреВрд░реА рдХрд╣рд╛рдиреА рдирд╣реАрдВ рдмрддрд╛рдПрдЧрд╛)ред
- рдСрдЯрд╛рд╡реЕрдХреНрдпреВрдо рдФрд░ рдмloat рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рддрд╛рд▓рд┐рдХрд╛рдПрдВ рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдмрд┐рдЧрдбрд╝рдиреЗ рдкрд░ рд░реАрдбреНрд╕ рдзреАрдореА рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рд╕реНрд▓реЛ-рдХреНрд╡реЗрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЛ рдЦрд╛рд╕ рдзреНрдпрд╛рди рджреЗрдВред рдПрдХ рдЖрдо рдлреЗрд▓реНрдпрд░ рдореЛрдб рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдареАрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдбреИрд╢рдмреЛрд░реНрдб рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ "рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдлреЗрд╕реНрдЯрд┐рд╡рд▓" рдмрди рдЬрд╛рддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд╡рд╣реА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╣реЛ рдЬреЛ рдЖрдк рдкреНрд░рд╛рдердорд┐рдХ рдХреЗ рд▓рд┐рдП рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЯреЙрдк рдХреНрд╡реЗрд░реАрдЬ рдХреБрд▓ рд╕рдордп рдФрд░ рдФрд╕рдд рд╕рдордп рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗред
рдЕрдВрдд рдореЗрдВ, рдкрд╣рд▓реЗ рд╕реЗ рддрдп рдХрд░ рд▓реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдРрдк рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ рдЬрдм рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛ рдпрд╛ рдмрд╣реБрдд рдкреАрдЫреЗ рд╣реЛред рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдЪреБрдиреЗрдВ рдФрд░ рдЙрд╕реЗ рд╕реБрд╕рдВрдЧрдд рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ:
- рдЬрдм рд▓реИрдЧ рдереНрд░реЗрд╢рд╣реЛрд▓реНрдб рд╕реЗ рдКрдкрд░ рд╣реЛ рддреЛ тАЬрдбреЗрдЯрд╛ рджреЗрд░реА рдореЗрдВтАЭ рдмреИрдирд░ рджрд┐рдЦрд╛рдПрдВред
- рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рднрд╛рд░реА рдЪрд╛рд░реНрдЯреНрд╕ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдФрд░ рд╣рд▓реНрдХреЗ рд╕рд╛рд░ рд╕рдВрдХреНрд╖реЗрдк рд░рдЦреЗрдВред
- рдХреИрд╢реНрдб рд░рд┐рдЬрд╝рд▓реНрдЯреНрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ (рдЙрджрд╛рд╣рд░рдг: рдЕрдВрддрд┐рдо 15 рдорд┐рдирдЯ)ред
- рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реАрдбреНрд╕ рдкреНрд░рд╛рдердорд┐рдХ рдкрд░ рд░реВрдЯ рдХрд░реЗрдВред
- рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреЗ рдареАрдХ рд╣реЛрдиреЗ рддрдХ рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ рд░реАрдб-рдУрдирд▓реА рдореЗрдВ рдбрд╛рд▓ рджреЗрдВред
рдпрджрд┐ рдЖрдк AppMaster рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕реЛрд░реНрд╕ рдХреА рддрд░рд╣ рдЯреНрд░реАрдЯ рдХрд░реЗрдВ: рдЕрд▓рдЧ рд╕реЗ рдореЙрдирд┐рдЯрд░ рдХрд░реЗрдВ, рдФрд░ рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ рдРрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░реЗрдВ рдХрд┐ рдЬрдм рддрд╛рдЬрд╝рдЧреА рдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд┐рд░реЗ рддреЛ рд╡реЗ рдЧреНрд░реЗрд╕рдлреБрд▓реА degrade рдХрд░ рд╕рдХреЗрдВред
рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ рдФрд░ рдЬрд╛рд▓ рдЬрд┐рдирд╕реЗ рдмрдЪреЗрдВ
рдПрдХ рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдорджрдж рдХрд░рддреА рд╣реИ, рдкрд░ рдпрд╣ рдЬрд╛рджреБрдИ тАЬрд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдореБрдлреНрдд рд╣реЛ рдЧрдИтАЭ рдмрдЯрди рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рд╕рдорд╕реНрдпрд╛рдПрдБ рддрдм рдЖрддреА рд╣реИрдВ рдЬрдм рдЖрдк рдЗрд╕реЗ рдмрд┐рдирд╛ рд╕реАрдорд╛ рдХреЗ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдХреА рддрд░рд╣ рдЯреНрд░реАрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╣реИрд░рд╛рди рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдбреИрд╢рдмреЛрд░реНрдб рдзреАрдореЗ рдпрд╛ рдЧрд▓рдд рд╣реЛ рдЧрдПред
рдПрдХ рдЖрд╕рд╛рди рдЪреВрдХ: рд░рд┐рдкреНрд▓рд┐рдХрд╛рдПрдБ рднреА рдУрд╡рд░рд▓реЛрдб рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдХреБрдЫ рдмрдбрд╝реЗ рдЯреЗрдмрд▓ рд╕реНрдХреИрди, рднрд╛рд░реА рдЬреЛрдЗрдиреНрд╕, рдпрд╛ тАЬSELECT *тАЭ рдПрдХреНрд╕рдкреЛрд░реНрдЯs CPU рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдЬрд╝реЛрд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯреНрд╕ рдХрд░рд╡рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рд╕реЗ рдЫреЛрдЯреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рд╣реИ (рдХрдо рдкреИрд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп), рддреЛ рд╕реНрд▓реЛрдбрд╛рдЙрди рдФрд░ рдЬрд▓реНрджреА рджрд┐рдЦреЗрдЧрд╛ред
рд╕рдмрд╕реЗ рджрд░реНрджрдирд╛рдХ рдЬрд╛рд▓:
- рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реАрдпрд▓-рдЯрд╛рдЗрдо рд╕реНрдХреНрд░реАрди рдХреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд░реВрдЯ рдХрд░рдирд╛ред рдЕрдЧрд░ рдбреИрд╢рдмреЛрд░реНрдб рддрд╛рдЬрд╝рд╛ рдЪреЗрдХрдЖрдЙрдЯ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ рддреЛ рд░рд┐рдкреНрд▓рд┐рдХреЗрд╢рди рд▓реИрдЧ рдбреЗрдЯрд╛ рдЧрд╛рдпрдм рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИред
- BI рдЯреВрд▓реНрд╕ рдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрдиреЗрдХреНрд╢рдиреНрд╕ рдЦреЛрд▓рдиреЗ рджреЗрдирд╛ред рдХреБрдЫ рдЯреВрд▓реНрд╕ рд╣рд░ рдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рд╕рддреНрд░ рдЦреЛрд▓рддреЗ рд╣реИрдВред рдХрдиреЗрдХреНрд╢рди рд╕реНрдкрд╛рдЗрдХреНрд╕ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреЛ рдЧрд┐рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред
- рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рд╣реА рдХрд╛рдлреА рд╣реИрдВред рдЗрдВрдбреЗрдХреНрд╕ рдЙрд╕ рдХреНрд╡реЗрд░реА рдХреЛ рдирд╣реАрдВ рд╕реБрдзрд╛рд░ рд╕рдХрддрд╛ рдЬреЛ рдХрд░реЛрдбрд╝реЛрдВ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реИ, рдЧрд▓рдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рдЧреНрд░реБрдк рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рд▓рд┐рдорд┐рдЯ рдХреЗ рдмрд┐рдирд╛ рдЬреЛрдЗрди рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрд╡реЗрд░реА рдХрд╛ рдЖрдХрд╛рд░ рдФрд░ рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВред
- рдпрд╣ рднреВрд▓рдирд╛ рдХрд┐ тАЬрдПрдХ рдмрд╛рд░ рддреЗрдЬтАЭ рд╣рдореЗрд╢рд╛ тАЬрд╣рдореЗрд╢рд╛ рддреЗрдЬтАЭ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдПрдХ рдХреНрд╡реЗрд░реА рд╕реБрдмрд╣ рдореЗрдВ рдареАрдХ рдЪрд▓ рд╕рдХрддреА рд╣реИ рдкрд░ рдбреЗрдЯрд╛ рдмрдврд╝рдиреЗ рдкрд░ рдпрд╛ рдХрдИ рд▓реЛрдЧ рдЬрдм рдПрдХ рд╣реА рд░рд┐рдкреЛрд░реНрдЯ рд░реАрдлреНрд░реЗрд╢ рдХрд░реЗрдВ рддреЛ рдзреАрдореА рдкрдбрд╝ рд╕рдХрддреА рд╣реИред
- рдлреЗрд▓рдУрд╡рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд┐рдирд╛ рдкреНрд▓рд╛рди рди рд╣реЛрдирд╛ред рдлреЗрд▓рдУрд╡рд░ рдХреЗ рджреМрд░рд╛рди рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкреНрд░рдореЛрдЯ рдпрд╛ рд░рд┐рдкреНрд▓реЗрд╕ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЕрдЧрд░ рдЖрдк рд╕реНрд╡рд┐рдЪ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рддреЗ рддреЛ рдХреНрд▓рд╛рдпрдВрдЯреНрд╕ рд░реАрдб-рдУрдирд▓реА рдПрд░рд░ рдпрд╛ рд╕реНрдЯреЗрд▓ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдВрдЧреЗред
рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг: рдЖрдкрдХрд╛ BI рдЯреВрд▓ тАЬрдЖрдЬ рдХреЗ рдСрд░реНрдбрд░тАЭ рдкреЗрдЬ рд╣рд░ рдорд┐рдирдЯ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдпрд╣ рд╣рд░ рд░рд┐рдлреНрд░реЗрд╢ рдкрд░ рдкрд╛рдВрдЪ рднрд╛рд░реА рдХреНрд╡реЗрд░реАрдЬ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ 20 рд▓реЛрдЧ рдЗрд╕реЗ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рдкреНрд░рддрд┐ рдорд┐рдирдЯ 100 рднрд╛рд░реА рдХреНрд╡реЗрд░реА рдмрд░реНрд╕реНрдЯ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред рдкреНрд░рд╛рдердорд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣ рд╕рдХрддрд╛ рд╣реИ, рдкрд░ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рддрдм рднреА рдврд╣ рд╕рдХрддреА рд╣реИред
рдЕрдЧрд░ рдЖрдк AppMaster рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрд▓рдЧ рд▓рдХреНрд╖реНрдп рдХреА рддрд░рд╣ рдорд╛рдиреЗрдВ рдФрд░ рдЙрд╕рдХреЗ рдЕрдкрдиреЗ рдХрдиреЗрдХреНрд╢рди рд▓рд┐рдорд┐рдЯ рдФрд░ "рддрд╛рдЬрд╝рдЧреА рдЖрд╡рд╢реНрдпрдХ" рдирд┐рдпрдо рд░рдЦреЗрдВ, рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд▓рддреА рд╕реЗ рд▓реИрдЧрд┐рдВрдЧ рдбреЗрдЯрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рди рд╣реЛрдВред
рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдЬреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рддреЗрдЬрд╝ рдмрдирд╛рддреЗ рд╣реИрдВ
рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдЖрдкрдХреЛ рд╕рд╛рдВрд╕ рд▓реЗрдиреЗ рдХреА рдЬрдЧрд╣ рджреЗрддрд╛ рд╣реИ, рдкрд░ рдпрд╣ рд╣рд░ рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ рдЕрдкрдиреЗ рдЖрдк рддреЗрдЬрд╝ рдирд╣реАрдВ рдмрдирд╛рддрд╛ред рдмреЗрд╣рддрд░реАрди рдирддреАрдЬреЗ рддрдм рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЖрдХрд╛рд░ рджреЗрдВ рдХрд┐ рд╡реЗ рдХрдо рдХрд╛рдо рдХрд░реЗрдВ рдФрд░ рдЬрд╝реНрдпрд╛рджрд╛ рдЕрдиреБрдорд╛рди рдпреЛрдЧреНрдп рд╣реЛрдВред рдпреЗ рдкреИрдЯрд░реНрди PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рднрд╛рд░реА рд╕реНрдХреИрди рдФрд░ рдмрд╛рд░-рдмрд╛рд░ рдПрдЧреНрд░реАрдЧреЗрд╢рди рдХрдо рдХрд░рддреЗ рд╣реИрдВред
"рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд▓реЗрдпрд░" рдЕрд▓рдЧ рд░рдЦреЗрдВ
рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реНрдХреАрдорд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, reporting) рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд┐рд░ рд╡реНрдпреВрдЬрд╝ рдФрд░ рд╕рд╣рд╛рдпрдХ рдЯреЗрдмрд▓ рд╣реЛрдВред рдпрд╣ BI рдЯреВрд▓реНрд╕ рдФрд░ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЛ рд╕реАрдзреЗ рд░реЙ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдирд▓ рдЯреЗрдмрд▓реНрд╕ рдкрд░ рдирд╣реАрдВ рдкрд╣реБрдБрдЪрдиреЗ рджреЗрддрд╛, рдФрд░ рдЖрдкрдХреЛ рдПрдХ рдЬрдЧрд╣ рджреЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╡реНрдпреВ рдЧрдВрджреЗ рдЬреЛрдЗрдиреНрд╕ рдЫреБрдкрд╛ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдбреИрд╢рдмреЛрд░реНрдб рдХреНрд╡реЗрд░реА рд╕рд░рд▓ рд░рд╣реЗред
рдорд╣рдБрдЧреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдкреНрд░реА-рдПрдЧреНрд░реАрдЧреЗрдЯ рдХрд░реЗрдВ
рдЕрдЧрд░ рдХреЛрдИ рдбреИрд╢рдмреЛрд░реНрдб рджрд┐рди рднрд░ рдПрдХ рд╣реА рдЯреЛрдЯрд▓реНрд╕ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ (рджреИрдирд┐рдХ рд░рд╛рдЬрд╕реНрд╡, рдСрд░реНрдбрд░ рд╕реНрдЯреЗрдЯрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░), рддреЛ рд╣рд░ рдкреЗрдЬ рд▓реЛрдб рдкрд░ рд╢реВрдиреНрдп рд╕реЗ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВред рд╕рд╛рд░рд╛рдВрд╢ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдпрд╛ materialized views рдмрдирд╛рдПрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЧреНрд░реБрдк рдХрд┐рдП рдирдВрдмрд░ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред
рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХрд▓реНрдк:
- рджреИрдирд┐рдХ рдпрд╛ рдШрдВрдЯрд╛рд╡рд╛рд░реА рд░реЛрд▓рдЕрдкреНрд╕ (рддрд╛рд░реАрдЦ, рдХреНрд╖реЗрддреНрд░, рдЪреИрдирд▓ рджреНрд╡рд╛рд░рд╛)
- тАЬрд▓реЗрдЯ рдиреЙрдЙрдитАЭ рд╕реНрдиреИрдкрд╢реЙрдЯ рдЯреЗрдмрд▓реНрд╕ (рдЗрдиреНрд╡реЗрдВрдЯрд░реА, рдЕрдХрд╛рдЙрдВрдЯ рдмреИрд▓реЗрдВрд╕)
- рдЯреЙрдк-N рдЯреЗрдмрд▓реНрд╕ (рд╢реАрд░реНрд╖ рдЙрддреНрдкрд╛рдж, рд╢реАрд░реНрд╖ рдЧреНрд░рд╛рд╣рдХ)
- рдлрд╝реИрдХреНрдЯ рдЯреЗрдмрд▓реНрд╕ рдЬрд┐рдирдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдиреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝реНрдб рдХреЙрд▓рдо рд╣реЛрдВ
рднрд╛рд░реА рдореАрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдкрд░ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░реЗрдВ
рдкреНрд░реА-рдПрдЧреНрд░реАрдЧреЗрд╢рдиреНрд╕ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдП рдЧрдП рдЬреЙрдмреНрд╕ рд╕реЗ рдСрдл-рдкреАрдХ рдореЗрдВ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░реЗрдВред рдЕрдЧрд░ рдмрд┐рдЬрдиреЗрд╕ 5 рдорд┐рдирдЯ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдереЛрдбрд╝реА рджреЗрд░реА рдХреЗ рдмрджрд▓реЗ рдмрд╣реБрдд рддреЗрдЬрд╝ рдбреИрд╢рдмреЛрд░реНрдб рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╣реБрдд рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП incremental updates (рдХреЗрд╡рд▓ рдирдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдкрд┐рдЫрд▓реА рд░рди рдХреЗ рдмрд╛рдж) рдЖрдо рддреМрд░ рдкрд░ рдкреВрд░реНрдг рд░рд┐рдлреНрд░реЗрд╢ рд╕реЗ рд╕рд╕реНрддреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЬреЛ рдЪреАрдЬрд╝реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рд░-рдмрд╛рд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдХреИрд╢ рдХрд░реЗрдВ
рдЕрдЧрд░ рд╡рд╣реА рдбреИрд╢рдмреЛрд░реНрдб рд╡рд┐рдЬреЗрдЯ рдмрд╛рд░-рдмрд╛рд░ рдорд╛рдВрдЧрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдРрдк рд▓реЗрдпрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдереЛрдбрд╝реЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХрд░реЗрдВ (30 рд╕реЗ 120 рд╕реЗрдХрдВрдб рдЕрдХреНрд╕рд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, тАЬTodayтАЩs salesтАЭ рдЯрд╛рдЗрд▓ рдХреЛ рдХрдВрдкрдиреА рдпрд╛ рд╕реНрдЯреЛрд░ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред AppMaster рдЬреИрд╕реЗ рдЯреВрд▓реНрд╕ рдореЗрдВ рдпрд╣ рдХреИрд╢рд┐рдВрдЧ рдЖрдо рддреМрд░ рдкрд░ рдЙрд╕ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЬреЛрдбрд╝рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ рдлреАрдб рджреЗрддрд╛ рд╣реИред
рд╕рд░рд▓ рдирд┐рдпрдо: рдЕрдЧрд░ рдХреЛрдИ рдХреНрд╡реЗрд░реА рдзреАрдореА рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рддреЛ рдпрд╛ рддреЛ рдЙрд╕реЗ рдкреНрд░реА-рдПрдЧреНрд░реАрдЧреЗрдЯ рдХрд░реЗрдВ, рдпрд╛ рдХреИрд╢ рдХрд░реЗрдВ, рдпрд╛ рджреЛрдиреЛрдВред
рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг: рдЪреЗрдХрдЖрдЙрдЯ рдзреАрдорд╛ рд╣реБрдП рдмрд┐рдирд╛ рд╕реЗрд▓реНрд╕ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ
рдПрдХ рдЫреЛрдЯреЗ рдИ-рдХреЙрдорд░реНрд╕ рдРрдк рдХрд╛ рдЪрд┐рддреНрд░ рджреЗрдЦреЗрдВред рдореБрдЦреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рджрд┐рди рднрд░ рд▓реЙрдЧрд┐рди, рдХрд╛рд░реНрдЯ, рдкреЗрдореЗрдВрдЯ рдФрд░ рдСрд░реНрдбрд░ рдЕрдкрдбреЗрдЯ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЯреАрдо рдПрдХ рдбреИрд╢рдмреЛрд░реНрдб рдЪрд╛рд╣рддреА рд╣реИ рдЬреЛ рдШрдгреНрдЯрд╛рд╡рд╛рд░реА рд░рд╛рдЬрд╕реНрд╡, рд╢реАрд░реНрд╖ рдЙрддреНрдкрд╛рдж рдФрд░ рд░рд┐рдлрдВрдб рджрд┐рдЦрд╛рддрд╛ рд╣реЛред
рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ, рдбреИрд╢рдмреЛрд░реНрдб рднрд╛рд░реА рдХреНрд╡реЗрд░реАрдЬ рдкреНрд░рд╛рдердорд┐рдХ рдкрд░ рдЪрд▓рд╛рддрд╛ рд╣реИред рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рдХреЗ рдкрд╛рд╕, рдХреЛрдИ "рдкрд┐рдЫрд▓реЗ 30 рджрд┐рди рдЙрддреНрдкрд╛рдж рдХреЗ рдЕрдиреБрд╕рд╛рд░" рдЪрд╛рд░реНрдЯ рдЦреЛрд▓рддрд╛ рд╣реИ рдФрд░ рдпрд╣ orders рдЯреЗрдмрд▓ рдХреЗ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕реНрдХреИрди рдХрд░ рджреЗрддрд╛ рд╣реИред рдЪреЗрдХрдЖрдЙрдЯ рдзреАрдорд╛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬ рд╡рд╣реА CPU, рдореЗрдореЛрд░реА рдФрд░ рдбрд┐рд╕реНрдХ рд░реАрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред
рд╕реБрдзрд╛рд░ рд╕рд░рд▓ рд╣реИ: рдбреИрд╢рдмреЛрд░реНрдб рд░реАрдбреНрд╕ рдХреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рд▓реЗ рдЬрд╛рдПрдБред PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде, рдкреНрд░рд╛рдердорд┐рдХ рддреЗрдЬрд╝ рд▓рд┐рдЦрд╛рдИ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛, рдЬрдмрдХрд┐ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рд▓рдВрдмреЗ рд░реАрдбреНрд╕ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдЧрд╛ред рдбреИрд╢рдмреЛрд░реНрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдУрд░ рдкреЙрдЗрдВрдЯ рдХрд░реЗрдЧрд╛, рди рдХрд┐ рдкреНрд░рд╛рдердорд┐рдХ рдХреА рдУрд░ред
рдЯреАрдо рд╕реНрдкрд╖реНрдЯ рддрд╛рдЬрд╝рдЧреА рдирд┐рдпрдо рднреА рд╕реЗрдЯ рдХрд░рддреА рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рдкрд░рдлреЗрдХреНрдЯ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдирдВрдмрд░ рдХреА рдЙрдореНрдореАрдж рди рдХрд░реЗ:
- рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ тАЬрдбреЗрдЯрд╛ X рдорд┐рдирдЯ рдкрд╣рд▓реЗ рдЕрдкрдбреЗрдЯ рд╣реБрдЖтАЭ рджрд┐рдЦрд╛рдПрдБ
- рд╕рд╛рдорд╛рдиреНрдп рдШрдВрдЯреЛрдВ рдореЗрдВ 5 рдорд┐рдирдЯ рддрдХ рдХреА рджреЗрд░реА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ
- рдЕрдЧрд░ рд▓реИрдЧ 10 рдорд┐рдирдЯ рд╕реЗ рдКрдкрд░ рдЬрд╛рдП рддреЛ рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ "рдбрд┐рд▓реЗрдб рдореЛрдб" рдореЗрдВ рдбрд╛рд▓ рджреЗрдВ рдФрд░ рд╕рдмрд╕реЗ рднрд╛рд░реА рдЪрд╛рд░реНрдЯреНрд╕ рдХреЛ рд░реЛрдХ рджреЗрдВ
- рдЪреЗрдХрдЖрдЙрдЯ рдФрд░ рдСрд░реНрдбрд░ рдЕрдкрдбреЗрдЯ рд╣рдореЗрд╢рд╛ рдкреНрд░рд╛рдердорд┐рдХ рдкрд░ рд░рдЦреЗрдВ
рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдо рд╕реНрдкрд╖реНрдЯ рд╣реЛрддреЗ рд╣реИрдВред рд░рд┐рдкреЛрд░реНрдЯ рд╕реНрдкрд╛рдЗрдХреНрд╕ рдХреЗ рджреМрд░рд╛рди рднреА рдЪреЗрдХрдЖрдЙрдЯ рд╕реНрдерд┐рд░ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдЪрд╛рд░реНрдЯ рддреЗрдЬрд╝ рд▓реЛрдб рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдм рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдиреНрд╕ рд╕реЗ рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реАрдзреЗ рдмрддрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ: рдбреИрд╢рдмреЛрд░реНрдб "рдирдЬрд╝рджреАрдХреА рд░реАрдпрд▓-рдЯрд╛рдЗрдо" рд╣реИ, рди рдХрд┐ рдЖрдЦрд╝рд┐рд░реА 10 рд╕реЗрдХреЗрдВрдб рдХрд╛ рд╕реНрд░реЛрдд рд╕рдЪреНрдЪрд╛рдИред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рд░рд┐рдХреЙрдиреНрд╕рд┐рд▓рд┐рдПрд╢рди рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдЯреЛрдЯрд▓ рдЪрд╛рд╣рд┐рдП, рддреЛ рд╡реЗ рд╢реЗрдбреНрдпреВрд▓реНрдб рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдпрд╛ рдПрдВрдб-рдСрдл-рдбреЗ рд░рд┐рдкреЛрд░реНрдЯ рдЪрд▓рд╛рдПрдБред
рдЕрдЧрд░ рдЖрдк AppMaster рдХреЗ рд╕рд╛рде рдРрдк рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд░реАрдб-рдУрдирд▓реА рдХрдиреЗрдХреНрд╢рди рдорд╛рдиреЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдирд▓ рдлреНрд▓реЛ рдкреНрд░реЗрдбрд┐рдХреНрдЯреЗрдмрд▓ рд░рд╣реЗрдВред
рдЬрд▓реНрджреА рдЪреЗрдХреНрд╕ рдФрд░ рдЕрдЧрд▓реЗ рдХрджрдо
рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреЛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдкреЙрдЗрдВрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рдВрдЬреНрдЮрд╛рдирд╛рддреНрдордХ рдЬрд╛рдБрдЪ рдХрд░ рд▓реЗрдВред рдХреБрдЫ рдЫреЛрдЯреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдЖрджрддреЗрдВ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╢реНрдЪрд░реНрдпреЛрдВтАФрд╕реНрдЯреЗрд▓ рдирдВрдмрд░, рдЯрд╛рдЗрдордЖрдЙрдЯ, рдФрд░ рдЖрдХрд╕реНрдорд┐рдХ рд░рд╛рдЗрдЯреНрд╕тАФрдХреЛ рд░реЛрдХ рджреЗрддреА рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рддреНрд╡рд░рд┐рдд рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
- рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рдиреНрд╕ рд░реАрдб-рдУрдирд▓реА рд░рдЦреЗрдВ (рдбреЗрдбрд┐рдХреЗрдЯреЗрдб рдпреВрдЬрд╝рд░ рдФрд░ рд░реАрдб-рдУрдирд▓реА рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдиреНрд╕ рд▓рд╛рдЧреВ рдХрд░реЗрдВ)ред
- рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдРрдк рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕реЗ рдЕрд▓рдЧ рд░рдЦреЗрдВ (рдЕрд▓рдЧ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдФрд░ рд╕рдордЭрджрд╛рд░реА рд╡рд╛рд▓реА рдХрдиреЗрдХреНрд╢рди рд▓рд┐рдорд┐рдЯ)ред
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдореЗрдВ рдЖрдкрдХреЗ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдЬрд┐рди рдЗрдВрдбреЗрдХреНрд╕реЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ рд╡реЗ рдореМрдЬреВрдж рд╣реИрдВ (рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдЗрдВрдбреЗрдХреНрд╕ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рдкрд░ рд╣рд╛рд▓ рдХреА рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдЪреЗрдХ рдХрд░ рд▓реЗрдВ)ред
- рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдФрд░ рд▓реЙрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдПрдХ рдЦрд░рд╛рдм рдЪрд╛рд░реНрдЯ рд╕рдм рдХреБрдЫ рд╣реИрдВрдЧ рди рдХрд░ рджреЗред
- рд╡реЗрд░рд┐рдлрд╛рдИ рдХрд░реЗрдВ рдХрд┐ рдЪрд╛рд░реНрдЯ рдЫреЛрдЯреЗ рдбреЗрд░рд┐рдпреЛрдВ рдХреЛ рд╕рд╣рди рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ (рдЬрд░реВрд░рдд рдкрд░ тАЬas ofтАЭ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рджрд┐рдЦрд╛рдПрдБ рдпрд╛ рдорд┐рдирдЯреЛрдВ рддрдХ рд░рд╛рдЙрдВрдб рдХрд░реЗрдВ)ред
рдПрдХ рдмрд╛рд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЗрдЯ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдЕрднреНрдпрд╛рд╕ рдорд╛рдиреЗрдВ, рди рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЕрдЧреНрдирд┐рд╢рдордиред рдпрд╣ рдЦрд╛рд╕рдХрд░ PostgreSQL рд░реАрдб рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИ, рдЬрд╣рд╛рдБ "рдХрд▓ рдХрд╛рдо рдХрд░ рдЧрдпрд╛" рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рдмрдврд╝рдиреЗ рдкрд░ рдЬрд▓реНрджреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ (10 рдорд┐рдирдЯ):
- рд░рд┐рдкреНрд▓рд┐рдХреЗрд╢рди рд▓реИрдЧ: рдЖрдо рд▓рдЧ рдФрд░ рдкреАрдХ рд╕реНрдкрд╛рдЗрдХреНрд╕ рджреЗрдЦреЗрдВред
- рд╕реНрд▓реЛ рдХреНрд╡реЗрд░реАрдЬ: рдХреБрд▓ рд╕рдордп рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдЯреЙрдк рдЕрдкрд░рд╛рдзрд┐рдпреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред
- рдХрдиреЗрдХреНрд╢рдиреНрд╕: рдореИрдХреНрд╕ рдХрдиреЗрдХреНрд╢рдиреНрд╕, рдкреВрд▓ рд╕реИрдЪреБрд░реЗрд╢рди, рдФрд░ piling idle рдХрдиреЗрдХреНрд╢рдиреНрд╕ рджреЗрдЦреЗрдВред
- рдбрд┐рд╕реНрдХ рдФрд░ CPU: рднрд╛рд░реА рд╕реНрдХреИрди рдХреЗ рджреМрд░рд╛рди рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕ рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░ рдмреЛрддрд▓рдиреАрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
- рдлреЗрд▓реНрдб рдХреНрд╡реЗрд░реАрдЬ: рдЯрд╛рдЗрдордЖрдЙрдЯ, рдХреИрдВрд╕рд┐рд▓реНрдб рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕, рдпрд╛ рдкрд░рдорд┐рд╢рди рдПрд░рд░ рджреЗрдЦреЗрдВред
рдЕрдЧрд▓реЗ рдХрджрдо рдЬреНрдпрд╛рджрд╛рддрд░ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдФрд░ рдлреЙрд▓рдмреИрдХ рдкреНрд▓рд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред рддрдп рдХрд░реЗрдВ рдХреМрди рд╕реЗ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рд╣рдореЗрд╢рд╛ рд░рд┐рдкреНрд▓рд┐рдХрд╛ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ (рдбреИрд╢рдмреЛрд░реНрдб, рдПрдХреНрд╕рдкреЛрд░реНрдЯреНрд╕, рдПрдбрдорд┐рди рд░рд┐рдкреЛрд░реНрдЯреНрд╕), рдФрд░ рдХреМрди рд╕реЗ рд╣рдореЗрд╢рд╛ рдкреНрд░рд╛рдердорд┐рдХ рдкрд░ рд░рд╣реЗрдВ (рдЬреЛ рдЕрджреНрдпрддрди-рддрдХ-рддреБрд░рдВрдд рдЪрд╛рд╣рд┐рдП)ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдХрд┐ рд▓реИрдЧ рдЖрдкрдХреА рд╕реАрдорд╛ рдкрд╛рд░ рдХрд░рдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛: рдЪреЗрддрд╛рд╡рдиреА рдмреИрдирд░ рджрд┐рдЦрд╛рдПрдБ, рдХреБрдЫ рдкреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдкрдврд╝рдиреЗ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХ рдкрд░ рд╡рд╛рдкрд╕ рд░реВрдЯ рдХрд░реЗрдВ, рдпрд╛ рд╕рдмрд╕реЗ рднрд╛рд░реА рдЪрд╛рд░реНрдЯреНрд╕ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдВред
рдЕрдЧрд░ рдЖрдк рдЖрдВрддрд░рд┐рдХ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдпрд╛ рдПрдбрдорд┐рди рдЯреВрд▓реНрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ AppMaster рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЙрдиреНрд╣реЗрдВ рдЬрд▓реНрджреА рдбрд┐рдкреНрд▓реЙрдп рдХрд░рдиреЗ рдХрд╛, рдЬрдмрдХрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реНрдХреНрд░реАрди рд░рд┐рдкреНрд▓рд┐рдХрд╛ рдХреА рдУрд░ рдкреЙрдЗрдВрдЯ рдХрд░ рдХреЗ рдЖрдкрдХрд╛ рдореБрдЦреНрдп рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдирд▓ рдРрдк рд╕реНрдореВрдж рдЪрд▓реЗред


