рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ред PostgreSQL рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ TimescaleDB рдФрд░ PipelineDB

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



рд▓реЗрдХрд┐рди, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ PostgreSQL рд╕реНрдЯреИрдХ рд╣реИ, рддреЛ рдЖрдк InfluxDB рдФрд░ рдЕрдиреНрдп рд╕рднреА рдЕрд╕реНрдерд╛рдпреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред PostgreSQL рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд╕реАрдзреЗ рджреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди, TimescaleDB рдФрд░ PipelineDB, рдФрд░ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрдВ рдФрд░ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рд╢реБрд░реВрдЖрдд рдХреЗ рдмрд┐рдирд╛, рдЕрд╕реНрдерд╛рдпреА рднрдВрдбрд╛рд░рдг рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдВрджрд░ рдЪрд▓рд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ред рдпреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреНрдпрд╛ рд╣реИрдВ, рдЙрдирдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рдХреНрд╖рдорддрд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ, рдЗрд╡рд╛рди рдореБрд░рд╛рдЯреЛрд╡ ( рдмрд┐рдирдХреЛрдЯ ) - "рдлрд░реНрд╕реНрдЯ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХрдВрдкрдиреА" рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рднрд╛рдЧ рдХреЗ рдкреНрд░рдореБрдЦ рдХреЛ рдмрддрд╛рдПрдВрдЧреЗ ред


рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рдпрд╛ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреНрдпрд╛ рд╣реИ?


рдпрд╣ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрд╕рдХреЗ рдЬреАрд╡рди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред

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

рд▓реЛрдХрдкреНрд░рд┐рдп рднрдВрдбрд╛рд░рдг рд╕рдорд╛рдзрд╛рди


рдореИрдВ db-engines.com рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдЧреНрд░рд╛рдл рдкрд┐рдЫрд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдЯреЛрд░реЗрдЬ рдореЙрдбрд▓ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред



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

рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд▓реЛрдХрдкреНрд░рд┐рдп рднрдВрдбрд╛рд░рдг рд╕рдорд╛рдзрд╛рди


рдЧреНрд░рд╛рдл рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рдзрд╛рди рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдкреИрдорд╛рдирд╛ рд▓рдШреБрдЧрдгрдХ рд╣реИред



рд╕реНрдерд┐рд░ рдиреЗрддрд╛ InfluxDBред рд╣рд░ рдХреЛрдИ рдЬреЛ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рдкрд░ рдЖрдпрд╛ рд╣реИ рдЙрд╕рдиреЗ рдЗрд╕ рдЙрддреНрдкрд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рдл рдЯрд╛рдЗрдореНрд╕рдХреНрд▓рдмрдбреАрдмреА рдореЗрдВ рджрд╕ рдЧреБрдирд╛ рд╡реГрджреНрдзрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ - рд╕рдВрдмрдВрдзрдкрд░рдХ рдбреАрдмреАрдПрдордПрд╕ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реВрд░рдЬ рдХреЗ рдиреАрдЪреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдЬрдЧрд╣ рдХреЗ рд▓рд┐рдП рд▓рдбрд╝ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рддрд╣рдд рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред

PostgreSQL рди рдХреЗрд╡рд▓ рдПрдХ рдЕрдЪреНрдЫрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рдмрд▓реНрдХрд┐ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рднреА рд╣реИред

Postgres, Postgis, рдФрд░ TimescaleDB


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

рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рд╣рдордиреЗ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪреЗ рдХреЛ рдЙрдиреНрдирдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рдореЛрдиреЛрд▓рд┐рде рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рд╣рдордиреЗ рдирдИ рдкреНрд░рдгрд╛рд▓реА рд╡рд▓рд┐рдпрдЯ рдХреЛ рдмреБрд▓рд╛рдпрд╛, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╣реИ - рд╕рднреА рд╡рд╛рд╣рдиреЛрдВ рдХрд╛ 90% рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдХреНрдпреЛрдВ PostgreSQL?


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

