рд╣реИрд▓реЛ, рдЦрдмреНрд░реЛрд╡рд┐рдЯреНрд╕! рдореИрдВ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рдкрд╛рд╡рди рдкрд╛рдЯреАрдмрд╛рдВрдзрд▓рд╛ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ
"рдХреИрд╕реЗ рдПрдХ рдПрдХрд▓ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдЬрд╝ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ 50x рддрдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ
" рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд▓рд╛рддрд╛ рд╣реВрдВред рдЗрд╕рд╕реЗ рдореБрдЭреЗ PostgreSQL рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓реАред
рдЖрдпрд╛рдо рдкрд░, рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдЖрд╕рд╛рди-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЙрддреНрдкрд╛рдж рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рд░ рдХреЛрдИ рдЙрддреНрдкрд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдкрд╛ рд╕рдХреЗред рдкреНрд░рдпреЛрдЬреНрдп рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдореНрдкреНрд▓рд┐рдЯреНрдпреВрдб рдХреЛ рдЗрди рдЙрддреНрддрд░реЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рд╢рд┐рдХрд╛рдпрдд рдХреА рдХрд┐ рдПрдореНрдкреНрд▓рд┐рдЯреНрдпреВрдб рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдШрдЯрдирд╛ рдЧреБрдгреЛрдВ рдХреА рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛, рддреЛ рд╣рдордиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░реЛрдВ рдкрд░ рджреЗрд░реА рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдХреЗ, рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ PostgreSQL рдХреНрд╡реЗрд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ 20 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрд╛ред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рд╣реИрдВред
рдзреАрд░реЗ-рдзреАрд░реЗ рдирд┐рд╡реЗрджрди
рдЗрд╕ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП PostgreSQL рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдереАред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рд╣реИрдВ, PostgreSQL рдиреЗ рдПрдХ рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕реНрдХреИрдирд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реИрд╢ рдЬреНрд╡рд╛рдЗрди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреНрд╡реЗрд░реА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рдзреАрдореА рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛
рдореБрдЭреЗ рд╢реБрд░реВ рдореЗрдВ рд╕рдВрджреЗрд╣ рдерд╛ рдХрд┐ рдпрд╣ рд╡рд┐рдЦрдВрдбрди рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред рдЪреВрдВрдХрд┐ VACUUM рдХреЗ рд╕рд╛рде рдЬрдЧрд╣ рд╕рд╛рдл рдХрд░рдиреЗ рд╕реЗ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЖрдЧреЗ рдЦреБрджрд╛рдИ рд╢реБрд░реВ рдХрд░ рджреАред рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдХ рдЕрдЪреНрдЫреЗ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рднреА рдпрд╣реА рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ред рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рджрд┐рдЦреА!
рдХрд┐рд╕реА рдЕрдиреНрдп рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдорд╛рди рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛
рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди A рдХреЛ рдХреЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди B рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 10 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп 3,000 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдерд╛ред
рд╡реИрдХрд▓реНрдкрд┐рдХ PostgreSQL рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╣реИрд╢ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдХреНрд╡реЗрд░реА рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд┐рдпрд╛ред
рдзреАрдореА рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛
рдЦреИрд░ рдпрд╣рд╛рдБ! рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рдПрдХ рд╣реИрд╢ рдЬреЙрдЗрди рдХреЗ рдмрдЬрд╛рдп рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп 50 рдЧреБрдирд╛ рддреЗрдЬреА рд╕реЗ рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рддреЛ PostgreSQL рдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди A рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдпреЛрдЬрдирд╛ рдХреНрдпреЛрдВ рдЪреБрдиреА?
рджреЛрдиреЛрдВ рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЕрдиреБрдорд╛рдирд┐рдд рд▓рд╛рдЧрдд рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реАрдб рд╕рдордп рдкрд░ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд╕рд╛рде, рд▓рд╛рдЧрдд рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реАрдб рд╕рдордп рдХрд╛ рдЕрдиреБрдорд╛рдирд┐рдд рдЕрдиреБрдкрд╛рдд рдмрд╣реБрдд рдЕрд▓рдЧ рдерд╛ред рдЗрд╕ рд╡рд┐рд╕рдВрдЧрддрд┐ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЕрдкрд░рд╛рдзреА рдХреНрд░рдорд┐рдХ рд╕реНрдХреИрдирд┐рдВрдЧ рдХреА рд▓рд╛рдЧрдд рдХрд╛ рдЕрдиреБрдорд╛рди рдерд╛ред PostgreSQL рдХрд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕реНрдХреИрди 4000+ рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдХреИрди 50 рдЧреБрдирд╛ рддреЗрдЬ рдереЗред
рдпрд╣ рдореБрдЭреЗ
random_page_cost рдФрд░
seq_page_cost рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдУрд░ рд▓реЗ рдЧрдпрд╛ ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ PostgreSQL рдорд╛рди
random_page_cost ,
seq_page_cost рдХреЗ рд▓рд┐рдП
4 рдФрд░
1 рд╣реИрдВ, рдЬреЛ HDD рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд╣рд╛рдВ рдбрд┐рд╕реНрдХ рддрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╣реБрдВрдЪ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкрд╣реБрдВрдЪ рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рдВрдЧреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рд▓рд╛рдЧрдд рд╣рдорд╛рд░реА рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдереЗ
gp2 EBS рд╡реЙрд▓реНрдпреВрдо, рдЬреЛ рдареЛрд╕ рд░рд╛рдЬреНрдп рдбреНрд░рд╛рдЗрд╡ рд╣реИрдВред рд╣рдорд╛рд░реА рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкрд╣реБрдВрдЪ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИред
рдореИрдВрдиреЗ
random_page_cost рдХрд╛ рдорд╛рди
1 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдЕрдиреБрд░реЛрдз
рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ред рдЗрд╕ рдмрд╛рд░, PostgreSQL рдиреЗ рдиреЗрд╕реНрдЯрдб рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рдХреНрд╡реЗрд░реА 50 рдЧреБрдирд╛ рддреЗрдЬреА рд╕реЗ рдЪрд▓реАред рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ PostgreSQL рд╕реЗ рдЕрдзрд┐рдХрддрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореЗрдВ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рджреЗрдЦреАред
рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИред
рдпрджрд┐ рдЖрдк SSD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде PostgreSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ
random_page_cost рдФрд░
seq_page_cost рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛
рд╣реВрдВ ред рдЖрдк рдирд╛рдЯрдХреАрдп рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдкрд░ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рдЦреБрдж рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдореЗрдореЛрд░реА (рдХреИрд╢) рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдкреИрд░рд╛рдореАрдЯрд░
seq_page_cost = random_page_cost = 0.1 рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ PostgreSQL рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ RAM рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рд╣реИ (RAM рдХрд╛ рдЖрдХрд╛рд░ рдбрд┐рд╕реНрдХ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ)ред рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рдореБрджрд╛рдп рдЕрднреА рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рд░реИрдо рдФрд░ рдПрдЪрдбреАрдбреА рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ, рдФрд░ рдЖрдзреБрдирд┐рдХ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдареАрдХ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред