рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB

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

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB

#1. рд╕реЗрдХреНрд╢рдирд┐рдВрдЧ

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

"рдмреАрддреЗ рджрд┐рдиреЛрдВ рдХреА рдмрд╛рддреЗрдВ..."

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

рд╡рд╣ рд╕рдордп рд▓рдЧрднрдЧ рдорд╣рд╛рдХрд╛рд╡реНрдп рдХрд╛рд▓ рдЬреИрд╕рд╛ рдерд╛, PostgreSQL 9.x рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдереЗ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рд╡рд┐рднрд╛рдЬрди "рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ" рдХрд░рдирд╛ рдкрдбрд╝рд╛ - рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреЗрдмрд▓ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдФрд░ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдЧрддрд┐рд╢реАрд▓ рдХреЗ рд╕рд╛рде рд░реВрдЯрд┐рдВрдЧ EXECUTE.

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB
рдкрд░рд┐рдгрд╛рдореА рд╕рдорд╛рдзрд╛рди рдЗрддрдирд╛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд┐рдХрд▓рд╛ рдХрд┐ рдЗрд╕рдХрд╛ рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдПрдХ рдЦрд╛рд▓реА "рд╣реЗрдбрд░" рдореВрд▓ рддрд╛рд▓рд┐рдХрд╛ рдШреЛрд╖рд┐рдд рдХреА рдЧрдИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдФрд░ рдЯреНрд░рд┐рдЧрд░.
  • рдЧреНрд░рд╛рд╣рдХ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд░рд┐рдХреЙрд░реНрдб "рд░реВрдЯ" рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдФрд░ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рд░реВрдЯрд┐рдВрдЧ рдЯреНрд░рд┐рдЧрд░ BEFORE INSERT рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ "рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ" рдбрд╛рд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдЕрднреА рддрдХ рдРрд╕реА рдХреЛрдИ рдЪреАрдЬрд╝ рдирд╣реАрдВ рдереА, рддреЛ рд╣рдордиреЗ рдПрдХ рдЕрдкрд╡рд╛рдж рдкрдХрдбрд╝рд╛ рдФрд░...
  • тАж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ CREATE TABLE ... (LIKE ... INCLUDING ...) рдореВрд▓ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рд╡рд╛рдВрдЫрд┐рдд рддрд┐рдерд┐ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд╡рд╛рд▓рд╛ рдЕрдиреБрднрд╛рдЧрддрд╛рдХрд┐ рдЬрдм рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рд░реАрдбрд┐рдВрдЧ рдХреЗрд╡рд▓ рдЙрд╕реА рдореЗрдВ рдХреА рдЬрд╛рдПред

рдкреАрдЬреА10: рдкрд╣рд▓рд╛ рдкреНрд░рдпрд╛рд╕

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

PG10 рдореЗрдВ рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдХрд╛рдлреА рд╣рдж рддрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдореВрд▓ рд╡рд┐рднрд╛рдЬрди. рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди...

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдиреБрдЕрд▓ рдХреЛ рдЦрдВрдЧрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж рдкрддрд╛ рдЪрд▓рд╛, рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рд╣реИ:

  • рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд┐рд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛
  • рдЗрд╕ рдкрд░ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛
  • рдХрд┐рд╕реА рдХрд╛ "рд╡рдВрд╢рдЬ" рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛
  • рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ INSERT ... ON CONFLICT
  • рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рдЕрдиреБрднрд╛рдЧ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

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

рдкреАрдЬреА10: рджреВрд╕рд░рд╛ рдореМрдХрд╛

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛:

  1. рдХреНрдпреЛрдВрдХрд┐ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдФрд░ ON CONFLICT рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╣рдореЗрдВ рдЕрднреА рднреА рдпрд╣рд╛рдВ-рд╡рд╣рд╛рдВ рдЙрдирдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЙрди рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдг рдмрдирд╛рдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рдЯреЗрдмрд▓.
  2. "рд░реВрдЯрд┐рдВрдЧ" рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓ рдЧрдпрд╛ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдореЗрдВ - рдпрд╛рдиреА, рд╕реЗ EXECUTE.
  3. рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рд╕рднреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдЯреЗрдореНрдкрд▓реЗрдЯ рддрд╛рд▓рд┐рдХрд╛рддрд╛рдХрд┐ рд╡реЗ рдкреНрд░реЙрдХреНрд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рднреА рдореМрдЬреВрдж рди рд╣реЛрдВред

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB
рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рд╕рдм рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдореБрдЦреНрдп рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ред рдПрдХ рдирдП рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЕрднреА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

"рдХрд╛рдЯрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп" рд╢рдмреНрджрдХреЛрд╢

рдХрд┐рд╕реА рднреА рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рдгрд╛рд▓реА рдХреА рддрд░рд╣, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднреА рдерд╛ "рддрдереНрдп" рдФрд░ "рдХрдЯреМрддреА" (рд╢рдмреНрджрдХреЛрд╢)ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рдХреНрд╖рдорддрд╛ рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЗрдореНрдкрд▓реЗрдЯ рдмреЙрдбреА рд╕рдорд╛рди рдзреАрдореА рдХреНрд╡реЗрд░реА рдпрд╛ рд╕реНрд╡рдпрдВ рдХреНрд╡реЗрд░реА рдХрд╛ рдкрд╛рдаред