рдПрдХ рдирдП рд╕рдорд╛рдзрд╛рди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдПрдХ рдЬреЛрдЦрд┐рдо рд╣реИред

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

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

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

рд▓реЗрдХрд┐рди рд▓реЗрдЦ рд╕реНрд╡рдпрдВ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реИрдХрд░ рд╕рдорд╛рдЪрд╛рд░ рдкрд░ рд╡рд┐рд╖рдп , рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рд╡рд┐рд╖рдп рдХреЗ рд▓реЗрдЦрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐, рд▓реЗрдЦ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рдЧрднрдЧ рд╕рднреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ PostgreSQL 11 рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдФрд░ рдкреИрдирд╛рдкрди рдХреЗ рд▓рд┐рдП CitusDB рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд╕реНрдЯреНрд░реАрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдФрд░ рднреМрддрд┐рдХ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП PipelineDB, рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬ рдбреЗрдЯрд╛ рдФрд░ рд╕реЗрдХреНрд╢рдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП TimescaleDBред рд╡рд╣ рдХрдИ рд╡рд┐рджреЗрд╢реА рдбреЗрдЯрд╛ рд░реИрдкрд░реНрд╕ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

PostgreSQL рдФрд░ рдЙрд╕рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдПрдХ рдкрд╛рдЧрд▓ рдорд┐рд╢реНрд░рдг рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ PostgreSQL рд╕рд┐рд░реНрдл рдПрдХ DBMS рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдПрдХ рдордВрдЪ рд╣реИред

рдФрд░ рдЬрдм рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рднрдВрдбрд╛рд░рдг рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ... рдК!

рд╡рд┐рдбрдВрдмрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рд╢реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЖрдЙрдЯрдлреНрд▓рдХреНрд╕ рдорд┐рд▓рд╛, рдЬреЛ рдЯрд╛рдЗрдореНрд╕рдХреНрд▓рдмреАрдбреАрдмреА рдЯреАрдо рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдерд╛, рдЬрд┐рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ 1 рдЕрдкреНрд░реИрд▓ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рд╡рд╣ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИ? рдпрд╣ рдПрдХ рдХрдорд╛рдВрдб рдореЗрдВ InfluxDB рд╕реЗ TimescaleDB рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ ...

рдкреНрд░рдЪрд╛рд░ рдХреЗ рдмрд╛рдж!


рдкреНрд░рдЪрд╛рд░ рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдХрдо рдордд рд╕рдордЭреЛ! рд╣рдо рдЕрдХреНрд╕рд░ рдордЬрд╛рдХ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ "рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдЪрд╛рд░ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ," рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЯреНрдпреВрдирд┐рдВрдЧ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдШрдЯрдХреЛрдВ рдХреА рд╣рдорд╛рд░реА рдзрд╛рд░рдгрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред HighLoad ++ рдкрд░, рд╣рдо PostgreSQL рдкрд░ рдмрд╣реБрдд рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ, ClickHouse, Tarantool - рдпреЗ рдкреНрд░рдЪрд╛рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВред рдмрд╕ рдпрд╣ рдордд рдХрд╣реЛ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдкрд╕рдВрдж рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ... рдмреЗрд╢рдХ, рдпрд╣ рдореБрдЦреНрдп рдХрд╛рд░рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рд╣реИ?

рдореИрдВ 5 рд╕рд╛рд▓ рд╕реЗ PostgreSQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкрд╕рдВрдж рд╣реИред рд╡рд╣ рд▓рдЧрднрдЧ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рдзрдорд╛рдХреЗ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рде рд╣рд░ рдмрд╛рд░ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ, рдореЗрд░реЗ рдХреБрдЯрд┐рд▓ рд╣рд╛рдереЛрдВ рдХреЛ рджреЛрд╖ рджреЗрдирд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдЪреБрдирд╛рд╡ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдерд╛ред

TimescaleDB VS рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд▓рд╛рдЗрди


рдЪрд▓рд┐рдП TimescaleDB рдФрд░ PipelineDB рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВ?

