{"id":496647,"date":"2026-09-30T04:00:09","date_gmt":"2026-09-30T04:00:09","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=496647"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2026-09-30T04:00:09","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=496647","title":{"rendered":"Greenplum \u043a\u0430\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 PostgreSQL 19"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421 2017 \u0433\u043e\u0434\u0430 \u044f \u0441\u043b\u0435\u0436\u0443 \u0437\u0430 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0432\u043e\u043a\u0440\u0443\u0433 PostgreSQL \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u0440\u0430\u043d\u044c\u0448\u0435 \u0432 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b AWS Redshift \u0441\u043e \u0432\u0441\u0435\u043c \u0435\u0433\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u043c\u0438 \u0438 \u043d\u0435\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430\u043c\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043a\u0430\u043a \u0444\u043e\u0440\u043a\u0430 \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL. \u041f\u043e \u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 PostgreSQL \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0421\u0423\u0411\u0414, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 PostGIS \/ pgvector \u0438\u0442\u043f.<\/p>\n<p>Citus \u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0431\u043b\u0438\u0436\u0435 \u0432\u0441\u0435\u0445 \u043a \u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u043d\u043e \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u043c Massively Parallel Processing \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c, \u0441\u043a\u043e\u0440\u0435\u0435 \u044d\u0442\u043e \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f OLTP \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438.<\/p>\n<p>Greenplum \u043a\u0430\u043a MPP \u0444\u043e\u0440\u043a \u0432\u0441\u0435\u043c \u0445\u043e\u0440\u043e\u0448 \u0438 \u043c\u043d\u043e\u0433\u043e \u043a\u0442\u043e \u0435\u0433\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u0435\u0442 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445, \u043d\u043e \u0432\u0435\u0440\u0441\u0438\u044f PostgreSQL, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d \u0441\u043e\u0437\u0434\u0430\u043d, \u043e\u0442\u0441\u0442\u0430\u0435\u0442 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0439. \u042f \u0440\u0435\u0448\u0438\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c Apache Cloudberry, \u043a\u0430\u043a \u0441\u0430\u043c\u0443\u044e \u0441\u0432\u0435\u0436\u0443\u044e open source \u0432\u0435\u0440\u0441\u0438\u044e Greenplum, \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f PostgreSQL 19. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u044d\u0442\u043e \u043b\u0438\u0447\u043d\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u0430 \u043d\u0435 \u0430\u043f\u0441\u0442\u0440\u0438\u043c \u0440\u0435\u043b\u0438\u0437 Apache Cloudberry. \u0411\u043e\u043b\u0435\u0435 90% \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e LLM \u0438 59% \u0435\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u0442\u0430\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043d\u0430 \u0435\u0433\u043e \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0423 \u043c\u0435\u043d\u044f \u043d\u0430 \u044d\u0442\u043e \u0443\u0448\u043b\u043e 12 \u0434\u043d\u0435\u0439\u2026<\/p>\n<p>Greenplum \u043a\u0430\u043a MPP \u0444\u043e\u0440\u043a \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u0441\u0442\u0430\u0432\u0430\u043b \u043e\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043b\u0438\u0437\u043e\u0432. \u0422\u0430\u043a Greenplum 6 \u0432\u044b\u0448\u0435\u043b \u043d\u0430 \u0431\u0430\u0437\u0435 PG 9.4, Greenplum 7 \u043d\u0430 PG 12, \u0430 Apache Cloudberry \u043a\u0430\u043a \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u0435\u043b\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Greenplum \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e PostgreSQL \u0434\u043e 16.9 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043c\u0430\u0435 2026. \u0418 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0437\u0434\u0435\u0441\u044c \u0432 \u0442\u043e\u043c \u0447\u0442\u043e \u044d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u043d\u043e-\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u0421\u0423\u0411\u0414 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u043e\u0440\u043a\u043e\u043c PostgreSQL: \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0431\u044b\u043b\u043e 882 \u043f\u0440\u0430\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 PG \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0435\u0449\u0435 646 &#8212; \u044d\u0442\u043e \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044f 1.6\u043c\u043b\u043d. \u0441\u0442\u0440\u043e\u043a \u0432 \u0435\u0433\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440\u0435 ORCA \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043d\u043e\u0432\u0443\u044e \u043c\u0430\u0436\u043e\u0440\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441 &#8212; \u044d\u0442\u043e \u043c\u0435\u0441\u044f\u0446\u044b \u0441\u043b\u0438\u044f\u043d\u0438\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432. \u041f\u043e\u043a\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0442 \u0441\u043b\u0438\u044f\u043d\u0438\u0435, \u0430\u043f\u0441\u0442\u0440\u0438\u043c \u0443\u0441\u043f\u0435\u0432\u0430\u0435\u0442 \u0443\u0439\u0442\u0438 \u043e\u0442 \u043d\u0438\u0445 \u0432\u043f\u0435\u0440\u0435\u0434.<\/p>\n<p>\u042f \u0436\u0435 \u0440\u0435\u0448\u0438\u043b \u0441\u043a\u0440\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0436\u0430 \u0441 \u0443\u0436\u043e\u043c \u0438 \u043f\u043e\u0439\u0442\u0438 \u043e\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e &#8212; \u043d\u0435 \u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 PostgreSQL \u0432 Greenplum, \u0430 \u043d\u0430\u0442\u044f\u043d\u0443\u0442\u044c Cloudberry \u043f\u043e\u0432\u0435\u0440\u0445 PostgreSQL 19 \u043a\u0430\u043a \u043d\u0430\u0431\u043e\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u044d\u0442\u043e\u0439 \u0421\u0423\u0411\u0414. \u041d\u043e \u0441\u0430\u043c\u0430\u044f \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u0445 PG 19 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043c\u043e\u0438\u043c\u0438 \u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 \u0431\u0435\u0437 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 Cloudberry \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0435\u043e\u0442\u043b\u0438\u0447\u0438\u043c \u043e\u0442 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u0433\u043e PostgreSQL 19 \u043a\u0430\u043a \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0438 \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043d\u0435\u043e\u0442\u043b\u0438\u0447\u0438\u043c\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (\u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0434\u043e\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f) \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u044f\u0434\u0440\u0430.<\/p>\n<p>\u041a\u043e\u0434 \u0437\u0430 \u043c\u0435\u043d\u044f \u043f\u0438\u0441\u0430\u043b Claude Code \u0432\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u0441\u0435\u0441\u0441\u0438\u0439 \u0430\u0433\u0435\u043d\u0442\u0430\u043c\u0438, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c\u0438 \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 git worktree. \u042f \u0436\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b \u0441 LLM \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043b\u0430\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u0435\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0414\u0430\u0436\u0435 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e \u0447\u0442\u043e \u044f \u043f\u0438\u0441\u0430\u043b \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e \u043d\u0430 C\/C++ \u043f\u043e\u0447\u0442\u0438 20 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434, \u044d\u0442\u043e\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u044f \u0441\u0447\u0438\u0442\u0430\u044e \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c!<\/p>\n<p>\u041d\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e \u0432\u0441\u0435 \u0443\u0448\u043b\u043e 12 \u0434\u043d\u0435\u0439 \u0438 629 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c MPP \u0434\u0432\u0438\u0436\u043e\u043a \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0439 \u0444\u043e\u0440\u043a Greenplum, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 FDW \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u0449\u0438\u0442 \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0440. \u041f\u043b\u0430\u043d\u044b \u0440\u0435\u0436\u0443\u0442\u0441\u044f \u043d\u0430 \u0441\u043b\u0430\u0439\u0441\u044b, \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0421\u0423\u0411\u0414 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u043d\u0438\u043c\u043a\u0438 \u0438 \u0434\u0432\u0443\u0445\u0444\u0430\u0437\u043d\u0443\u044e \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u044e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0441\u0430\u043c\u043e\u043c PostgreSQL \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043b\u0438\u0448\u044c 22 \u043d\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u043a\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f (\u043a\u0430\u044e\u0441\u044c, \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u043e 28, \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u0445 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0430\u043c\u0438).<\/p>\n<h3>\u041f\u043e\u0447\u0435\u043c\u0443 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435<\/h3>\n<p>Pivotal \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f \u043d\u0430\u0437\u0430\u0434 \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 Greenplum, \u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043a\u0443\u043f\u043a\u0438 VMware \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Boradcom \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0438 \u0432 \u0430\u0440\u0445\u0438\u0432. \u0422\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0436\u0438\u0432\u0435\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0432 \u0444\u043e\u0440\u043a\u0430\u0445 open-gpdb, WarehousePG \u043e\u0442 EDB \u0438 Apache Cloudberry. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0431\u044b\u043b \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 Greenplum 7 \u0438 \u043f\u043e\u043f\u0430\u043b \u0432 \u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Apache. PostgreSQL 19 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0435\u0449\u0435 \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f &#8212; \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 Beta 4, \u0430 \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u0441 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430 \u043d\u0435\u0434\u0435\u043b\u044e.<\/p>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0421\u0423\u0411\u0414 \u0438 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0431\u0435\u0437 \u0438\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0438\u0445 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435. \u0422\u0430\u043a\u0436\u0435 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0435\u0437\u0434 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043c\u0430\u0436\u043e\u0440\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441\u0430, \u0441 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043c\u0435\u043d\u044c\u0448\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0447\u0435\u043c \u0443 \u0444\u043e\u0440\u043a\u0430. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0431\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u043b\u0438\u0448\u044c \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 22 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0430\u0442\u0447\u0430 \u043d\u0430 1.5\u041a \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0443\u043c\u043c\u0435, \u0430 \u043d\u0435 \u0441\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043c\u0435\u0441\u044f\u0446\u0430\u043c\u0438.<\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Greenplum \u0438 Cloudberry \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u0430\u0441\u0442:<\/p>\n<ul>\n<li>\n<p>\u0410\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 PostgreSQL &#8212; \u043e\u0442 MERGE \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0444\u0438\u0448\u0435\u0447\u0435\u043a SQL\/JSON \u0434\u043e \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0432\u0430\u043a\u0443\u0443\u043c<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043e\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 &#8212; \u043d\u0430 \u0443\u0437\u043b\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0430\u043f\u0441\u0442\u0440\u0438\u043c\u043d\u044b\u0435 PostGIS 3.7 \u0432\u043c\u0435\u0441\u0442\u043e \u0444\u043e\u0440\u043a\u0430 3.3.2 \u0438\u0437 Cloudberry, \u0430 pgvector \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d 0.8.8. \u041b\u0435\u0433\u043a\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u0433\u043e PostgreSQL 19, \u0432\u0435\u0434\u044c ABI \u044f\u0434\u0440\u0430 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 &#8212; <strong>DISTRIBUTED BY<\/strong> \u0438 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 <strong>PARTITION BY \u2026 EVERY<\/strong>, gpfdist, gp_toolkit, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b gpMgmt \u043e\u0442 gpinitsystem \u0434\u043e gpexpand, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0432\u043e\u0434 EXPLAIN \u0441 \u0443\u0437\u043b\u0430\u043c\u0438 Motion.<\/p>\n<\/li>\n<\/ul>\n<p>\u0425\u043e\u0442\u044f \u0447\u0443\u0434\u0435\u0441 \u043d\u0430 \u0432\u0441\u0435 100% \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442. \u0417\u0430 \u044d\u0442\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0435\u0439 (\u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435), \u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 pg_upgrade. 438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u044b \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c gp.*, \u0445\u043e\u0442\u044f gpconfig \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0438 \u0441\u0442\u0430\u0440\u044b\u0435 \u0438\u043c\u0435\u043d\u0430. \u041c\u043d\u043e\u0433\u043e\u0435 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u0432 DDL \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0442\u0435\u0433\u0438, \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0421\u0423\u0411\u0414 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043a\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u043e\u043c\u0430 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<p>\u041d\u043e\u0432\u0438\u0447\u043a\u0430\u043c \u0432 Greenplum \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u044b\u0439 PostgreSQL \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0441 \u0432\u0438\u0434\u0443 \u0441\u0430\u043c\u044b\u043c \u043e\u0431\u044b\u0447\u043d\u044b\u043c, \u0435\u0441\u043b\u0438 \u0432 \u043d\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 Cloudberry.<\/p>\n<\/li>\n<li>\n<p>\u043d\u043e \u0434\u0430\u0436\u0435 \u0432 \u043e\u0434\u043d\u043e\u0443\u0437\u043b\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0435\u0441\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u0442\u0430\u0431\u043b\u0438\u0446\u044b append-optimized \u0438 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 PAX, \u0430 \u0441\u0430\u043c\u043e\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a ORCA.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c MPP \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u0432\u0430\u043c \u043d\u0435 \u043d\u0430\u0434\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 PostgreSQL \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b, \u0434\u0440\u0443\u0433\u0438\u0435 BI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 PL\/pgSQL, PostGIS \u0438 pgvector \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0441 \u0432\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<h3>Cloudberry \u043a\u0430\u043a \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0435 \u0441 PostgreSQL MPP \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>\u041e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u043d\u044b\u0439 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440, \u043f\u043b\u0430\u043d \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u043d \u043d\u0430 \u0432\u0441\u0435\u0445 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0445, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u043c Motion. \u041d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f ACID \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430\u0445 \u0432\u0441\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e \u0441\u0436\u0430\u0442\u0438\u0435\u043c. \u0418 \u043d\u0430\u0434 \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0435\u0441\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c failover \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437\u0430\u0445.<\/p>\n<p>\u0422\u0438\u043f\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 Data Warehouse \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0438 \u0441\u043e\u0442\u043d\u0438 \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0432 \u0441\u0445\u0435\u043c\u0430\u0445 \u201c\u0437\u0432\u0435\u0437\u0434\u0430\u201d \u0438 \u201c\u0441\u043d\u0435\u0436\u0438\u043d\u043a\u0430\u201d, \u0434\u043b\u044f \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u044e\u0449\u0438\u0445 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446. \u0427\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442 \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f ELT \u043d\u0430 SQL \u0438 PL\/pgSQL.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f PostgreSQL \u043d\u0430 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2026:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\n<\/th>\n<th>\n<p align=\"left\">\u041c\u043e\u0439 \u043f\u043e\u0440\u0442 Cloudberry<\/p>\n<\/th>\n<th>\n<p align=\"left\">Citus 14.2<\/p>\n<\/th>\n<th>\n<p align=\"left\">pg_duckdb 1.1.1<\/p>\n<\/th>\n<th>\n<p align=\"left\">pg_lake 3.5.3<\/p>\n<\/th>\n<th>\n<p align=\"left\">PG-Strom 6.1<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041c\u0430\u0441\u0448\u0442\u0430\u0431<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0448\u0430\u0440\u0434\u043e\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b + DuckDB \u0432 sidecar-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 GPU<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c PostgreSQL; \u0441\u043b\u0430\u0439\u0441\u044b \u043f\u043b\u0430\u043d\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435, Motion \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c PostgreSQL; SQL-\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0448\u0430\u0440\u0434<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 DuckDB \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0431\u044d\u043a\u0435\u043d\u0434\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 DuckDB \u0432 <code>pgduck_server<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043a\u043e\u0434 \u0434\u043b\u044f GPU, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0437 SQL<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0411\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">ORCA, \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u043d\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u043f\u043b\u0430\u043d\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u00ab\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0438\u0432\u043d\u044b\u0439\u00bb (\u0442\u0430\u043a \u0432 \u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438); \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u043f\u0435\u0440\u0435\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043e\u0434\u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 DuckDB, \u0438\u043d\u0430\u0447\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PostgreSQL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u044c GPU<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">2PC + \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u043d\u0438\u043c\u043a\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">2PC, \u0431\u0435\u0437 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043d\u0438\u043c\u043a\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u043f\u0438\u0448\u0443\u0449\u0438\u0445 \u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b PostgreSQL, \u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b DuckDB<\/p>\n<\/td>\n<td>\n<p align=\"left\">UPDATE\/DELETE \u0432 Iceberg \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043a\u0430\u043a \u0432 PostgreSQL<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u042f\u0434\u0440\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">22 \u043f\u0430\u0442\u0447\u0430 \u044f\u0434\u0440\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0418\u0437 \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0440\u0442 Cloudberry \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u043a\u0430\u043a \u0435\u0434\u0438\u043d\u044b\u0439 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043d\u044b\u0439 \u043f\u043b\u0430\u043d, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0443\u0437\u0435\u043b \u0447\u0438\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0441\u043d\u0438\u043c\u043e\u043a. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0442\u0438\u043f\u044b PostGIS\/pgvector \u0438\u0442\u043f \u0432 \u0441\u0432\u043e\u0438\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0430\u0434 \u043d\u0438\u043c\u0438 UPDATE\/MERGE \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u043c \u0433\u0434\u0435 \u0432\u0430\u0436\u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e. Executor \u0432 PostgreSQL \u044d\u0442\u043e \u0434\u0432\u0438\u0436\u043e\u043a \u0441\u043e \u0441\u0442\u0440\u043e\u0447\u043d\u044b\u043c\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0432\u0438\u0434\u0435 \u044d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432\u0440\u044f\u0434 \u043b\u0438 \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0438\u043c\u0443\u0442 \u0432 PostgreSQL \u043a\u0430\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 &#8212; \u0432\u0435\u0434\u044c \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e \u0421\u0423\u0411\u0414 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u043d\u0430 \u0447\u0442\u043e \u043d\u0435 \u043f\u043e\u0439\u0434\u0435\u0442 Azure\/AWS.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 open source \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0442\u043e ClickHouse 26.9 \u0438 StarRocks 4.1.5 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 \u0441 \u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. StarRocks \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0439 \u043d\u043e\u0432\u044b\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440 Cascades \u0438 lakehouse \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438, \u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0443 \u043d\u0435\u0433\u043e \u043f\u043e\u043a\u0430 \u0432 \u0431\u0435\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u0438. \u0423 ClickHouse \u0441\u0432\u043e\u0439 \u0434\u0438\u0430\u043b\u0435\u043a\u0442 \u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438.<\/p>\n<p>\u0420\u0430\u0437\u0440\u044b\u0432 \u0432 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f\u0445 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 ClickBench: \u043e\u0434\u043d\u0430 \u043f\u043b\u043e\u0441\u043a\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043d\u0430 100 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a, 43 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0431\u0435\u0437 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u043c\u0430\u0448\u0438\u043d\u0430 c6a.4xlarge. \u041a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2014 \u0441\u0443\u043c\u043c\u0430 \u043f\u043e 43 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u00ab\u0433\u043e\u0440\u044f\u0447\u0435\u0433\u043e\u00bb \u043f\u0440\u043e\u0433\u043e\u043d\u0430, \u0442\u043e \u0435\u0441\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u0438\u0437 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u0432 2 \u0438 3, <a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/README.md?plain=1#L220-L222\" rel=\"noopener nofollow\">\u043a\u0430\u043a \u0435\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 ClickBench<\/a>; \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432\u0435\u0434\u0451\u0442 \u043d\u0430 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\"><a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/clickhouse\/results\/20260928\/c6a.4xlarge.json\" rel=\"noopener nofollow\">ClickHouse<\/a><\/p>\n<\/th>\n<th>\n<p align=\"left\"><a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/duckdb\/results\/20260511\/c6a.4xlarge.json\" rel=\"noopener nofollow\">DuckDB<\/a><\/p>\n<\/th>\n<th>\n<p align=\"left\"><a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/starrocks\/results\/20260907\/c6a.4xlarge.json\" rel=\"noopener nofollow\">StarRocks<\/a><\/p>\n<\/th>\n<th>\n<p align=\"left\"><a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/pg_duckdb-parquet\/results\/20260511\/c6a.4xlarge.json\" rel=\"noopener nofollow\">pg_duckdb (Parquet)<\/a><\/p>\n<\/th>\n<th>\n<p align=\"left\"><a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/cloudberry\/results\/20260517\/c6a.4xlarge.json\" rel=\"noopener nofollow\">Cloudberry 1.5.3 (AOCO)<\/a><\/p>\n<\/th>\n<th>\n<p align=\"left\"><a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/greenplum\/results\/20260517\/c6a.4xlarge.json\" rel=\"noopener nofollow\">Greenplum 7.1 (AOCO)<\/a><\/p>\n<\/th>\n<th>\n<p align=\"left\"><a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/citus\/results\/20260510\/c6a.4xlarge.json\" rel=\"noopener nofollow\">Citus columnar<\/a><\/p>\n<\/th>\n<th>\n<p align=\"left\"><a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\/blob\/ad5c59b02435baff108efd7da3c9f53c422b199a\/postgresql\/results\/20260921\/c6a.4xlarge.json\" rel=\"noopener nofollow\">PostgreSQL heap<\/a><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">17,6 \u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">26,3 \u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">44,5 \u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">52,5 \u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">294,7 \u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">768,6 \u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">1745,1 \u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">11875,4 \u0441<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: <a href=\"https:\/\/github.com\/ClickHouse\/ClickBench\" rel=\"noopener nofollow\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 ClickBench<\/a> \u043d\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u0435 <code>ad5c59b<\/code> (2026-09-28); \u0442\u0435 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432 \u0432\u0438\u0434\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u2014 \u043d\u0430 <a href=\"https:\/\/benchmark.clickhouse.com\/\" rel=\"noopener nofollow\">benchmark.clickhouse.com<\/a>.<\/p>\n<p>\u041d\u0430 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0432 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0447\u0438\u0441\u043b\u0430\u0445 \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0440\u0442 Cloudberry \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043d\u0435\u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c PostgreSQL \u0438 \u0435\u0433\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u044d\u0442\u043e\u043c \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0435 \u043d\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u0430\u043a \u0440\u0430\u0437 MPP \u0434\u0432\u0438\u0436\u043a\u0438 \u0438 \u043e\u043f\u0440\u0430\u0432\u0434\u044b\u0432\u0430\u044e\u0442 \u0441\u0432\u043e\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0435 \u044d\u043c\u043f\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u2026<\/p>\n<ul>\n<li>\n<p>Cloudberry &#8212; \u0434\u043b\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e SQL \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u0441 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c\u0438, PL\/pgSQL, PostGIS \u0438 pgvector \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445;<\/p>\n<\/li>\n<li>\n<p>Citus &#8212; \u0434\u043b\u044f \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0435\u043d\u0430\u043d\u0442\u043d\u044b\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0441 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043f\u043e \u043a\u043b\u044e\u0447\u0443;<\/p>\n<\/li>\n<li>\n<p>pg_duckdb \u0438 pg_lake &#8212; \u0434\u043b\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0443\u0437\u043b\u0435 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Iceberg;<\/p>\n<\/li>\n<li>\n<p>ClickHouse &#8212; \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043b\u043e\u0433\u043e\u0432 \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>StarRocks &#8212; \u0434\u043b\u044f \u0434\u0436\u043e\u0438\u043d\u043e\u0432 \u0442\u0430\u0431\u043b\u0438\u0446, \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 \u044d\u043b\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u044c\u044e lakehouse.<\/p>\n<\/li>\n<\/ul>\n<h3>\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/h3>\n<p>\u041d\u0430\u0447\u0430\u043b \u0432\u0441\u0435 \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u043d\u0430. \u041d\u0430\u043f\u0438\u0441\u0430\u043b Fable5 \u201c\u0438\u0437\u0443\u0447\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 cloudberry \u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0438\u0441\u044c, \u043a\u0430\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0445\u0443\u043a\u043e\u0432 \u0438 \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u0432 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u043d\u0430 PostgreSQL v19 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u043a\u043e\u0434\u0430\u201d \u0438 \u201c\u0441\u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u044f\u0434\u0440\u0435 PostgreSQL \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0438 \u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0443, \u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 PostgreSQL \u043f\u0440\u0438 \u043d\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0438 Greenplum\u201d. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0448\u0435\u0441\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043a\u043e\u0434\u0438\u043d\u0433 \u0430\u0433\u0435\u043d\u0442\u044b \u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438:<\/p>\n<ul>\n<li>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439 \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0442\u043e\u0447\u043a\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0432 PG: \u0445\u0443\u043a\u0438, \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430, CustomScan, \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432  WAL, \u0444\u043e\u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, security label, FDW;<\/p>\n<\/li>\n<li>\n<p>\u0413\u0434\u0435 \u0438\u0445 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442, \u0434\u043e\u0431\u0430\u0432\u044c \u0441\u0432\u043e\u0439 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0445\u0443\u043a. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 hook \u0437\u0434\u0435\u0441\u044c &#8212; \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0432\u043d\u044b\u0439 NULL, \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0444\u043b\u0430\u0433. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f, \u043d\u0438 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 PostgreSQL \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0442\u044c\u0441\u044f, \u043d\u0435 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430, WAL \u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u043d\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b;<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u0437 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u0435\u0441\u0442\u0438 \u0441\u0435\u0431\u044f \u043a\u0430\u043a \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u044b\u0439;<\/p>\n<\/li>\n<li>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 Cloudberry \u043d\u0435 \u043f\u0440\u0430\u0432\u0438\u0442\u0441\u044f. \u0412\u0435\u0441\u044c \u043f\u043e\u0440\u0442 &#8212; \u043d\u043e\u0432\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 pg19\/, \u0430 \u0444\u0430\u0439\u043b\u044b \u0430\u043f\u0441\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u0438\u044f\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0444\u0430\u0439\u043b \u043d\u0443\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c, \u0442\u043e \u043e\u043d \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a\u043e\u043f\u0438\u0435\u0439 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0441 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435\u043c \u0447\u0442\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>ORCA \u0437\u0430 planner_hook, \u0430 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c: \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044f SQL \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0430\u0442\u0447\u0435\u0439 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0438\u0437 \u0430\u043f\u0441\u0442\u0440\u0438\u043c, \u0431\u0435\u0437 \u043f\u0440\u0430\u0432\u043e\u043a. \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u0430 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f, \u0442\u043e \u043e\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432 pg19\/, \u043a\u0430\u043a \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0434\u043b\u044f \u043f\u0430\u0440\u044b \u0444\u0438\u0447 PostGIS;<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u044f\u0434\u0440\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0442\u0435\u0441\u0442\u0430\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432 \u0434\u0432\u0443\u0445 docker \u043e\u0431\u0440\u0430\u0437\u043e\u0432, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 PostgreSQL \u0441 \u0441\u0435\u0440\u0438\u0435\u0439 \u043f\u0430\u0442\u0447\u0435\u0439 \u0438 \u0431\u0435\u0437 \u043d\u0435\u0435:<\/p>\n<ul>\n<li>\n<p>\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 <code>meson test<\/code> PostgreSQL: \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0442\u0435 \u0436\u0435 371 \u0442\u0435\u0441\u0442;<\/p>\n<\/li>\n<li>\n<p><code>abidiff<\/code>: 32 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e, 0 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043e;<\/p>\n<\/li>\n<li>\n<p>\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0435 \u0434\u0435\u0440\u0435\u0432\u044c\u044f \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u043e\u0431\u0430\u0439\u0442\u043d\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432: \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442;<\/p>\n<\/li>\n<li>\n<p>\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f: \u0432\u0437\u0430\u0438\u043c\u043e\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c\u044b \u0432 \u043e\u0431\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b;<\/p>\n<\/li>\n<li>\n<p>cachegrind: \u043e\u0442 \u22120,005% \u0434\u043e +0,155% \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u0440\u0438 \u043f\u043e\u0440\u043e\u0433\u0435 0,5% (<a href=\"https:\/\/github.com\/igor-suhorukov\/cloudberry\/blob\/16b1ef30668f13423f44762eaeca3a252dc52319\/pg19\/test\/vanilla\/checks\/09-performance.sh\" rel=\"noopener nofollow\">\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430<\/a>);<\/p>\n<\/li>\n<li>\n<p>\u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432\u043d\u0443\u0442\u0440\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0441\u0442\u043e\u0438\u0442 \u0437\u0430 \u0445\u0443\u043a\u043e\u043c, \u0440\u0435\u0435\u0441\u0442\u0440\u043e\u043c \u0438\u043b\u0438 \u0444\u043b\u0430\u0433\u043e\u043c; \u043e\u0434\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e;<\/p>\n<\/li>\n<li>\n<p>\u043c\u043e\u0434\u0443\u043b\u044c-\u0437\u043e\u043d\u0434 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0445\u0443\u043a \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0435\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u0445 \u0431\u044b\u043b \u0441\u043c\u044b\u0441\u043b \u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u0436\u0435 \u0442\u0435\u0441\u0442 \u043d\u043e\u0432\u043e\u0433\u043e \u0445\u0443\u043a\u0430 combo-CID \u0443\u0440\u043e\u043d\u0438\u043b \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<h4>\u0422\u0430\u043c \u0433\u0434\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0445\u0443\u043a\u043e\u0432 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c 22 \u043d\u043e\u0432\u044b\u0445<\/h4>\n<p>\u041d\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u044f\u0434\u0440\u0435 \u0421\u0423\u0411\u0414 Greenplum \u043c\u043e\u0433 \u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043a\u043e\u0440\u0435\u0435 \u043a\u0430\u043a \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442: \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u0438 SQL \u0432 \u0432\u0438\u0434\u0435 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u043b\u0430\u043d\u043e\u0432, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0431\u044b \u0431\u044b\u043b\u0438 \u0441\u0432\u043e\u0438 OID \u0438 \u0441\u043d\u0438\u043c\u043a\u0438, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 Citus. MPP executor \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0441\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043b \u043e\u0434\u0438\u043d \u043f\u043b\u0430\u043d \u0438 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e. \u0422\u043e\u0447\u0435\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0432 PostgreSQL 19 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0442 \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u201c\u043a\u043e\u043b\u0445\u043e\u0437\u0438\u0442\u044c\u201d \u043d\u043e\u0432\u044b\u0435 \u043f\u0430\u0442\u0447\u0438 \u0434\u043b\u044f \u044f\u0434\u0440\u0430.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u0430\u0442\u0447\u0438<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043d\u0438 \u043e\u0434\u0438\u043d \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0445\u0443\u043a<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 OID \u043d\u0430 \u0432\u0441\u0435\u0445 \u0443\u0437\u043b\u0430\u0445<\/p>\n<\/td>\n<td>\n<p align=\"left\">R1 <code>new_oid_hook<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0443 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f OID \u043d\u0435\u0442 \u0445\u0443\u043a\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0412\u0441\u0435 \u0441\u043b\u0430\u0439\u0441\u044b \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438 \u0432\u0438\u0434\u044f\u0442 \u043d\u0435\u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">R2 \u0445\u0443\u043a\u0438 combo-CID, R4 <code>XactAdoptTransactionState()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0441\u0430\u043c\u043e\u0433\u043e PostgreSQL<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2PC \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 Cloudberry; \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0431\u0435\u0437 \u0432\u0437\u0430\u0438\u043c\u043e\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u043f\u0440\u0438 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">O33, O30<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>XACT_EVENT_COMMIT<\/code> \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0443\u0436\u0435 \u0432\u0438\u0434\u0438\u043c\u0430; \u0440\u0435\u0436\u0438\u043c\u044b \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u043f\u0435\u0440\u0432\u044b\u043c \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0430\u0440\u0441\u0435\u0440<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Cloudberry, <code>gp_segment_id<\/code>, <code>SELECT *<\/code>, \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0438 \u043c\u0430\u0442\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">O26, O10, O31, O28<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0445\u0443\u043a\u0430 \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u043d\u0435\u0442; \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u043c\u0435\u043d\u044f\u044e\u0442 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 ANALYZE, \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0442\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">O3, O27<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u0441\u0442\u0440\u043e\u043a \u0438\u0437 heap \u0436\u0451\u0441\u0442\u043a\u043e \u0437\u0430\u0448\u0438\u0442\u0430; \u0440\u0435\u0436\u0438\u043c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u043d<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 append-optimized \u0438 PAX, diskquota, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u0443\u043c\u043c\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">O13\u2013O18, O21, O23<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>TableAmRoutine<\/code> \u043d\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c, \u043d\u0435 \u0441\u043b\u043e\u043c\u0430\u0432 ABI; \u0443 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u0442 \u0445\u0443\u043a\u043e\u0432<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0422\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0443\u0437\u043b\u0435, \u0437\u0430\u0449\u0438\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u0435\u0441\u0442\u044b \u0441\u0431\u043e\u0435\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">O32, O25, O29<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432 redo \u0437\u0430\u0448\u0438\u0442\u044b \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0443\u0442\u0438; \u043c\u0435\u0442\u043e\u0434\u044b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b <code>static const<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0412\u043d\u0430\u0447\u0430\u043b\u0435 \u0431\u044b\u043b\u043e 28 \u043d\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u044f\u0434\u0440\u043e, \u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u043e\u0441\u0442\u0444\u0430\u043a\u0442\u0443\u043c \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0440\u0430\u0442\u044c \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c, \u043f\u044f\u0442\u044c \u043f\u0430\u0442\u0447\u0435\u0439 \u043f\u0435\u0440\u0435\u0435\u0445\u0430\u043b\u0438 \u0432 \u043c\u043e\u0434\u0443\u043b\u0438: \u043e\u0442\u043c\u0435\u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u043c\u0435\u0442\u043a\u0438 \u0443\u0437\u043b\u043e\u0432 \u0432 EXPLAIN, \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432, \u0441\u0442\u0430\u0440\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f UPDATE \u0438 \u0445\u0443\u043a \u0434\u043b\u044f unlink.<\/p>\n<p>\u0418\u0437 \u043d\u043e\u0432\u044b\u0445 \u043f\u0430\u0442\u0447\u0435\u0439 \u0447\u0435\u0442\u044b\u0440\u0435 \u0445\u0443\u043a\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0442\u044c \u0432 \u0430\u043f\u0441\u0442\u0440\u0438\u043c PG: \u0440\u0435\u0435\u0441\u0442\u0440 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0445 AM, \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 smgr, \u0445\u0443\u043a \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0445\u0443\u043a OID.<\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0436\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043d\u0438 \u0447\u0435\u0440\u0435\u0437 \u043e\u0434\u0438\u043d \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0445\u0443\u043a:<\/p>\n<ul>\n<li>\n<p>\u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f libpq;<\/p>\n<\/li>\n<li>\n<p>20 \u043e\u0431\u0449\u0438\u0445 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>81 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e;<\/p>\n<\/li>\n<li>\n<p>217 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 OID;<\/p>\n<\/li>\n<li>\n<p>TDE \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 GP \u043f\u0435\u0440\u0435\u0435\u0445\u0430\u043b\u0438 \u0432 \u043c\u0435\u0442\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441\u0430, \u0430 \u0432\u043c\u0435\u0441\u0442\u043e TDE \u043f\u043e\u043a\u0430 \u0440\u0435\u0448\u0438\u043b \u043f\u0443\u0441\u0442\u044c \u043b\u0443\u0447\u0448\u0435 \u0448\u0438\u0444\u0440\u0443\u044e\u0442 \u0442\u043e\u043c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0432 \u044f\u0434\u0440\u043e \u043c\u043e\u0436\u043d\u043e \u0438 \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e \u0442\u043e\u043c\u0443 \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0432 \u0430\u043f\u0441\u0442\u0440\u0438\u043c.<\/p>\n<h4>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/h4>\n<p>\u0421\u043d\u0430\u0440\u0443\u0436\u0438 \u044d\u0442\u043e Greenplum \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u0440\u0430\u043d\u0438\u0442 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b &#8212; \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 PostgreSQL 19 \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u043f\u043e\u0440\u0446\u0438\u0435\u0439 \u0441\u0442\u0440\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u0445\u043e\u0441\u0442\u0435. \u041d\u043e\u0432\u043e\u0435 \u043b\u0438\u0448\u044c \u0442\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/7f\/0d\/7a\/7f0d7a37f0a1cd1cf1f3d695962e41ee.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/7f\/0d\/7a\/7f0d7a37f0a1cd1cf1f3d695962e41ee.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/7f\/0d\/7a\/7f0d7a37f0a1cd1cf1f3d695962e41ee.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/d2\/fe\/86\/d2fe860a9e78866dd89d5c326e09345c.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/d2\/fe\/86\/d2fe860a9e78866dd89d5c326e09345c.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/d2\/fe\/86\/d2fe860a9e78866dd89d5c326e09345c.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0420\u0430\u0437\u0431\u043e\u0440 SQL \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0431\u0435\u0437 \u0444\u043e\u0440\u043a\u0430 \u0433\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u043a\u0438 (\u0432 Cloudberry \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0444\u043e\u0440\u043a\u043e\u043c \u0433\u0440\u0430\u043c\u0430\u0442\u0438\u043a\u0438). \u041c\u043e\u0434\u0443\u043b\u044c gp_sql \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043d\u0430 \u0442\u043e\u043a\u0435\u043d\u044b \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0441\u043a\u0430\u043d\u0435\u0440\u043e\u043c PG \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Greenplum \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0434\u043b\u044f \u0421\u0423\u0411\u0414, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u0447\u0435\u0440\u0435\u0437 ProcessUtility_hook \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e PostgreSQL \u043e\u0442\u0432\u0435\u0440\u0433 \u0431\u044b \u0438 \u0432\u044b\u0434\u0430\u043b \u043e\u0448\u0438\u0431\u043a\u0443:<\/p>\n<pre><code class=\"sql\">CREATE TABLE sales (id bigint, dt date)DISTRIBUTED BY (id)PARTITION BY RANGE (dt)  (START (date '2026-01-01') END (date '2027-01-01')   EVERY (interval '1 month'));-- \u0434\u043e \u0433\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u043a\u0438 PostgreSQL 19 \u0434\u043e\u0445\u043e\u0434\u0438\u0442 \u043a\u0430\u043a (\u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u043e):CREATE TABLE sales (id bigint, dt date)PARTITION BY RANGE (dt)WITH (gp.distributed_by = '(id)',      gp.partition_by = $gp$PARTITION BY RANGE (dt) (START ...)$gp$);<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0434\u0438\u043d \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c. \u0420\u0430\u043d\u043d\u044f\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u043e\u0440\u0442\u0430, \u0432\u044b\u0434\u0430\u0432\u0430\u0432\u0448\u0430\u044f \u0434\u0432\u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435, \u043b\u043e\u043c\u0430\u043b\u0430 \u0432\u0441\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 prepared statement. \u041d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0435\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0432 \u043d\u0435\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430. \u0413\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u043a\u0430 \u0444\u043e\u0440\u043a\u0430 \u044d\u0442\u043e \u043e\u0434\u043d\u043e \u0438\u0437 \u043c\u0435\u0441\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0444\u043e\u0440\u043a\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043c\u0435\u0440\u0434\u0436\u0438\u0442\u044c, \u0441 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430\u043c\u0438, \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u043d\u043e\u0432\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435.<\/p>\n<p>ORCA \u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0442\u0430\u043a (\u0447\u0435\u0442\u044b\u0440\u0435 \u0435\u0433\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u044f\u0434\u0440\u0430), \u0447\u0442\u043e \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438\u0437 PostgreSQL, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0435 920 \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0438\u0437 \u0434\u0435\u0440\u0435\u0432\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 Cloudberry \u0431\u0435\u0437 \u0435\u0434\u0438\u043d\u043e\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. \u0421\u0432\u044f\u0437\u044c \u0441 \u044f\u0434\u0440\u043e\u043c \u0421\u0423\u0411\u0414 \u0447\u0435\u0440\u0435\u0437 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430 Query \u2194 DXL \u2194 \u043f\u043b\u0430\u043d (27 \u0444\u0430\u0439\u043b\u043e\u0432, ~33 \u0442\u044b\u0441. \u0441\u0442\u0440\u043e\u043a) \u0438 \u0447\u0435\u0440\u0435\u0437 \u0441\u043b\u043e\u0439 \u0432\u0440\u0430\u043f\u043f\u0435\u0440\u043e\u0432. \u0418\u0437 198 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u043b\u043e\u044f \u0432\u0440\u0430\u043f\u043f\u0435\u0440\u0430 170 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0430\u0432\u043a\u0438 \u201c#include\u201d, \u0441\u0438\u043b\u044c\u043d\u044b\u0439 \u0434\u0440\u0435\u0439\u0444 API \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u0442\u0430\u0445 \u0432\u0440\u0430\u043f\u043f\u0435\u0440\u0430. \u0427\u0442\u043e ORCA \u043d\u0435 \u201c\u043f\u0435\u0440\u0435\u0432\u0430\u0440\u0438\u0432\u0430\u0435\u0442\u201d \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043f\u0435\u0440\u0435\u0434. \u041a\u0430\u043a \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442 PostGIS \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0435\u0440\u0435\u0434 ORCA.<\/p>\n<p>\u041d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430  Cloudberry \u043e\u0431\u043e\u0440\u0432\u0430\u043b\u0438 \u0431\u044b \u0441\u0435\u0430\u043d\u0441 PostgreSQL 19, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 libpg \u0441 SCRAM \u0438\u043b\u0438 TLS, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0430\u0439\u0441 \u0432\u043d\u0443\u0442\u0440\u0438 <code>SELECT gp_internal.exec_fragment(...)<\/code>, \u0430  <code>planner_hook<\/code> \u043d\u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u043b\u0430\u043d\u0430.<\/p>\n<p>\u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0441\u043d\u0438\u043c\u043e\u043a \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u0432\u0438\u0434\u0435 <code>SET LOCAL<\/code>. \u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441-\u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0434\u0438\u043d \u0441\u043b\u0430\u0439\u0441, \u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b-\u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435: \u043e\u043d\u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043e\u0442 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f \u0447\u0435\u0440\u0435\u0437 \u043d\u043e\u0432\u044b\u0439 \u0445\u0443\u043a \u044f\u0434\u0440\u0430 R4, \u0432\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0432 \u0435\u0433\u043e \u0433\u0440\u0443\u043f\u043f\u0443 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0442 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043a\u043e\u043c\u0430\u043d\u0434 combo CID \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0445\u0443\u043a  R2. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 PostgreSQL.<\/p>\n<p>Motion \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0442\u043e\u043a\u043e\u043c \u043f\u043e TCP \/ \u043f\u043e UDP Cloudberry \u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u0442\u043e\u043a\u043e\u043c, \u043f\u043e UDP2 \u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u043a\u0441\u0438-\u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u043e\u0440 \u0432\u0441\u0435\u0445 Motion \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0443\u0437\u043b\u0430\u043c\u0438.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/fd\/af\/ff\/fdafff57633e961648b8381be3929fee.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/fd\/af\/ff\/fdafff57633e961648b8381be3929fee.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/fd\/af\/ff\/fdafff57633e961648b8381be3929fee.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h3>\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041c\u043e\u0434\u0443\u043b\u044c<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0420\u043e\u043b\u044c<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gp_core<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0444\u0430\u0439\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440, Motion, \u0438\u043d\u0442\u0435\u0440\u043a\u043e\u043d\u043d\u0435\u043a\u0442, DDL \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0443\u0437\u043b\u0435, 2PC, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u043d\u0438\u043c\u043a\u0438, \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u0432\u0437\u0430\u0438\u043c\u043e\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a, FTS, <code>gp_toolkit<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0445\u0443\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f, \u0443\u0442\u0438\u043b\u0438\u0442\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430; \u0444\u043e\u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b; \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 rmgr \u0434\u043b\u044f WAL; \u043c\u0435\u0442\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438; CustomScan; R1, R2, R4, O3, O10, O29-O33<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gp_orca<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ORCA, \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440, \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0438 \u043e\u0442\u043a\u0430\u0442\u043e\u0432, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u043e ORCA<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>planner_hook<\/code>, CustomScan, \u0445\u0443\u043a\u0438 EXPLAIN<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gp_sql<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Cloudberry, \u0442\u0435\u0433\u0438, \u0442\u0430\u0431\u043b\u0438\u0446\u044b-\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0443\u0437\u043b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">O26, <code>ProcessUtility_hook<\/code>, rmgr \u0434\u043b\u044f WAL<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gp_ao<\/code>, <code>pax<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0438 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b append-optimized, PAX, bitmap-\u0438\u043d\u0434\u0435\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 AM, O13\u2013O18, O21, O23, rmgr \u0434\u043b\u044f WAL<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gp_exttable<\/code>, <code>pxf_fdw<\/code>, <code>gpcloud<\/code>, <code>datalake_fdw<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: file, gpfdist, http, s3, PXF, Iceberg<\/p>\n<\/td>\n<td>\n<p align=\"left\">FDW, \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 AM<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gp_resource<\/code>, <code>gp_security<\/code>, <code>gp_matview<\/code>, <code>gp_task<\/code>, <code>diskquota<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0433\u0440\u0443\u043f\u043f\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0430 cgroups, \u0437\u0430\u0449\u0438\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u0440\u043e\u0444\u0438\u043b\u0438, \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0442\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u043a\u0432\u043e\u0442\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043c\u0435\u0442\u043a\u0438, O25, O27, O28, O21, \u0444\u043e\u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gpfts<\/code>, gpMgmt<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437\u0435; \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Cloudberry<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 SQL \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 <code>initdb<\/code>, <code>pg_ctl<\/code>, <code>pg_basebackup<\/code>, <code>pg_rewind<\/code> \u0438\u0437 PostgreSQL 19<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0427\u0442\u043e \u0432\u0438\u0434\u0438\u0442 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440:<\/p>\n<ul>\n<li>\n<p><code>gp_core<\/code> \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u043c, \u0430 \u043c\u043e\u0434\u0443\u043b\u0438, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c <code>LOAD<\/code>, \u0442\u0430\u043a \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043e\u0431\u0449\u0438\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u0443 \u043f\u043e\u0440\u0442\u0430 \u043d\u0435\u0442. \u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0440\u043e\u043b\u0435\u0439 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043e\u0431\u0449\u0438\u0445 \u043c\u0435\u0442\u043a\u0430\u0445 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0441\u0435\u043a\u0440\u0435\u0442\u044b &#8212; \u0432 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044f &#8212; \u0432 \u0444\u0430\u0439\u043b\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. <code>gp_segment_configuration<\/code> \u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0435\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u044b &#8212; \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<h3>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/h3>\n<ul>\n<li>\n<p>\u0423\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 PostgreSQL 19 <\/p>\n<ul>\n<li>\n<p>\u0438\u043c\u0435\u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u0447\u043a\u0443, \u043e\u0442\u0441\u044e\u0434\u0430 <code>gp.*<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0442\u0435\u0433\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 &#8212; \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a;<\/p>\n<\/li>\n<li>\n<p><code>CHECK_FOR_INTERRUPTS()<\/code> \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043a\u043e\u043b\u0431\u044d\u043a\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043a\u0430 \u043e\u043d \u0447\u0435\u0433\u043e-\u0442\u043e \u0436\u0434\u0451\u0442;<\/p>\n<\/li>\n<li>\n<p>\u043a\u0443\u0440\u0441\u043e\u0440, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u044f\u043c\u0438, \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u043e\u0440\u0442 \u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441 Cloudberry: <\/p>\n<ul>\n<li>\n<p>MPP-\u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 PostgreSQL \u0438\u0437 Cloudberry, \u00abRoute B\u00bb, \u043d\u0435 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u043e, \u043e\u0442 \u0447\u0435\u0433\u043e \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f ORCA, \u0438\u0434\u0451\u0442 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u043c;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 ORCA \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043e\u0440\u043e\u0436\u0435: 13,7 \u043c\u0441 \u043f\u0440\u043e\u0442\u0438\u0432 0,25 \u043c\u0441 \u0434\u043b\u044f \u0442\u043e\u0447\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438, <a href=\"https:\/\/github.com\/quantumiodb\/pgorca\/blob\/63e4e96c2454cdfd154b0b78d5dfcf19de70a775\/TODO.md?plain=1#L68-L75\" rel=\"noopener nofollow\">\u043f\u043e \u0437\u0430\u043c\u0435\u0440\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 pgorca<\/a>;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0441\u043b\u0430\u0439\u0441 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044f;<\/p>\n<\/li>\n<li>\n<p>SERIALIZABLE \u043d\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 &#8212; \u044d\u0442\u043e REPEATABLE READ, \u043a\u0430\u043a \u0438 \u0432 Greenplum.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 MPP: <\/p>\n<ul>\n<li>\n<p>\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0440 &#8212; \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0438 \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0433\u043e\u043d\u044f\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0441\u0435\u0442\u0438;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a\u043b\u044e\u0447 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0437\u043b\u043e\u0432 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/h3>\n<p>17 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0448\u0435\u0441\u0442\u044c \u0430\u0433\u0435\u043d\u0442\u043e\u0432-\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437\u0443\u0447\u0438\u043b\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0432\u043e\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 Cloudberry. \u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u0432\u0441\u0435 1\u00a0440 \u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u0432\u0438\u0434\u0430 <code>file:lines<\/code>, \u0438 \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0434\u0435\u043d\u044c \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435 \u0441 LLM \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u044b 14 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0430\u0433\u0435\u043d\u0442\u044b \u0440\u0435\u0448\u0430\u043b\u0438 \u0441\u0430\u043c\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438, \u043f\u043e\u0447\u0435\u043c\u0443 \u0440\u0435\u0448\u0438\u043b\u0438 \u0442\u0430\u043a. \u0412\u0441\u0451, \u0447\u0442\u043e \u043a\u0430\u0441\u0430\u043b\u043e\u0441\u044c \u044f\u0434\u0440\u0430 PostgreSQL, \u043e\u0431\u0449\u0435\u0439 \u0432\u0435\u0442\u043a\u0438 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e \u043a\u043e \u043c\u043d\u0435. \u041a\u0440\u0443\u043f\u043d\u044b\u0435 \u044d\u0442\u0430\u043f\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u043c\u0435\u0436\u0434\u0443 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0430\u0433\u0435\u043d\u0442\u0430\u043c\u0438, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0432\u043e\u044f \u0432\u0435\u0442\u043a\u0430 \u0438 \u0441\u0432\u043e\u0439 worktree: M8 \u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0434\u0435\u0432\u044f\u0442\u044c \u0430\u0433\u0435\u043d\u0442\u043e\u0432, \u0435\u0449\u0451 \u0441\u0435\u043c\u044c \u0432\u044b\u0447\u0438\u0449\u0430\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/d8\/ba\/bb\/d8babb90932cf0c1146bdaedf4933c03.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/d8\/ba\/bb\/d8babb90932cf0c1146bdaedf4933c03.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/d8\/ba\/bb\/d8babb90932cf0c1146bdaedf4933c03.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0412\u0435\u0445\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0414\u0430\u0442\u044b<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">M0 \u043a\u0430\u0440\u043a\u0430\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">18 \u0441\u0435\u043d\u0442.<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u0441\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f; \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">M1 \u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b<\/p>\n<\/td>\n<td>\n<p align=\"left\">18\u201322 \u0441\u0435\u043d\u0442.<\/p>\n<\/td>\n<td>\n<p align=\"left\">SQL Cloudberry, ORCA, PostGIS; 239 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 PostgreSQL \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u0441\u0442\u0440\u043e\u043a\u0443<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">M2 \u043a\u043b\u0430\u0441\u0442\u0435\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">22\u201324 \u0441\u0435\u043d\u0442.<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440, Motion, \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u043a\u043e\u043d\u043d\u0435\u043a\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">M3 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">23\u201324 \u0441\u0435\u043d\u0442.<\/p>\n<\/td>\n<td>\n<p align=\"left\">2PC, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u043d\u0438\u043c\u043a\u0438, \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u0432\u0437\u0430\u0438\u043c\u043e\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">M4\u2013M6<\/p>\n<\/td>\n<td>\n<p align=\"left\">24\u201326 \u0441\u0435\u043d\u0442.<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0437\u0435\u0440\u043a\u0430\u043b\u0430 \u0438 FTS; AO, PAX, \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b; \u0433\u0440\u0443\u043f\u043f\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">M7 \u043f\u0430\u0440\u0438\u0442\u0435\u0442 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">26\u201327 \u0441\u0435\u043d\u0442.<\/p>\n<\/td>\n<td>\n<p align=\"left\">gpMgmt \u043f\u043e\u0432\u0435\u0440\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 PostgreSQL 19, PostGIS \u043d\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435, \u0437\u0430\u043c\u0435\u0440\u044b TPC<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">M8<\/p>\n<\/td>\n<td>\n<p align=\"left\">27\u201328 \u0441\u0435\u043d\u0442.<\/p>\n<\/td>\n<td>\n<p align=\"left\">UDP2, \u043f\u0440\u043e\u043a\u0441\u0438, gpfts, gpexpand, \u0447\u0435\u0442\u044b\u0440\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043f\u043e \u0434\u043d\u044f\u043c: 10, 9, 15, 26, 31, 29, 87, 51, 87, 186 \u0438 98. \u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u043d\u0438 \u0443\u0448\u043b\u0438 \u043d\u0430 ORCA \u0438 \u0435\u0451 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440, \u0433\u0434\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0447\u0442\u043e \u0442\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0431\u044b\u043b\u043e \u0432\u0430\u0436\u043d\u0435\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0441\u044f \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442. \u0421 24 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0442\u0435\u0441\u0442\u043e\u0432, \u044d\u0442\u0430\u043f\u044b \u043f\u043e\u0448\u043b\u0438 \u0432\u043d\u0430\u0445\u043b\u0451\u0441\u0442.<\/p>\n<p>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u044e\u0440\u043f\u0440\u0438\u0437\u043e\u0432 \u0431\u044b\u043b\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435:<\/p>\n<ul>\n<li>\n<p>\u041d\u043e\u043b\u044c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432: \u041e\u0434\u043d\u043e\u0443\u0437\u043b\u043e\u0432\u043e\u0439 \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u043d\u0430\u0447\u0430\u043b\u0443 \u0441\u043e\u043e\u0431\u0449\u0430\u043b \u043e \u043d\u0443\u043b\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432. \u041e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 ORCA \u043c\u043e\u043b\u0447\u0430 \u043e\u0442\u0434\u0430\u0432\u0430\u043b\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0437\u0430\u043f\u0430\u0441\u043d\u043e\u043c\u0443 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0443. \u0420\u0435\u043b\u0438\u0437\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u0434\u0435\u043b\u0438\u043b\u0430 \u043d\u0430 \u043d\u043e\u043b\u044c \u0438 \u043e\u0431\u0440\u0435\u0437\u0430\u043b\u0430 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u044c \u0434\u043e 1e+250, \u043f\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u0434\u0430\u0432\u0430\u044f \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043f\u043b\u0430\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u0442 0x0400: Cloudberry \u0440\u0435\u0448\u0430\u0435\u0442, \u0437\u0432\u0430\u0442\u044c \u043b\u0438 ORCA, \u043f\u043e \u0444\u043b\u0430\u0433\u0443 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 0x0400, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 PostgreSQL 19 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 <code>CURSOR_OPT_CUSTOM_PLAN<\/code>. \u0414\u043e\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u0431\u044b \u0431\u0435\u0437 \u0435\u0434\u0438\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u043b \u0431\u044b ORCA \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0430.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a: \u041a\u043e\u0433\u0434\u0430 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u0430\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 Cloudberry \u0431\u0440\u0430\u043b\u0430\u0441\u044c \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u0430\u0431\u043e\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0430\u0440\u0441\u0435\u0440\u0430, \u0432 pgbench \u201c\u0441\u044b\u043f\u0430\u043b\u0438\u0441\u044c\u201d 87% \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 UPDATE. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043f\u0430\u0442\u0447 \u044f\u0434\u0440\u0430 O30.<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b \u0432 linux \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u043b\u0441\u044f: \u0421\u043e\u0440\u043e\u043a \u0442\u0440\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043b\u0438 60 \u0413\u0411 \u041e\u0417\u0423, \u0438 OOM killer \u043f\u0440\u0438\u0445\u0432\u0430\u0442\u0438\u043b \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u0438\u043c\u0438 \u0441\u0435\u0430\u043d\u0441 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u043d\u043d\u0435\u0440 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0443\u044e.<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u0435\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0438 ORCA \u043d\u0430 TPC<\/h3>\n<p>\u0418\u0437\u043c\u0435\u0440\u044f\u043b\u0438\u0441\u044c \u0442\u0430\u043a\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f: \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435, \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u0445\u0443\u043a\u043e\u0432, \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c ABI, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0441\u0431\u043e\u0440\u043e\u043a \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u043e\u0432. \u0412\u0441\u0435 \u0446\u0438\u0444\u0440\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b \u043d\u0430 Docker-\u043e\u0431\u0440\u0430\u0437\u0430\u0445, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0437\u0430\u043a\u043e\u043c\u043c\u0438\u0447\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0442\u043e\u043a. \u041f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043e\u043d \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u043f\u043e\u0440\u0442\u0430 &#8212; \u044d\u0442\u043e 58 &#8212; 64 \u0437\u0430\u0434\u0430\u043d\u0438\u044f, \u0438 \u043e\u043d \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 500 &#8212; 900 \u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<p>\u0420\u0435\u0448\u0430\u044e\u0449\u0438\u0439 \u0437\u0430\u043c\u0435\u0440 \u043a\u0430\u0441\u0430\u043b\u0441\u044f Cloudberry MPP planner (Route B). \u041c\u043e\u0451 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0442\u0430\u043a\u0438\u043c: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 ORCA, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0430\u043c\u0438\u043c \u043f\u043e\u0440\u0442\u043e\u043c, \u0430 \u0437\u0430\u0442\u0435\u043c, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0440\u0435\u0448\u0430\u0442\u044c, \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443.<\/p>\n<p>\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>22 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 TPC-H \u0438 99 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 TPC-DS \u0432 \u0442\u043e\u043c \u0432\u0438\u0434\u0435, \u0432 \u043a\u0430\u043a\u043e\u043c \u043e\u043d\u0438 \u0432 DuckDB;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0434\u0438\u043d \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0440 \u0438 \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u043d\u0430 16-\u044f\u0434\u0435\u0440\u043d\u043e\u043c \u0445\u043e\u0441\u0442\u0435 \u0441 60 \u0413\u0411 \u043f\u0430\u043c\u044f\u0442\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0431\u0435\u0437 assert-\u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a, \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 tmpfs, JIT \u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u044b;<\/p>\n<\/li>\n<li>\n<p>\u044d\u0442\u0430\u043b\u043e\u043d \u2014 \u043e\u0442\u0432\u0435\u0442\u044b DuckDB, \u0441\u0432\u0435\u0440\u043a\u0430 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0446\u0435\u043d\u0442\u0430.<\/p>\n<\/li>\n<\/ul>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\n<\/th>\n<th>\n<p align=\"left\">TPC-H<\/p>\n<\/th>\n<th>\n<p align=\"left\">TPC-DS<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e ORCA<\/p>\n<\/td>\n<td>\n<p align=\"left\">22\/22<\/p>\n<\/td>\n<td>\n<p align=\"left\">99\/99<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041e\u0442\u0432\u0435\u0442\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441 DuckDB<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u0441\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u0441\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">ORCA VS \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430 \u0441\u0431\u043e\u0440\u0430, \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">3,1\u00d7 (4,4 \u0441 \u043f\u0440\u043e\u0442\u0438\u0432 123 \u0441, 20 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432)<\/p>\n<\/td>\n<td>\n<p align=\"left\">4,0\u00d7 (25 \u0441 \u043f\u0440\u043e\u0442\u0438\u0432 386 \u0441, 96 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c \u0437\u0430 120 \u0441 \u043d\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0435 \u0441\u0431\u043e\u0440\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">q17, q20<\/p>\n<\/td>\n<td>\n<p align=\"left\">04, 14, 64<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435:<\/p>\n<ul>\n<li>\n<p>\u0421\u0442\u0435\u043d\u0434 \u0434\u043b\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 &#8212; <a href=\"https:\/\/github.com\/igor-suhorukov\/cloudberry\/tree\/16b1ef30668f13423f44762eaeca3a252dc52319\/pg19\/test\/tpc\" rel=\"noopener nofollow\"><code>pg19\/test\/tpc<\/code><\/a> \u0432 \u043f\u043e\u0440\u0442\u0435: \u043e\u043d \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u0434 ORCA \u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u043c \u0441\u0431\u043e\u0440\u0430 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u0432\u0437\u044f\u0442\u044b \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 DuckDB 1.5.5: TPC-H &#8212; <a href=\"https:\/\/github.com\/duckdb\/duckdb\/tree\/v1.5.5\/extension\/tpch\/dbgen\/queries\" rel=\"noopener nofollow\">\u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/a> \u0438 <a href=\"https:\/\/github.com\/duckdb\/duckdb\/tree\/v1.5.5\/extension\/tpch\/dbgen\/answers\/sf1\" rel=\"noopener nofollow\">\u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f SF1<\/a>, TPC-DS &#8212; <a href=\"https:\/\/github.com\/duckdb\/duckdb\/tree\/v1.5.5\/extension\/tpcds\/dsdgen\/queries\" rel=\"noopener nofollow\">\u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/a> \u0438 <a href=\"https:\/\/github.com\/duckdb\/duckdb\/tree\/v1.5.5\/extension\/tpcds\/dsdgen\/answers\/sf1\" rel=\"noopener nofollow\">\u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f SF1<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043e\u043d \u0441\u0442\u0435\u043d\u0434\u0430 &#8212; \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 <a href=\"https:\/\/github.com\/igor-suhorukov\/cloudberry\/commit\/beaf7379d12abeab98eebe1750e441182f26dda2\" rel=\"noopener nofollow\"><code>beaf7379d12<\/code><\/a>: 121 \u0438\u0437 121, 3,13\u00d7 \u0438 3,94\u00d7, \u0438 \u0442\u0435 \u0436\u0435 \u043f\u044f\u0442\u044c \u043d\u0435\u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u0442\u043e\u0433\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432\u0437\u044f\u0442\u044b \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u0442\u0440\u0451\u0445\u0440\u0430\u0443\u043d\u0434\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0440\u0430<\/p>\n<p>\u041f\u043e\u0434 ORCA \u044d\u0442\u0438 \u043f\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430 0,2 &#8212; 1,6 \u0441, \u0430 \u0432\u0441\u0435 121 \u0437\u0430\u043f\u0440\u043e\u0441 &#8212; \u0437\u0430 34 \u0441. \u041d\u0430 \u0448\u0435\u0441\u0442\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 (0,1 &#8212; 0,75 \u0441) ORCA \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u043d\u0430 \u043f\u044f\u0442\u0443\u044e \u0447\u0430\u0441\u0442\u044c. \u041d\u0430 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u043c \u043d\u0430\u0431\u043e\u0440\u0435 Cloudberry \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b fallback \u043f\u043b\u0430\u043d\u0430 \u0432 \u043f\u043e\u0440\u0442\u0435 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u0438\u0441\u044c \u0441 563 \u0434\u043e 52; \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437 ORCA, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 collation. \u0410\u0433\u0435\u043d\u0442 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0441\u0444\u043e\u043a\u0443\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0438 fallback \u043e\u0442 ORCA \u043a \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0443 PG, \u0430 \u043d\u0435 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c 30\u201345 \u0442\u044b\u0441. \u0441\u0442\u0440\u043e\u043a Route B. \u0421\u0432\u043e\u0435 \u0436\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e Cloudberry MPP \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u044f \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u0438\u043d\u044f\u043b, \u043d\u043e \u043f\u043b\u0430\u043d \u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0443\u0436\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b.<\/p>\n<h3>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435<\/h3>\n<p>\u0414\u0432\u0435\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434 \u0431\u044b\u043b\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0441\u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Greenplum \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043a\u0430\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL, \u043d\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0432\u0448\u0438\u0441\u044c \u0432 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442. \u0422\u0435\u043f\u0435\u0440\u044c \u0436\u0435 \u0435\u0441\u0442\u044c \u043a\u043e\u0434 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430:<\/p>\n<ul>\n<li>\n<p>\u044f\u0434\u0440\u043e PostgreSQL \u0441 22 \u043c\u043e\u0438\u043c\u0438 \u0445\u0443\u043a\u0430\u043c\u0438 \u0438 \u0434\u043e\u043a\u0430\u0437\u0443\u0435\u043c\u043e \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0433\u043e Greenplum \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 Cloudberry \u0438 ORCA.<\/p>\n<\/li>\n<li>\n<p>\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 PostGIS \u0438 pgvector, \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0445 \u0441\u043e\u0441\u0435\u0434\u0435\u0439 \u0432 pgvector \u0434\u0430\u0436\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0430 ORDER BY \u2026 LIMIT \u2026 \u043d\u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0431\u043e\u043b\u0435\u0435 90% \u043a\u043e\u0434\u0430 \u0421\u0423\u0411\u0414 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439: 93% (\u0438\u043b\u0438 97% \u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c Cloudberry MPP \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a &#8212; Route B \u0432 \u043c\u043e\u0435\u043c \u043f\u043b\u0430\u043d\u0435), \u0430 380\u0442\u044b\u0441. \u0441\u0442\u0440\u043e\u043a ORCA \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u0435\u0440\u0442\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f 691 \u0438\u0437 1180 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 Cloudberry &#8212; \u043d\u0443\u0436\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435. \u0422\u0430\u043a\u0436\u0435 \u0432 \u043f\u043b\u0430\u043d\u0430\u0445 \u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043e\u0441\u0442\u0430\u0442\u043e\u043a isolation2 \u0438 greenplum_schedule. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0443 \u0438 Cloudberry MPP \u043a\u0430\u043a fallback \u0434\u043b\u044f ORCA.<\/p>\n<p>\u0418 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u044d\u0442\u0438\u0445 \u0434\u043d\u0435\u0439, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441 Greenplum \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f PostgreSQL \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e LLM \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0438\u0448\u0435\u0442 \u043a\u043e\u0434, \u0430 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u044b\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043a\u0430\u043a \u0432 \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u0435.<\/p>\n<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u0441\u0434\u0430\u0431\u0440\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u043a\u043e\u0434\u0430, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u0438 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0438\u0445 \u043c\u0435\u0442\u0440\u0438\u043a. \u0418\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043f\u0440\u0438 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0438\u0441\u044c \u0442\u0435\u0441\u0442\u0430\u043c\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e &#8212; \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0442\u0435\u0441\u0442\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0410 \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u0442\u043e \u043e\u043d\u0438 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u0441\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0444\u0430\u043a\u0442\u044b \u043e \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u044d\u0442\u043e\u0439 \u0444\u0430\u0437\u0435. \u0418 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u043c \u0432 \u043a\u0430\u043a\u043e\u0439 \u0444\u0430\u0437\u0435 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u044d\u0442\u043e\u0442 \u0442\u0435\u0441\u0442 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u0432 \u0435\u0433\u043e \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435. \u0422\u0435\u0441\u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0432 docker \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 32 \u043f\u043e\u0442\u043e\u043a\u0430 \u0438 64\u0413\u0411 \u041e\u0417\u0423, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<p>\u0417\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0433\u0435\u043d\u0442\u044b \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0432 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 worktree, \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0439 \u0448\u0430\u0433 \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u043f\u0443\u0442\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438\u043b\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u044f \u0431\u0440\u0430\u043b \u043d\u0430 \u0441\u0435\u0431\u044f. \u0424\u043e\u0440\u043a\u0443 Greenplum \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c \u0433\u043e\u0434\u044b \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0441  \u044f\u0434\u0440\u0430 9.4 \u043d\u0430 12, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0436\u0435 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 22 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0430\u0442\u0447\u0435\u0439 \u044f\u0434\u0440\u0430 PostgreSQL \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043d\u0438\u043c \u043a\u043e\u0434\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0412\u0441\u0435 \u0435\u0449\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL? \u201c\u0422\u043e\u0433\u0434\u0430 \u043c\u044b \u0438\u0434\u0435\u043c \u043a \u0432\u0430\u043c!\u201d<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430: <a href=\"https:\/\/github.com\/igor-suhorukov\/postgres\/tree\/REL_19_STABLE_CLOUDBERRY\" rel=\"noopener nofollow\">\u0441\u0435\u0440\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u044f\u0434\u0440\u0430<\/a>, <a href=\"https:\/\/github.com\/igor-suhorukov\/cloudberry\/tree\/extension_postgresql_19\/pg19\" rel=\"noopener nofollow\">\u043f\u043e\u0440\u0442<\/a>, <a href=\"https:\/\/github.com\/igor-suhorukov\/cloudberry\/tree\/extension_postgresql_19\/pg19#building\" rel=\"noopener nofollow\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435<\/a>.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1088264\/\">https:\/\/habr.com\/ru\/articles\/1088264\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0421 2017 \u0433\u043e\u0434\u0430 \u044f \u0441\u043b\u0435\u0436\u0443 \u0437\u0430 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0432\u043e\u043a\u0440\u0443\u0433 PostgreSQL \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u0440\u0430\u043d\u044c\u0448\u0435 \u0432 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b AWS Redshift \u0441\u043e \u0432\u0441\u0435\u043c \u0435\u0433\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u043c\u0438 \u0438 \u043d\u0435\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430\u043c\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043a\u0430\u043a \u0444\u043e\u0440\u043a\u0430 \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL. \u041f\u043e \u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 PostgreSQL \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0421\u0423\u0411\u0414, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 PostGIS \/ pgvector \u0438\u0442\u043f.Citus \u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0431\u043b\u0438\u0436\u0435 \u0432\u0441\u0435\u0445 \u043a \u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u043d\u043e \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u043c Massively Parallel Processing \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c, \u0441\u043a\u043e\u0440\u0435\u0435 \u044d\u0442\u043e \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f OLTP \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438.Greenplum \u043a\u0430\u043a MPP \u0444\u043e\u0440\u043a \u0432\u0441\u0435\u043c \u0445\u043e\u0440\u043e\u0448 \u0438 \u043c\u043d\u043e\u0433\u043e \u043a\u0442\u043e \u0435\u0433\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u0435\u0442 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445, \u043d\u043e \u0432\u0435\u0440\u0441\u0438\u044f PostgreSQL, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d \u0441\u043e\u0437\u0434\u0430\u043d, \u043e\u0442\u0441\u0442\u0430\u0435\u0442 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0439. \u042f \u0440\u0435\u0448\u0438\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c Apache Cloudberry, \u043a\u0430\u043a \u0441\u0430\u043c\u0443\u044e \u0441\u0432\u0435\u0436\u0443\u044e open source \u0432\u0435\u0440\u0441\u0438\u044e Greenplum, \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f PostgreSQL 19. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u044d\u0442\u043e \u043b\u0438\u0447\u043d\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u0430 \u043d\u0435 \u0430\u043f\u0441\u0442\u0440\u0438\u043c \u0440\u0435\u043b\u0438\u0437 Apache Cloudberry. \u0411\u043e\u043b\u0435\u0435 90% \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e LLM \u0438 59% \u0435\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u0442\u0430\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043d\u0430 \u0435\u0433\u043e \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0423 \u043c\u0435\u043d\u044f \u043d\u0430 \u044d\u0442\u043e \u0443\u0448\u043b\u043e 12 \u0434\u043d\u0435\u0439\u2026Greenplum \u043a\u0430\u043a MPP \u0444\u043e\u0440\u043a \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u0441\u0442\u0430\u0432\u0430\u043b \u043e\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043b\u0438\u0437\u043e\u0432. \u0422\u0430\u043a Greenplum 6 \u0432\u044b\u0448\u0435\u043b \u043d\u0430 \u0431\u0430\u0437\u0435 PG 9.4, Greenplum 7 \u043d\u0430 PG 12, \u0430 Apache Cloudberry \u043a\u0430\u043a \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u0435\u043b\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Greenplum \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e PostgreSQL \u0434\u043e 16.9 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043c\u0430\u0435 2026. \u0418 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0437\u0434\u0435\u0441\u044c \u0432 \u0442\u043e\u043c \u0447\u0442\u043e \u044d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u043d\u043e-\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u0421\u0423\u0411\u0414 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u043e\u0440\u043a\u043e\u043c PostgreSQL: \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0431\u044b\u043b\u043e 882 \u043f\u0440\u0430\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 PG \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0435\u0449\u0435 646 &#8212; \u044d\u0442\u043e \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044f 1.6\u043c\u043b\u043d. \u0441\u0442\u0440\u043e\u043a \u0432 \u0435\u0433\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440\u0435 ORCA \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043d\u043e\u0432\u0443\u044e \u043c\u0430\u0436\u043e\u0440\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441 &#8212; \u044d\u0442\u043e \u043c\u0435\u0441\u044f\u0446\u044b \u0441\u043b\u0438\u044f\u043d\u0438\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432. \u041f\u043e\u043a\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0442 \u0441\u043b\u0438\u044f\u043d\u0438\u0435, \u0430\u043f\u0441\u0442\u0440\u0438\u043c \u0443\u0441\u043f\u0435\u0432\u0430\u0435\u0442 \u0443\u0439\u0442\u0438 \u043e\u0442 \u043d\u0438\u0445 \u0432\u043f\u0435\u0440\u0435\u0434.\u042f \u0436\u0435 \u0440\u0435\u0448\u0438\u043b \u0441\u043a\u0440\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0436\u0430 \u0441 \u0443\u0436\u043e\u043c \u0438 \u043f\u043e\u0439\u0442\u0438 \u043e\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e &#8212; \u043d\u0435 \u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 PostgreSQL \u0432 Greenplum, \u0430 \u043d\u0430\u0442\u044f\u043d\u0443\u0442\u044c Cloudberry \u043f\u043e\u0432\u0435\u0440\u0445 PostgreSQL 19 \u043a\u0430\u043a \u043d\u0430\u0431\u043e\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u044d\u0442\u043e\u0439 \u0421\u0423\u0411\u0414. \u041d\u043e \u0441\u0430\u043c\u0430\u044f \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u0445 PG 19 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043c\u043e\u0438\u043c\u0438 \u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 \u0431\u0435\u0437 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 Cloudberry \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0435\u043e\u0442\u043b\u0438\u0447\u0438\u043c \u043e\u0442 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u0433\u043e PostgreSQL 19 \u043a\u0430\u043a \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0438 \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043d\u0435\u043e\u0442\u043b\u0438\u0447\u0438\u043c\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (\u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0434\u043e\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f) \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u044f\u0434\u0440\u0430.\u041a\u043e\u0434 \u0437\u0430 \u043c\u0435\u043d\u044f \u043f\u0438\u0441\u0430\u043b Claude Code \u0432\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u0441\u0435\u0441\u0441\u0438\u0439 \u0430\u0433\u0435\u043d\u0442\u0430\u043c\u0438, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c\u0438 \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 git worktree. \u042f \u0436\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b \u0441 LLM \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043b\u0430\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u0435\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0414\u0430\u0436\u0435 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e \u0447\u0442\u043e \u044f \u043f\u0438\u0441\u0430\u043b \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e \u043d\u0430 C\/C++ \u043f\u043e\u0447\u0442\u0438 20 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434, \u044d\u0442\u043e\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u044f \u0441\u0447\u0438\u0442\u0430\u044e \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c!\u041d\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e \u0432\u0441\u0435 \u0443\u0448\u043b\u043e 12 \u0434\u043d\u0435\u0439 \u0438 629 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c MPP \u0434\u0432\u0438\u0436\u043e\u043a \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0439 \u0444\u043e\u0440\u043a Greenplum, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 FDW \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u0449\u0438\u0442 \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0440. \u041f\u043b\u0430\u043d\u044b \u0440\u0435\u0436\u0443\u0442\u0441\u044f \u043d\u0430 \u0441\u043b\u0430\u0439\u0441\u044b, \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0421\u0423\u0411\u0414 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u043d\u0438\u043c\u043a\u0438 \u0438 \u0434\u0432\u0443\u0445\u0444\u0430\u0437\u043d\u0443\u044e \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u044e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0441\u0430\u043c\u043e\u043c PostgreSQL \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043b\u0438\u0448\u044c 22 \u043d\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u043a\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f (\u043a\u0430\u044e\u0441\u044c, \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u043e 28, \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u0445 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0430\u043c\u0438).\u041f\u043e\u0447\u0435\u043c\u0443 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435Pivotal \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f \u043d\u0430\u0437\u0430\u0434 \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 Greenplum, \u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043a\u0443\u043f\u043a\u0438 VMware \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Boradcom \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0438 \u0432 \u0430\u0440\u0445\u0438\u0432. \u0422\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0436\u0438\u0432\u0435\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0432 \u0444\u043e\u0440\u043a\u0430\u0445 open-gpdb, WarehousePG \u043e\u0442 EDB \u0438 Apache Cloudberry. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0431\u044b\u043b \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 Greenplum 7 \u0438 \u043f\u043e\u043f\u0430\u043b \u0432 \u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Apache. PostgreSQL 19 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0435\u0449\u0435 \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f &#8212; \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 Beta 4, \u0430 \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u0441 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430 \u043d\u0435\u0434\u0435\u043b\u044e.\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0421\u0423\u0411\u0414 \u0438 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0431\u0435\u0437 \u0438\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0438\u0445 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435. \u0422\u0430\u043a\u0436\u0435 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0435\u0437\u0434 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043c\u0430\u0436\u043e\u0440\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441\u0430, \u0441 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043c\u0435\u043d\u044c\u0448\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0447\u0435\u043c \u0443 \u0444\u043e\u0440\u043a\u0430. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0431\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u043b\u0438\u0448\u044c \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 22 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0430\u0442\u0447\u0430 \u043d\u0430 1.5\u041a \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0443\u043c\u043c\u0435, \u0430 \u043d\u0435 \u0441\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043c\u0435\u0441\u044f\u0446\u0430\u043c\u0438.\u0414\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Greenplum \u0438 Cloudberry \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u0430\u0441\u0442:\u0410\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 PostgreSQL &#8212; \u043e\u0442 MERGE \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0444\u0438\u0448\u0435\u0447\u0435\u043a SQL\/JSON \u0434\u043e \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0432\u0430\u043a\u0443\u0443\u043c\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043e\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 &#8212; \u043d\u0430 \u0443\u0437\u043b\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0430\u043f\u0441\u0442\u0440\u0438\u043c\u043d\u044b\u0435 PostGIS 3.7 \u0432\u043c\u0435\u0441\u0442\u043e \u0444\u043e\u0440\u043a\u0430 3.3.2 \u0438\u0437 Cloudberry, \u0430 pgvector \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d 0.8.8. \u041b\u0435\u0433\u043a\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u0433\u043e PostgreSQL 19, \u0432\u0435\u0434\u044c ABI \u044f\u0434\u0440\u0430 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d.\u041f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 &#8212; DISTRIBUTED BY \u0438 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 PARTITION BY \u2026 EVERY, gpfdist, gp_toolkit, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b gpMgmt \u043e\u0442 gpinitsystem \u0434\u043e gpexpand, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0432\u043e\u0434 EXPLAIN \u0441 \u0443\u0437\u043b\u0430\u043c\u0438 Motion.\u0425\u043e\u0442\u044f \u0447\u0443\u0434\u0435\u0441 \u043d\u0430 \u0432\u0441\u0435 100% \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442. \u0417\u0430 \u044d\u0442\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0435\u0439 (\u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435), \u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 pg_upgrade. 438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u044b \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c gp.*, \u0445\u043e\u0442\u044f gpconfig \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0438 \u0441\u0442\u0430\u0440\u044b\u0435 \u0438\u043c\u0435\u043d\u0430. \u041c\u043d\u043e\u0433\u043e\u0435 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u0432 DDL \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0442\u0435\u0433\u0438, \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0421\u0423\u0411\u0414 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043a\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u043e\u043c\u0430 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.\u041d\u043e\u0432\u0438\u0447\u043a\u0430\u043c \u0432 Greenplum \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u0430\u0435\u0442:\u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u044b\u0439 PostgreSQL \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0441 \u0432\u0438\u0434\u0443 \u0441\u0430\u043c\u044b\u043c \u043e\u0431\u044b\u0447\u043d\u044b\u043c, \u0435\u0441\u043b\u0438 \u0432 \u043d\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 Cloudberry.\u043d\u043e \u0434\u0430\u0436\u0435 \u0432 \u043e\u0434\u043d\u043e\u0443\u0437\u043b\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0435\u0441\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u0442\u0430\u0431\u043b\u0438\u0446\u044b append-optimized \u0438 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 PAX, \u0430 \u0441\u0430\u043c\u043e\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a ORCA.\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c MPP \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u0432\u0430\u043c \u043d\u0435 \u043d\u0430\u0434\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 PostgreSQL \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b, \u0434\u0440\u0443\u0433\u0438\u0435 BI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b.\u041f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 PL\/pgSQL, PostGIS \u0438 pgvector \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0441 \u0432\u0430\u043c\u0438.Cloudberry \u043a\u0430\u043a \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0435 \u0441 PostgreSQL MPP \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\u041e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u043d\u044b\u0439 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440, \u043f\u043b\u0430\u043d \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u043d \u043d\u0430 \u0432\u0441\u0435\u0445 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0445, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u043c Motion. \u041d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f ACID \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430\u0445 \u0432\u0441\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e \u0441\u0436\u0430\u0442\u0438\u0435\u043c. \u0418 \u043d\u0430\u0434 \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0435\u0441\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c failover \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437\u0430\u0445.\u0422\u0438\u043f\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 Data Warehouse \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0438 \u0441\u043e\u0442\u043d\u0438 \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0432 \u0441\u0445\u0435\u043c\u0430\u0445 \u201c\u0437\u0432\u0435\u0437\u0434\u0430\u201d \u0438 \u201c\u0441\u043d\u0435\u0436\u0438\u043d\u043a\u0430\u201d, \u0434\u043b\u044f \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u044e\u0449\u0438\u0445 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446. \u0427\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442 \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f ELT \u043d\u0430 SQL \u0438 PL\/pgSQL.\u0415\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f PostgreSQL \u043d\u0430 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2026:\u041c\u043e\u0439 \u043f\u043e\u0440\u0442 CloudberryCitus 14.2pg_duckdb 1.1.1pg_lake 3.5.3PG-Strom 6.1\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043e\u0432\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0448\u0430\u0440\u0434\u043e\u0432\u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b\u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b + DuckDB \u0432 sidecar-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435\u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 GPU\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c PostgreSQL; \u0441\u043b\u0430\u0439\u0441\u044b \u043f\u043b\u0430\u043d\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435, Motion \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438\u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c PostgreSQL; SQL-\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0448\u0430\u0440\u0434\u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 DuckDB \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0431\u044d\u043a\u0435\u043d\u0434\u0435\u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 DuckDB \u0432 pgduck_server\u043a\u043e\u0434 \u0434\u043b\u044f GPU, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0437 SQL\u0411\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044fORCA, \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u043d\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u043f\u043b\u0430\u043d\u044b\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u00ab\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0438\u0432\u043d\u044b\u0439\u00bb (\u0442\u0430\u043a \u0432 \u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438); \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u043f\u0435\u0440\u0435\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u044b\u043e\u0434\u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0430\u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 DuckDB, \u0438\u043d\u0430\u0447\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PostgreSQL\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u044c GPU\u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c2PC + \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u043d\u0438\u043c\u043a\u04382PC, \u0431\u0435\u0437 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043d\u0438\u043c\u043a\u0430\u043d\u0435\u0442 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u043f\u0438\u0448\u0443\u0449\u0438\u0445 \u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b PostgreSQL, \u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u044b DuckDBUPDATE\/DELETE \u0432 Iceberg \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438\u043a\u0430\u043a \u0432 PostgreSQL\u042f\u0434\u0440\u043e22 \u043f\u0430\u0442\u0447\u0430 \u044f\u0434\u0440\u0430\u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439\u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439\u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439\u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439\u0418\u0437 \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0440\u0442 Cloudberry \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u043a\u0430\u043a \u0435\u0434\u0438\u043d\u044b\u0439 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043d\u044b\u0439 \u043f\u043b\u0430\u043d, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0443\u0437\u0435\u043b \u0447\u0438\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0441\u043d\u0438\u043c\u043e\u043a. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0442\u0438\u043f\u044b PostGIS\/pgvector \u0438\u0442\u043f \u0432 \u0441\u0432\u043e\u0438\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0430\u0434 \u043d\u0438\u043c\u0438 UPDATE\/MERGE \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u043c \u0433\u0434\u0435 \u0432\u0430\u0436\u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e. Executor \u0432 PostgreSQL \u044d\u0442\u043e \u0434\u0432\u0438\u0436\u043e\u043a \u0441\u043e \u0441\u0442\u0440\u043e\u0447\u043d\u044b\u043c\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0432\u0438\u0434\u0435 \u044d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432\u0440\u044f\u0434 \u043b\u0438 \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0438\u043c\u0443\u0442 \u0432 PostgreSQL \u043a\u0430\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 &#8212; \u0432\u0435\u0434\u044c \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e \u0421\u0423\u0411\u0414 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u043d\u0430 \u0447\u0442\u043e \u043d\u0435 \u043f\u043e\u0439\u0434\u0435\u0442 Azure\/AWS.\u0415\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 open source \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0442\u043e ClickHouse 26.9 \u0438 StarRocks 4.1.5 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 \u0441 \u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. StarRocks \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0439 \u043d\u043e\u0432\u044b\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440 Cascades \u0438 lakehouse \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438, \u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0443 \u043d\u0435\u0433\u043e \u043f\u043e\u043a\u0430 \u0432 \u0431\u0435\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u0438. \u0423 ClickHouse \u0441\u0432\u043e\u0439 \u0434\u0438\u0430\u043b\u0435\u043a\u0442 \u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438.\u0420\u0430\u0437\u0440\u044b\u0432 \u0432 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f\u0445 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 ClickBench: \u043e\u0434\u043d\u0430 \u043f\u043b\u043e\u0441\u043a\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043d\u0430 100 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a, 43 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0431\u0435\u0437 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u043c\u0430\u0448\u0438\u043d\u0430 c6a.4xlarge. \u041a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2014 \u0441\u0443\u043c\u043c\u0430 \u043f\u043e 43 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u00ab\u0433\u043e\u0440\u044f\u0447\u0435\u0433\u043e\u00bb \u043f\u0440\u043e\u0433\u043e\u043d\u0430, \u0442\u043e \u0435\u0441\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u0438\u0437 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u0432 2 \u0438 3, \u043a\u0430\u043a \u0435\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 ClickBench; \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432\u0435\u0434\u0451\u0442 \u043d\u0430 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432:ClickHouseDuckDBStarRockspg_duckdb (Parquet)Cloudberry 1.5.3 (AOCO)Greenplum 7.1 (AOCO)Citus columnarPostgreSQL heap17,6 \u044126,3 \u044144,5 \u044152,5 \u0441294,7 \u0441768,6 \u04411745,1 \u044111875,4 \u0441\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 ClickBench \u043d\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u0435 ad5c59b (2026-09-28); \u0442\u0435 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432 \u0432\u0438\u0434\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u2014 \u043d\u0430 benchmark.clickhouse.com.\u041d\u0430 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0432 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0447\u0438\u0441\u043b\u0430\u0445 \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0440\u0442 Cloudberry \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043d\u0435\u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c PostgreSQL \u0438 \u0435\u0433\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u044d\u0442\u043e\u043c \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0435 \u043d\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u0430\u043a \u0440\u0430\u0437 MPP \u0434\u0432\u0438\u0436\u043a\u0438 \u0438 \u043e\u043f\u0440\u0430\u0432\u0434\u044b\u0432\u0430\u044e\u0442 \u0441\u0432\u043e\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0435 \u044d\u043c\u043f\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u2026Cloudberry &#8212; \u0434\u043b\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e SQL \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u0441 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c\u0438, PL\/pgSQL, PostGIS \u0438 pgvector \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445;Citus &#8212; \u0434\u043b\u044f \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0435\u043d\u0430\u043d\u0442\u043d\u044b\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0441 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043f\u043e \u043a\u043b\u044e\u0447\u0443;pg_duckdb \u0438 pg_lake &#8212; \u0434\u043b\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0443\u0437\u043b\u0435 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Iceberg;ClickHouse &#8212; \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043b\u043e\u0433\u043e\u0432 \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439;StarRocks &#8212; \u0434\u043b\u044f \u0434\u0436\u043e\u0438\u043d\u043e\u0432 \u0442\u0430\u0431\u043b\u0438\u0446, \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 \u044d\u043b\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u044c\u044e lakehouse.\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\u041d\u0430\u0447\u0430\u043b \u0432\u0441\u0435 \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u043d\u0430. \u041d\u0430\u043f\u0438\u0441\u0430\u043b Fable5 \u201c\u0438\u0437\u0443\u0447\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 cloudberry \u0438&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-496647","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/496647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=496647"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/496647\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=496647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=496647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=496647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}