"рддрдереНрдпреЛрдВ" рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдХрд╛рдлреА рд╕рдордп рд╕реЗ рджрд┐рди-рдм-рджрд┐рди рдЦрдВрдбрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд╢рд╛рдВрддрд┐рдкреВрд░реНрд╡рдХ рдкреБрд░рд╛рдиреЗ рдЦрдВрдбреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ (рд▓реЙрдЧ!)ред рд▓реЗрдХрд┐рди рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА...

рдпрд╣ рдХрд╣рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдереЗ, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ 100TB "рддрдереНрдпреЛрдВ" рдХрд╛ рдкрд░рд┐рдгрд╛рдо 2.5TB рд╢рдмреНрджрдХреЛрд╖ рдореЗрдВ рд╣реБрдЖ. рдЖрдк рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдХреБрдЫ рднреА рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛ рд╕рдХрддреЗ, рдЖрдк рдЗрд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдФрд░ рдЗрд╕ рдкрд░ рд▓рд┐рдЦрдирд╛ рдзреАрд░реЗ-рдзреАрд░реЗ рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛ред

рдПрдХ рд╢рдмреНрджрдХреЛрд╖ рдХреА рддрд░рд╣... рдЗрд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдареАрдХ рдПрдХ рдмрд╛рд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП... рдФрд░ рдпрд╣ рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди!.. рд╣рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдирд╣реАрдВ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╢рдмреНрджрдХреЛрд╢! рд╣рд╛рдБ, рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрддрд┐рд░реЗрдХ рд▓рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

  • рддреЗрдЬреА рд╕реЗ рд▓рд┐рдЦреЗрдВ/рдкрдврд╝реЗрдВ рдЫреЛрдЯреЗ рдЕрдиреБрднрд╛рдЧ рдЖрдХрд╛рд░ рдХреЗ рдХрд╛рд░рдг
  • рдХрдо рдореЗрдореЛрд░реА рдЦрдкрдд рдХрд░реЗрдВ рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдХреЗ
  • рдХрдо рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ рдкреБрд░рд╛рдиреЗ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░рдг

рдЙрдкрд╛рдпреЛрдВ рдХреЗ рдкреВрд░реЗ рдкрд░рд┐рд╕рд░ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реАрдкреАрдпреВ рд▓реЛрдб ~30% рдХрдо рд╣реБрдЖ, рдбрд┐рд╕реНрдХ рд▓реЛрдб ~50% рдХрдо рд╣реБрдЖ:

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB
рд╕рд╛рде рд╣реА, рд╣рдордиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдЪреАрдЬрд╝ рд▓рд┐рдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛, рдмрд╕ рдХрдо рд▓реЛрдб рдХреЗ рд╕рд╛рдеред

#2. рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ

рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬреЛ рд╣реИ рдЙрд╕ рдкрд░ рд╣рдордиреЗ рд╕рдордЭреМрддрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХрд╛ рдЕрдкрдирд╛ рдЕрдиреБрднрд╛рдЧ рд╣реЛрддрд╛ рд╣реИ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, CHECK (dt = '2018-10-12'::date) - рдФрд░ рдПрдХ рд╡рд┐рднрд╛рдЬрди рдХреБрдВрдЬреА рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЖрдиреЗ рдХреА рд╢рд░реНрдд рд╣реИред

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

рд▓реЗрдХрд┐рди рдЕрдм рд╡реЗ рд╣рд░ рддрдмрдХреЗ рдкрд░ рд░рд╣рддреЗ рд╣реИрдВ рдЖрдкрдХреА рдкреНрд░рддрд┐рдпрд╛рдБ рдРрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЪрдХрд╛рдВрдХ... рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдХреЗ рднреАрддрд░ рджрд┐рдирд╛рдВрдХ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИ...рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рдРрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рд╣реИрдВ рдмрд╕ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рджрд░реНрдЬ рдХрд░реЗрдВ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬреЛ рдЗрд╕рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд╕рдордп рджреЛрдиреЛрдВ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд▓рд╛рддрд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рд░реЗрдХ рдЕрдкрдиреЗ рдКрдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдЙрдлрд╝...

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB
рдЕрдиреБрдХреВрд▓рди рдХреА рджрд┐рд╢рд╛ рд╕реНрдкрд╖реНрдЯ-рд╕рд░рд▓ рд╣реИ рд╕рднреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рдУрдВ рд╕реЗ рджрд┐рдирд╛рдВрдХ рдлрд╝реАрд▓реНрдб рд╣рдЯрд╛рдПрдБ рд╡рд┐рднрд╛рдЬрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░. рд╣рдорд╛рд░реА рдорд╛рддреНрд░рд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд▓рд╛рдн рд▓рдЧрднрдЧ рд╣реИ 1рдЯреАрдмреА/рд╕рдкреНрддрд╛рд╣!