TimescaleDB рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдЬреЛ рддреНрд╡рд░рд┐рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдФрд░ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред

PipelineDB рдПрдХ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ рдЬреЛ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░ SQL рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рдХрд╣рд╛рдиреА рд╣реИред Timescale рдХреА рд╕реНрдерд╛рдкрдирд╛ 2015 рдореЗрдВ рд╣реБрдИ рдереА, рдФрд░ 2013 рдореЗрдВ Pipelineред рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреНрд░рдорд╢рдГ 2017 рдФрд░ 2015 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдЯреАрдореЛрдВ рдХреЛ рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдореЗрдВ рджреЛ рд╕рд╛рд▓ рд▓рдЧ рдЧрдПред рджреЛрдиреЛрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдкреНрд░реЛрдбрдХреНрд╢рди рд░рд┐рд▓реАрдЬ рдкрд┐рдЫрд▓реЗ рдЕрдХреНрдЯреВрдмрд░ рдореЗрдВ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде рд╣реБрдПред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмрд╛рдж рдЬрд▓реНрджреА рдореЗрдВред

GitHub рдореЗрдВ рд╕рд┐рддрд╛рд░реЛрдВ рдФрд░ рдХрд╛рдВрдЯреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ, рдЬреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдПрдХ рднреА рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдХреИрд╕реЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡рд╣рд╛рдБ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрдИ рд╕рд┐рддрд╛рд░реЗ рд╣реИрдВ, TimescaleDB рдореЗрдВ PipelineDB рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЦреБрдж PostgreSQL рд╕реЗ рднреА рдЕрдзрд┐рдХ рд╣реИред

рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕рдорд╛рди рд▓рдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЦреБрдж рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд░рдЦрддреЗ рд╣реИрдВред

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

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

TimescaleDB


рдЕрдм рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗред рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ TimescaleDB рд╕реЗред рдореИрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 2 рд╕рд╛рд▓ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд░рд┐рд▓реАрдЬ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рддрдХ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ред рдЖрдЗрдП рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред

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

SELECT time_bucket('10 seconds', time) AS period, container_id, avg(free_mem) FROM metrics WHERE time < now() - interval '10 minutes' GROUP BY period, container_id ORDER BY period DESC, container_id; 

 period | container_id | avg -----------------------+--------------+--- 2019-06-24 12:01:00+00 | 16 | 72202 2019-06-24 12:01:00+00 | 73 | 837725 2019-06-24 12:01:00+00 | 96 | 412237 2019-06-24 12:00:50+00 | 16 | 1173393 2019-06-24 12:00:50+00 | 73 | 90104 2019-06-24 12:00:50+00 | 96 | 784596 

рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП ред рд╣рдореЗрдВ рдЙрди рдЯреНрд░рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рджрд┐рдиреЛрдВ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рд╛рд╕реНрдиреЛрдбрд╛рд░ рдФрд░ рдЙрдирдХреЗ рдХреБрд▓ рдЯрди рднрд╛рд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред

 SELECT time_bucket('1 day', time) AS day, count(*) AS trucks_exiting, sum(weight) / 1000 AS tonnage FROM vehicles INNER JOIN cities ON cities.name = 'Krasnodar' WHERE ST_Within(last_location, ST_Polygon(cities.geom, 4326)) AND NOT ST_Within(current_location, ST_Polygon(cities.geom, 4326)) GROUP BY day ORDER BY day DESC LIMIT 3; 

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

рдореБрджреНрд░рд╛ рджрд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА ред рддреАрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЕрдиреБрд░реЛрдз рдЖрдкрдХреЛ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ 2 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдмрд┐рдЯрдХреЙрдЗрди рдФрд░ рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЗрдереЗрд░рд┐рдпрдо рдХреА рдХреАрдордд рдХреИрд╕реЗ рдмрджрд▓ рдЧрдИ рд╣реИред

 SELECT time_bucket('14 days', c.time) AS period, last(c.closing_price, c.time) AS closing_price_btc, last(c.closing_price, c.time) * last(b.closing_price, c.time) filter (WHERE b.currency_code = 'USD') AS closing_price_usd FROM crypto_prices c JOIN btc_prices b ON time_bucket('1 day', c.time) = time_bucket('1 day', b.time) WHERE c.currency_code = 'ETH' GROUP BY period ORDER BY period DESC; 

рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП SQL рдХреЗ рд╕рдорд╛рди рд╣реА рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

TimescaleDB рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХреНрдпрд╛ рд╣реИ?


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



рдпрд╣ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдПрдХ рдорд╢реАрди рдкрд░ 1 рдмрд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдиреЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд╕рдордп, рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдШрдЯрдХ рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдФрд░ 10 рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЕрдЬрд╝реБрд░реЗ рд╡реАрдПрдо рдкрд░ 8 рдХреЛрд░ рдФрд░ 28 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд░реИрдо рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдПрд╕рдПрд╕рдбреА рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдореНрдорд┐рд▓рди 10 рд╣рдЬрд╛рд░ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдмреИрдЪреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

PostgreSQL рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЗрддрдиреА рдЧрд┐рд░рд╛рд╡рдЯ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдИ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдЖрдк рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЬрдм рд╡реЗ рдХреИрд╢ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдбрд┐рд╕реНрдХ рд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЙрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдбреЗрдЯрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ RAM рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдЗрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд╛рд░реНрдЯ рдХреЛ рджреЗрдЦреЗрдВред рдпрд╣ PostgreSQL 10 рдФрд░ TimescaleDB рд╣рд╛рдЗрдкрд░ рдЯреЗрдмрд▓ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдШреЛрд╖рд┐рдд рд╡рд┐рднрд╛рдЬрди рд╡рд┐рднрд╛рдЬрди рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рдХреНрд╖реИрддрд┐рдЬ рдЕрдХреНрд╖ рдкрд░, рд╡рд░реНрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред



TimescaleDB рдореЗрдВ, рдмрдврд╝рддреЗ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЧрд┐рд░рд╛рд╡рдЯ рдирдЧрдгреНрдп рд╣реИред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рд╕рд┐рдВрдЧрд▓ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ 10,000 рд╕реЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

PostgreSQL рдореЗрдВ, рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 3,000 рдХреЗ рдмрд╛рдж рдХрд╛рдлреА рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, PostgreSQL рдореЗрдВ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡рд┐рднрд╛рдЬрди рдПрдХ рдмрдбрд╝рд╛ рдХрджрдо рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдХрдо рд▓реЛрдб рд╡рд╛рд▓реЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рд▓, рдЦрд░реАрджрд╛рд░реЛрдВ рдФрд░ рдЕрдиреНрдп рдбреЛрдореЗрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

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

рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рд░реБрдЪрд┐ рд╣реИред рдЖрдЗрдП рдЗрд╕ рднрд╛рд╡рдирд╛ рдХреЛ рдордЬрдмреВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TimescaleDB рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдЬрд╛рдПрдВред

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

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

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

рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ:

  • "Time_bucket" - рдПрдХ рд╕реНрд╡рд╕реНрде рд╡реНрдпрдХреНрддрд┐ рдХрд╛ "date_trun";
  • рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо - рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдпрд╛ рдЕрдВрддрд┐рдо рдЬреНрдЮрд╛рдд рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдорд┐рд╕реНрдб рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рднрд░рдирд╛;
  • рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ - рд╕реЗрд╡рд╛рдПрдВ рдЬреЛ рдЖрдкрдХреЛ рдкреГрд╖реНрдарднреВрдорд┐ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ: рдкреБрд░рд╛рдиреЗ рд╡рд░реНрдЧреЛрдВ рдХреА рд╕рдлрд╛рдИ, рдкреБрдирд░реНрдЧрдардиред

TimescaleDB рдЖрдкрдХреЛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА PostgreSQL рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд░рд╣рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ ред рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди PostgreSQL рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕рдорд╛рдзрд╛рди, рдмреИрдХрдЕрдк рд╕рд┐рд╕реНрдЯрдо, рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдг рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред TimescaleDB Grafana, Periscope, Prometheus, Telegraf, Zabbix, Kubernetes, Kafka, Seeq, JackDB рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рд╣реИрдВред

рдЧреНрд░рд╛рдлрд╛рдирд╛ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ TimescaleDB рдХрд╛ рдореВрд▓ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рд╣реИред Grafana рдЙрд╕ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдордЭрддреЗ рд╣реИрдВ, рдЬреЛ PostcreSQL рдореЗрдВ TimescaleDB рд╣реИред рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ Grafana рдореЗрдВ рдХреНрд╡реЗрд░реА рдмрд┐рд▓реНрдбрд░ рдЕрддрд┐рд░рд┐рдХреНрдд TimescaleDB рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ "time_bucket", "first", "last"ред рдЖрдк рдЗрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╕реАрдзреЗ рд░реЗрдЦрд╛рдВрдХрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рд╡рд┐рд╢рд╛рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗред

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

рдЯреЗрд▓реАрдЧреНрд░рд╛рдл рдкреНрд▓рдЧрдЗрди рднреА рд╣реИред рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЛ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдбреЗрдЯрд╛ рддреБрд░рдВрдд TimescaleDB рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдл рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓рд╛рдЗрд╕реЗрдВрд╕ рдФрд░ рд╕рдорд╛рдЪрд╛рд░


рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдХрдВрдкрдиреА рдиреЗ рдПрдХ рдирдП рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рдореЙрдбрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб Apache 2.0 рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред рдПрдХ рдЫреЛрдЯрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЯреАрдПрд╕рдПрд▓ рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред

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

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

рдЦрдмрд░ рд╕реЗ:

  • рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдПрдХ рдЖрдзрд╛;
  • $ 31 рдорд┐рд▓рд┐рдпрди рдХрд╛ рдирд┐рд╡реЗрд╢;
  • IoT рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ MS Azure рдХреЗ рд╕рд╛рде рд╕рдХреНрд░рд┐рдп рд╕рд╣рдпреЛрдЧред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛


TimescaleDB рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ PostgreSQL рдореЗрдВ рдореВрд▓ рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдиреНрдпреВрдирддрдо рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рднрд╛рдЬрди рдкреНрд░рдгрд╛рд▓реА рд╣реИред

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

PipelineDB


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

рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд╛рднреЛрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреНрд░реЗрд░рдгрд╛ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред

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

 CREATE CONTINUOUS VIEW v AS SELECT url::text, count(*) AS total_count, count(DISTINCT cookie::text) AS uniques, percentile_cont(0.99) WITHIN GROUP (ORDER BY latency::integer) AS p99_latency FROM page_views GROUP BY url; 

 url | total_count | uniques | p99_latency -----------+-------------+---------+------------ some/url/0 | 633 | 51 | 178 some/url/1 | 688 | 37 | 139 some/url/2 | 508 | 88 | 121 some/url/3 | 848 | 36 | 59 some/url/4 | 126 | 64 | 159 

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

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

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

 CREATE STREAM ab_event_stream ( name text, ab_group text, event_type varchar(1), cookie varchar(32) ); CREATE CONTINUOUS VIEW ab_test_monitor AS SELECT name, ab_group, sum(CASE WHENevent_type = 'v' THEN 1 ELSE 0 END) AS view_count, sum(CASE WHENevent_type = 'c' THEN 1 ELSE 0 END) AS conversion_count, count(DISTINCT cookie) AS uniques FROM ab_event_stream GROUP BY name, ab_group; 

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