рдЕрдм рдЖрдЗрдП рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдХреЛ рдЕрднреА рднреА рдХрд┐рд╕реА рддрд░рд╣ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рдпрд╛рдиреА рд╣рдо рднреА рдбрд┐рд╕реНрдХ рдХреЛ рдЕрдм рдХрдо рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП! рдпрд╣ рдЪрд┐рддреНрд░ рд╕рдлрд╝рд╛рдИ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рднрд╛рд╡ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рд╕рдкреНрддрд╛рд╣ рд╕рдорд░реНрдкрд┐рдд рдХрд┐рдпрд╛:

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB

#3. рдЪрд░рдо рднрд╛рд░ рдХреЛ "рдлреИрд▓рд╛рдирд╛"ред

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

рдЖрдЗрдП рдкрд┐рдЫрд▓реА рддрд╕реНрд╡реАрд░ рдкрд░ рдЬрд╝реВрдо рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдбрд┐рд╕реНрдХ рд╣реИ рджреЛрд╣рд░реЗ рдЖрдпрд╛рдо рдХреЗ рд╕рд╛рде рднрд╛рд░ рдХреЗ рдиреАрдЪреЗ "рдкрдВрдк"ред рдЖрд╕рдиреНрди рдирдореВрдиреЛрдВ рдХреЗ рдмреАрдЪ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ "рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ" рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB

рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ. рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдирд┐рдЧрд░рд╛рдиреА рд╢реБрд░реВ рдХрд░ рджреА рд╣реИ рд▓рдЧрднрдЧ 1000 рд╕рд░реНрд╡рд░, рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рддрд╛рд░реНрдХрд┐рдХ рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рднреЗрдЬреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдВрдЪрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

setInterval(sendToDB, interval)

рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдЗрд╕реА рддрдереНрдп рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рд╕рднреА рдзрд╛рдЧреЗ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рд╕рдордп рдкрд░ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХрд╛ рднреЗрдЬрдиреЗ рдХрд╛ рд╕рдордп рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ "рдЯреВ рдж рдкреЙрдЗрдВрдЯ" рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЙрдлрд╝ #2...

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ, рдПрдХ "рдпрд╛рджреГрдЪреНрдЫрд┐рдХ" рд░рди-рдЕрдк рдЬреЛрдбрд╝рдирд╛ рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░:

setInterval(sendToDB, interval * (1 + 0.1 * (Math.random() - 0.5)))

#4. рд╣рдореЗрдВ рдЬреЛ рдЪрд╛рд╣рд┐рдП рдЙрд╕реЗ рд╣рдо рдХреИрд╢ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ

рддреАрд╕рд░реА рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╣рд╛рдИрд▓реЛрдб рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХреЛрдИ рдХреИрд╢ рдирд╣реАрдВ рдХрд╣рд╛рдВ рд╣реИ рд╡рд╣ рд╕рдХрддрд╛ рд╣реИ рд╣реЛрдирд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдпреЛрдЬрдирд╛ рдиреЛрдбреНрд╕ (рдЗрди рд╕рднреА) рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИ Seq Scan on users), рд▓реЗрдХрд┐рди рддреБрд░рдВрдд рд╕реЛрдЪреЗрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╡реЗ рд╡рд╣реА рд╣реИрдВ - рд╡реЗ рднреВрд▓ рдЧрдПред

рдирд╣реАрдВ, рдмреЗрд╢рдХ, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджреЛрдмрд╛рд░рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрдЯ рдЬрд╛рддрд╛ рд╣реИ INSERT ... ON CONFLICT DO NOTHING. рд▓реЗрдХрд┐рди рдпрд╣ рдбреЗрдЯрд╛ рдЕрднреА рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИ рд╕рдВрдШрд░реНрд╖ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдкрдврд╝рдирд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред рдЙрдлрд╝ #3...

рдХреИрд╢рд┐рдВрдЧ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ/рдмрд╛рдж рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдВрддрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ:

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB

рдФрд░ рдпрд╣ рднрдВрдбрд╛рд░рдг рднрд╛рд░ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рд╕рд╛рде рд╣реИ:

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░

"рдкреНрд░рддрд┐ рджрд┐рди рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ" рдбрд░рд╛рд╡рдирд╛ рд▓рдЧрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ 2^40 рдмрд╛рдЗрдЯреНрд╕ / 86400 рд╕реЗрдХрдВрдб = ~12.5MB/sрдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдЖрдИрдбреАрдИ рд╕реНрдХреНрд░реВ рднреА рдкрдХрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред ЁЯЩВ

рд▓реЗрдХрд┐рди рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, рджрд┐рди рдХреЗ рджреМрд░рд╛рди рд▓реЛрдб рдХреЗ рджрд╕ рдЧреБрдирд╛ "рддрд┐рд░рдЫрд╛" рд╣реЛрдиреЗ рдкрд░ рднреА, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдзреБрдирд┐рдХ рдПрд╕рдПрд╕рдбреА рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо PostgreSQL рдореЗрдВ рд╕рдмрд▓рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: 1 рд╣реЛрд╕реНрдЯ, 1 рджрд┐рди, 1TB

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