рд╕реНрдЯреНрд░реАрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╣рдордиреЗ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдФрд░ рдирд┐рд░рдВрддрд░ рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реНрдЯреНрд░реАрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

 INSERT INTO ab_event_stream (name, ab_group, event_type, cookie) SELECT round(random() * 2) AS name, round(random() * 4) AS ab_group, (CASE WHENrandom() > 0.4 THEN 'v' ELSE 'c' END) AS event_type, md5(random()::text) AS cookie FROM generate_series(0, 100000); SELECT ab_group, uniques FROM ab_test_monitor; SELECT ab_group, view_count * 100 / (conversion_count + view_count) AS conversion_rate FROM ab_test_monitor; 

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

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

рдЯреЛрдкреЛрд▓реЙрдЬреА


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



PostgreSQL рдХреЗ рдЕрдВрджрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд▓рд╛рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдбреЗрд░реЗрдХ рдиреЗрд▓реНрд╕рди рдХреА рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рд╕реЗ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдзрд╛рд░рд╛рдУрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рд╕реНрддрд╛рд░ рднреА "рдкрд░рд┐рд╡рд░реНрддрди" рдХрд╛ рдПрдХ рдЕрдореВрд░реНрдд рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдпрд╛ рдореНрдпреВрдЯреЗрдЯрд░ред рдпрд╣ рджреГрд╢реНрдп, рд▓реЗрдХрд┐рди рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╣реИред рдЗрди рдореНрдпреВрдЯреЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореНрдпреВрдЯреЗрдЯрд░ рд╕реЗ, рдпрд╣ рд╕рднреА CONTINUOUS VIEW рд╡реНрдпреВ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдореЗрдВ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛рдЫ рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд┐рд╕реА рдХреЛ рднреА рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


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

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

TimescaleDB рдХреА рддрд░рд╣, PipelineDB рдПрдХреНрд╕рдЯреЗрдВрд╢рди PostgreSQL рдореЗрдВ SQL рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИ ред рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рджреЛ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

рд╕рдВрднрд╛рд╡реНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди ред рд╡рд┐рд╕реНрддрд╛рд░ "рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ "SELECT DISTINCT" рдХреЗ рд▓рд┐рдП, "COUNT (DISTINCT)" рдХреЗ рд▓рд┐рдП HyperLogLog, рдФрд░ SQL рдореЗрдВ рд╕реАрдзреЗ "centile_count ()" рдХреЗ рд▓рд┐рдП T-Digestред рдЗрд╕рд╕реЗ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИред

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

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

рд▓рд╛рдЗрд╕реЗрдВрд╕ рдФрд░ рд╕рдорд╛рдЪрд╛рд░


рд╕рднреА рдХреЛрдб Apache 2.0 рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╢реВрдЯрд┐рдВрдЧ рджреАрд░реНрдШрд╛рдУрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╢реБрд▓реНрдХ рд╕рджрд╕реНрдпрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИред PipelineDB рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХрдВрдкрдиреА рд╕реНрдЯреНрд░рд╛рдЗрдб рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реВрдВ, рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдПрдХ "рд▓реЗрдХрд┐рди" рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред 1 рдордИ, 2019 рдХреЛ, рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд▓рд╛рдЗрди рдЯреАрдо рдиреЗ рдШреЛрд╖рдгрд╛ рдХреА рдХрд┐ рдпрд╣ рдЕрдм рдХрдВрдлреНрд▓реБрдПрдВрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдпрд╣ рдХрдВрдкрдиреА рд╣реИ рдЬреЛ рдХреЗрдПрд╕рдХреНрдпреВрдПрд▓ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреА рд╣реИ - рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдлреНрдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЬрдиред рдЕрдм рдкреЙрдбрдХрд╛рд╕реНрдЯ рдбреЗрдмреНрд░рд┐рдВрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╣-рд╕рдВрд╕реНрдерд╛рдкрдХ рд╡рд┐рдХреНрдЯрд░ рдЧрд╛рдореЛрд╡ рд╡рд╣рд╛рдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? PipelineDB рд╕рдВрд╕реНрдХрд░рдг 1.0.0 рдкрд░ рдЬрдо рдЧрдпрд╛ред рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдпреЛрдЬрдирд╛рдмрджреНрдз рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдЧреНрд░рд╣рдг рдХреЗ рдХрд╛рд░рдг, рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ PostgreSQL рдХреЗ рд╕рд╛рде рдХрд╛рдлреНрдХрд╛ рдХрд╛ рдЙрдмреЗрд░ рдПрдХреАрдХрд░рдгред рд╢рд╛рдпрдж рдпрд╣ рдкреНрд▓рдЧ -реЗрдмрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрдВрдлреНрд▓реБрдПрдВрдЯ рд╣реИ рдЬреЛ рдХреБрдЫ рд╢рд╛рдВрдд рдХрд░реЗрдЧрд╛ред

рдХреНрдпрд╛ рдХрд░реЗрдВ? TimescaleDB рдкрд░ рдЬрд╛рдПрдВред рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рд╛рдареА рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ "CONTINUOUS VIEW" рдмрдирд╛рдпрд╛ред рдмреЗрд╢рдХ, рдЕрдм рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд▓рд╛рдЗрди рдХреА рддрд░рд╣ рд╢рд╛рдВрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордп рдХреА рдмрд╛рдд рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛


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

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

рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ TimescaleDB рд╕реЗ "CONTINUOUS VIEW" рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рддреЛ PipelineDB рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдпрд╣ рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред рдпрд╣ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдм рдЗрд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЪреАрдЬреЗрдВ рдмрджрд▓ рд╕рдХрддреА рд╣реИрдВ, рдХреЙрдиреНрдлреНрд▓реБрдПрдВрдЯ рдиреЗ рдЕрднреА рддрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИред

TimescaleDB рдФрд░ PipelineDB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


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



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

рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди рдлрд╛рдпрджреЗ рд╣реИрдВред

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

рдЧреНрд░рд╛рдлрд╛рдирд╛ рдиреЗ TimescaleDB рдлреАрдЪрд░ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдЯ-рдЗрди рд╕рдкреЛрд░реНрдЯ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдкрдЯрд░рд┐рдпреЛрдВ рддрдХ, рдмреЙрдХреНрд╕ рд╕реЗ рд╕реАрдзреЗ рд╡реНрдпрд╛рдкрд╛рд░ рдореАрдЯреНрд░рд┐рдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рд╡рд┐рднрд╛рдЧ рдЦреБрд╢ рд╣реЛрдЧрд╛ред

рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╕рдм рдХреБрдЫ "рдЯрдЪ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, GitHub рдкрд░ рдбреЗрдореЛ рджреЗрдЦреЗрдВ рдФрд░ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдХреЛ рдЪрд▓рд╛рдПрдВ - рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдЕрдВрджрд░ рдирд╡реАрдирддрдо PostgreSQL, TimescaleDB рдФрд░ PipelineDB рд╕реЗред

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


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

рдпреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ PostgreSQL рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕рдорд╛рдзрд╛рди, рдмреИрдХрдЕрдк рд╕рд┐рд╕реНрдЯрдо, рдирд┐рдЧрд░рд╛рдиреА рдФрд░ рд▓реЙрдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдгред рдЕрдЧрд░ JSONB рдХреЙрд▓рдо рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ MongoDB рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдЧрд░ TimescaleDB рд╣реИ рддреЛ рд╣рдореЗрдВ InfluxDB рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╡рд╛рди рдХреА рдХрд╣рд╛рдиреА рдкрд╕рдВрдж рд╣реИ рдФрд░ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? 7 рд╕рд┐рддрдВрдмрд░ рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рд╕реНрдХреЛ рдореЗрдВ рд╣рд╛рдИрд▓рд╛рдб ++ рдкрд░ рдЖрд╡реЗрджрди рдХрд░реЗрдВ ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдзреАрд░реЗ-рдзреАрд░реЗ рднрд░ рд░рд╣рд╛ рд╣реИред , , , , . , !

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


All Articles