DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืžืชื™ืฉื”ื• ื‘ืขืชื™ื“ ื”ืจื—ื•ืง, ื”ืกืจื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ื ืชื•ื ื™ื ืžื™ื•ืชืจื™ื ืชื”ื™ื” ืื—ืช ื”ืžืฉื™ืžื•ืช ื”ื—ืฉื•ื‘ื•ืช ืฉืœ ื”-DBMS [1]. ื‘ื™ื ืชื™ื™ื ืื ื—ื ื• ื‘ืขืฆืžื ื• ืฆืจื™ื›ื™ื ืœื“ืื•ื’ ืœืžื—ื™ืงืช ืื• ืœื”ืขื‘ื™ืจ ื ืชื•ื ื™ื ืžื™ื•ืชืจื™ื ืœืžืขืจื›ื•ืช ืื—ืกื•ืŸ ื–ื•ืœื•ืช ื™ื•ืชืจ. ื ื ื™ื— ืฉื”ื—ืœื˜ืช ืœืžื—ื•ืง ื›ืžื” ืžื™ืœื™ื•ื ื™ ืฉื•ืจื•ืช. ืžืฉื™ืžื” ืคืฉื•ื˜ื” ืœืžื“ื™, ื‘ืžื™ื•ื—ื“ ืื ื”ืžืฆื‘ ื™ื“ื•ืข ื•ื™ืฉ ืื™ื ื“ืงืก ืžืชืื™ื. "DELETE FROM table1 WHERE col1 = :value" - ืžื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื™ื•ืชืจ ืคืฉื•ื˜, ื ื›ื•ืŸ?

ื•ื™ื“ืื•:

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

  • ืื ื™ ื‘ื•ื•ืขื“ืช ืชื›ื ื™ืช Highload ืžื”ืฉื ื” ื”ืจืืฉื•ื ื”, ื›ืœื•ืžืจ ืžืฉื ืช 2007.

  • ื•ืื ื™ ืขื Postgres ืžืื– 2005. ื”ืฉืชืžืฉ ื‘ื• ื‘ืคืจื•ื™ืงื˜ื™ื ืจื‘ื™ื.

  • ืงื‘ื•ืฆื” ืขื RuPostges ื’ื ืžืื– 2007.

  • ื’ื“ืœื ื• ืœ-2100+ ืžืฉืชืชืคื™ื ื‘-Meetup. ื”ื™ื ืฉื ื™ื™ื” ื‘ืขื•ืœื ืื—ืจื™ ื ื™ื• ื™ื•ืจืง, ืฉืกืืŸ ืคืจื ืกื™ืกืงื• ืขืงืคื” ืื•ืชื” ื‘ืžืฉืš ื–ืžืŸ ืจื‘.

  • ืื ื™ ื’ืจ ื‘ืงืœื™ืคื•ืจื ื™ื” ื›ื‘ืจ ื›ืžื” ืฉื ื™ื. ืื ื™ ืžืชืขืกืง ื™ื•ืชืจ ื‘ื—ื‘ืจื•ืช ืืžืจื™ืงืื™ื•ืช, ื›ื•ืœืœ ื’ื“ื•ืœื•ืช. ื”ื ืžืฉืชืžืฉื™ื ืคืขื™ืœื™ื ืฉืœ Postgres. ื•ื™ืฉ ื›ืœ ืžื™ื ื™ ื“ื‘ืจื™ื ืžืขื ื™ื™ื ื™ื.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

https://postgres.ai/ ื”ื™ื ื”ื—ื‘ืจื” ืฉืœื™. ืื ื—ื ื• ืขื•ืกืงื™ื ื‘ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืžืฉื™ืžื•ืช ืฉืžื‘ื˜ืœื•ืช ื”ืื˜ื•ืช ื‘ืคื™ืชื•ื—.

ืื ืืชื” ืขื•ืฉื” ืžืฉื”ื•, ืื– ืœืคืขืžื™ื ื™ืฉ ืกื•ื’ ืฉืœ ืชืงืขื™ื ืกื‘ื™ื‘ Postgres. ื ื ื™ื— ืฉืืชื” ืฆืจื™ืš ืœื—ื›ื•ืช ืฉื”ืžื ื”ืœ ื™ื’ื“ื™ืจ ืขื‘ื•ืจืš ืขืžื“ืช ืžื‘ื—ืŸ, ืื• ืฉืืชื” ืฆืจื™ืš ืœื—ื›ื•ืช ืฉื”-DBA ื™ื’ื™ื‘ ืœืš. ื•ืื ื—ื ื• ืžื•ืฆืื™ื ืฆื•ื•ืืจื™ ื‘ืงื‘ื•ืง ื›ืืœื” ื‘ืชื”ืœื™ืš ื”ืคื™ืชื•ื—, ื”ื‘ื“ื™ืงื” ื•ื”ื ื™ื”ื•ืœ ื•ืžื ืกื™ื ืœื—ืกืœ ืื•ืชื ื‘ืขื–ืจืช ืื•ื˜ื•ืžืฆื™ื” ื•ื’ื™ืฉื•ืช ื—ื“ืฉื•ืช.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf

ืœืื—ืจื•ื ื” ื”ื™ื™ืชื™ ื‘-VLDB ื‘ืœื•ืก ืื ื’'ืœืก. ื–ื”ื• ื”ื›ื ืก ื”ื’ื“ื•ืœ ื‘ื™ื•ืชืจ ื‘ื ื•ืฉื ืžืื’ืจื™ ืžื™ื“ืข. ื•ื”ื™ื” ื“ื™ื•ื•ื— ืฉื‘ืขืชื™ื“ DBMS ืœื ืจืง ื™ืื—ืกืŸ, ืืœื ื’ื ื™ืžื—ืง ืื•ื˜ื•ืžื˜ื™ืช ื ืชื•ื ื™ื. ื–ื” ื ื•ืฉื ื—ื“ืฉ.

ื™ืฉ ื™ื•ืชืจ ื•ื™ื•ืชืจ ื ืชื•ื ื™ื ื‘ืขื•ืœื ื”ื–ื˜ื”-ื‘ื™ื™ื˜ - ื–ื” 1 ืคื˜ื”-ื‘ื™ื™ื˜. ื•ืขื›ืฉื™ื• ื›ื‘ืจ ืžืขืจื™ื›ื™ื ืฉื™ืฉ ืœื ื• ื™ื•ืชืจ ืž-000 ื–ื˜ื”-ื‘ื™ื™ื˜ ืฉืœ ื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื ื‘ืขื•ืœื. ื•ื™ืฉ ืขื•ื“ ื•ืขื•ื“ ื›ืืœื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

https://vldb2019.github.io/files/VLDB19-keynote-2-slides.pdf

ื•ืžื” ืœืขืฉื•ืช ืขื ื–ื”? ื‘ืจื•ืจ ืฉืฆืจื™ืš ืœื”ืกื™ืจ ืื•ืชื•. ื”ื ื” ืงื™ืฉื•ืจ ืœื“ื•ื— ื”ืžืขื ื™ื™ืŸ ื”ื–ื”. ืื‘ืœ ืขื“ ื›ื” ื–ื” ืœื ื™ื•ืฉื ื‘-DBMS.

ืžื™ ืฉื™ื›ื•ืœ ืœืกืคื•ืจ ื›ืกืฃ ืจื•ืฆื” ืฉื ื™ ื“ื‘ืจื™ื. ื”ื ืจื•ืฆื™ื ืฉื ืžื—ืง, ืื– ืžื‘ื—ื™ื ื” ื˜ื›ื ื™ืช ืื ื—ื ื• ืืžื•ืจื™ื ืœื”ื™ื•ืช ืžืกื•ื’ืœื™ื ืœืขืฉื•ืช ืืช ื–ื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืžื” ืฉืืกืคืจ ื‘ื”ืžืฉืš ื”ื•ื ืื™ื–ื• ืกื™ื˜ื•ืืฆื™ื” ืžื•ืคืฉื˜ืช ื”ื›ื•ืœืœืช ืฉืœืœ ืกื™ื˜ื•ืืฆื™ื•ืช ืืžื™ืชื™ื•ืช, ื›ืœื•ืžืจ ืกื•ื’ ืฉืœ ืื•ืกืฃ ืฉืœ ืžื” ืฉื‘ืืžืช ืงืจื” ืœื™ ื•ืœืžืื’ืจื™ ื”ืžื™ื“ืข ืฉืžืกื‘ื™ื‘ ื”ืจื‘ื” ืคืขืžื™ื, ื”ืจื‘ื” ืฉื ื™ื. ืžื’ืจืคื•ืช ื™ืฉ ื‘ื›ืœ ืžืงื•ื ื•ื›ื•ืœื ื“ื•ืจื›ื™ื ืขืœื™ื”ื ื›ืœ ื”ื–ืžืŸ.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื ื ื™ื— ืฉื™ืฉ ืœื ื• ื‘ืกื™ืก ืื• ื›ืžื” ื‘ืกื™ืกื™ื ืฉื’ื“ืœื™ื. ื•ื—ืœืง ืžื”ืจืฉื•ืžื•ืช ืœืœื ืกืคืง ื–ื‘ืœ. ืœื“ื•ื’ืžื”, ื”ืžืฉืชืžืฉ ื”ืชื—ื™ืœ ืœืขืฉื•ืช ืžืฉื”ื• ืฉื, ืื‘ืœ ืœื ืกื™ื™ื ืื•ืชื•. ื•ืื—ืจื™ ื–ืžืŸ ืžื” ืื ื—ื ื• ื™ื•ื“ืขื™ื ืฉืœื ื ื™ืชืŸ ืขื•ื“ ืœืื—ืกืŸ ืืช ื”ืœื ื’ืžื•ืจ ื”ื–ื”. ื›ืœื•ืžืจ, ื ืจืฆื” ืœื ืงื•ืช ื›ืžื” ื“ื‘ืจื™ื ื–ื‘ืœ ื›ื“ื™ ืœื—ืกื•ืš ื‘ืžืงื•ื, ืœืฉืคืจ ื‘ื™ืฆื•ืขื™ื ื•ื›ื•'.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื‘ืื•ืคืŸ ื›ืœืœื™, ื”ืžืฉื™ืžื” ื”ื™ื ืœื‘ืฆืข ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืžื—ื™ืงื” ืฉืœ ื“ื‘ืจื™ื ืกืคืฆื™ืคื™ื™ื, ืฉื•ืจื•ืช ืกืคืฆื™ืคื™ื•ืช ื‘ื˜ื‘ืœื” ื›ืœืฉื”ื™.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื•ื™ืฉ ืœื ื• ื‘ืงืฉื” ื›ื–ื•, ืขืœื™ื” ื ื“ื‘ืจ ื”ื™ื•ื, ื›ืœื•ืžืจ ืขืœ ืคื™ื ื•ื™ ืืฉืคื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื‘ื™ืงืฉื ื• ืžืžืคืชื— ืžื ื•ืกื” ืœืขืฉื•ืช ื–ืืช. ื”ื•ื ืœืงื— ืืช ื”ื‘ืงืฉื” ื”ื–ื•, ื‘ื“ืง ืื•ืชื” ื‘ืขืฆืžื• - ื”ื›ืœ ืขื•ื‘ื“. ื ื‘ื“ืง ืขืœ ื”ื‘ืžื” - ื”ื›ืœ ื‘ืกื“ืจ. ืžืชื’ืœื’ืœ - ื”ื›ืœ ืขื•ื‘ื“. ืคืขื ื‘ื™ื•ื ืื ื—ื ื• ืžืคืขื™ืœื™ื ืืช ื–ื” - ื”ื›ืœ ื‘ืกื“ืจ.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืžืกื“ ื”ื ืชื•ื ื™ื ื’ื“ืœ ื•ื’ื“ืœ. ื”-DELETE ื”ื™ื•ืžื™ ืžืชื—ื™ืœ ืœืขื‘ื•ื“ ืงืฆืช ื™ื•ืชืจ ืœืื˜.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื•ืื– ืื ื—ื ื• ืžื‘ื™ื ื™ื ืฉืขื›ืฉื™ื• ื™ืฉ ืœื ื• ื—ื‘ืจืช ืฉื™ื•ื•ืง ื•ื”ืชื ื•ืขื” ืชื”ื™ื” ื’ื“ื•ืœื” ืคื™ ื›ืžื”, ืื– ืื ื—ื ื• ืžื—ืœื™ื˜ื™ื ืœื”ืฉื”ื•ืช ื–ืžื ื™ืช ื“ื‘ืจื™ื ืžื™ื•ืชืจื™ื. ื•ืฉื•ื›ื—ื™ื ืœื—ื–ื•ืจ.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื›ืžื” ื—ื•ื“ืฉื™ื ืื—ืจ ื›ืš ื”ื ื ื–ื›ืจื•. ื•ื”ืžืคืชื— ื”ื–ื” ืขื–ื‘ ืื• ืฉื”ื•ื ืขืกื•ืง ื‘ืžืฉื”ื• ืื—ืจ, ื”ื•ืจื” ืœืื—ืจ ืœื”ื—ื–ื™ืจ ืื•ืชื•.

ื”ื•ื ื‘ื“ืง ื‘-dev, ื‘-Staging - ื”ื›ืœ ื‘ืกื“ืจ. ื›ืžื•ื‘ืŸ, ืืชื” ืขื“ื™ื™ืŸ ืฆืจื™ืš ืœื ืงื•ืช ืืช ืžื” ืฉื”ืฆื˜ื‘ืจ. ื”ื•ื ื‘ื“ืง ืฉื”ื›ืœ ืขื•ื‘ื“.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืžื” ืงื•ืจื” ืœืื—ืจ ืžื›ืŸ? ื•ืื– ื”ื›ืœ ืžืชืคืจืง ืœื ื•. ื–ื” ื ื•ืคืœ ื›ืš ืฉื‘ืฉืœื‘ ืžืกื•ื™ื ื”ื›ืœ ื ื•ืคืœ ืœืžื˜ื”. ื›ื•ืœื ื‘ื”ืœื, ืืฃ ืื—ื“ ืœื ืžื‘ื™ืŸ ืžื” ืงื•ืจื”. ื•ืื– ืžืกืชื‘ืจ ืฉื”ืขื ื™ื™ืŸ ื”ื™ื” ื‘-DELETE ื”ื–ื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืžืฉื”ื• ื”ืฉืชื‘ืฉ? ื”ื ื” ืจืฉื™ืžื” ืฉืœ ืžื” ืฉื™ื›ื•ืœ ื”ื™ื” ืœื”ืฉืชื‘ืฉ. ืžื” ืžื‘ื™ืŸ ืืœื” ื”ื•ื ื”ื—ืฉื•ื‘ ื‘ื™ื•ืชืจ?

  • ืœืžืฉืœ, ืœื ื”ื™ื™ืชื” ื‘ื™ืงื•ืจืช, ื›ืœื•ืžืจ ื”ืžื•ืžื—ื” ืœ-DBA ืœื ื”ืกืชื›ืœ ืขืœ ื–ื”. ื”ื•ื ื™ืžืฆื ืžื™ื“ ืืช ื”ื‘ืขื™ื” ื‘ืขื™ืŸ ืžื ื•ืกื”, ื•ื—ื•ืฅ ืžื–ื”, ื™ืฉ ืœื• ื’ื™ืฉื” ืœืคืจื•ื“, ืฉื‘ื• ื”ืฆื˜ื‘ืจื• ื›ืžื” ืžื™ืœื™ื•ื ื™ ืฉื•ืจื•ืช.

  • ืื•ืœื™ ื”ื ื‘ื“ืงื• ืžืฉื”ื• ืœื ื‘ืกื“ืจ.

  • ืื•ืœื™ ื”ื—ื•ืžืจื” ืžื™ื•ืฉื ืช ื•ืืชื” ืฆืจื™ืš ืœืฉื“ืจื’ ืืช ื”ื‘ืกื™ืก ื”ื–ื”.

  • ืื• ืฉืžืฉื”ื• ืœื ื‘ืกื“ืจ ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ืขืฆืžื•, ื•ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืขื‘ื•ืจ ืž-Postgres ืœ-MySQL.

  • ืื• ืฉืื•ืœื™ ื™ืฉ ืžืฉื”ื• ืœื ื‘ืกื“ืจ ื‘ื ื™ืชื•ื—.

  • ืื•ืœื™ ื™ืฉ ื›ืžื” ื˜ืขื•ื™ื•ืช ื‘ืืจื’ื•ืŸ ื”ืขื‘ื•ื“ื” ื•ืืชื” ืฆืจื™ืš ืœืคื˜ืจ ืžื™ืฉื”ื• ื•ืœื”ืขืกื™ืง ืืช ื”ืื ืฉื™ื ื”ื˜ื•ื‘ื™ื ื‘ื™ื•ืชืจ?

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืœื ื”ื™ื” ื‘ื“ื™ืงืช DBA. ืื ื”ื™ื” DBA, ื”ื•ื ื”ื™ื” ืจื•ืื” ืืช ื›ืžื” ืžื™ืœื™ื•ื ื™ ืฉื•ืจื•ืช ืืœื” ื•ืืคื™ืœื• ื‘ืœื™ ืฉื•ื ื ื™ืกื•ื™ื™ื ื”ื™ื” ืื•ืžืจ: "ื”ื ืœื ืขื•ืฉื™ื ืืช ื–ื”". ื ื ื™ื— ืฉืื ื”ืงื•ื“ ื”ื–ื” ื”ื™ื” ื‘-GitLab, GitHub ื•ื”ื™ื” ืชื”ืœื™ืš ืกืงื™ืจืช ืงื•ื“ ื•ืœื ื”ื™ื” ื“ื‘ืจ ื›ื–ื” ืฉืœืœื ืื™ืฉื•ืจ ื”-DBA ื”ืคืขื•ืœื” ื”ื–ื• ื”ื™ื™ืชื” ืžืชืจื—ืฉืช ื‘-Prod, ืื– ื‘ืจื•ืจ ืฉื”-DBA ื”ื™ื” ืื•ืžืจ: "ืœื ื ื™ืชืŸ ืœืขืฉื•ืช ืืช ื–ื”. ."

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื•ื”ื•ื ื”ื™ื” ืื•ืžืจ ืฉื™ื”ื™ื• ืœืš ื‘ืขื™ื•ืช ืขื ื“ื™ืกืง IO ื•ื›ืœ ื”ืชื”ืœื™ื›ื™ื ื™ืฉืชื’ืขื•, ืื•ืœื™ ื™ื”ื™ื• ื ืขื™ืœื”, ื•ื’ื ืชื—ืกื•ื ืืช ื”ืื•ื˜ื•ื•ื•ืืงื•ื ืœื›ืžื” ื“ืงื•ืช, ืื– ื–ื” ืœื ื˜ื•ื‘.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

http://bit.ly/nancy-hl2018-2

ื”ื˜ืขื•ืช ื”ืฉื ื™ื™ื” - ื”ื ื‘ื“ืงื• ื‘ืžืงื•ื ื”ืœื ื ื›ื•ืŸ. ืจืื™ื ื• ืœืื—ืจ ืžืขืฉื” ืฉื”ืจื‘ื” ื ืชื•ื ื™ ื–ื‘ืœ ื”ืฆื˜ื‘ืจื• ื‘-prod, ืื‘ืœ ืœืžืคืชื— ืœื ื”ื™ื• ื ืชื•ื ื™ื ืžืฆื˜ื‘ืจื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื”ื–ื”, ื•ืืฃ ืื—ื“ ืœื ื™ืฆืจ ืืช ื”ื–ื‘ืœ ื”ื–ื” ื‘ืžื”ืœืš ื”-Staging. ื‘ื”ืชืื ืœื›ืš, ื”ื™ื• 1 ืงื•ื•ื™ื ืฉื”ืกืชื“ืจื• ื‘ืžื”ื™ืจื•ืช.

ืื ื—ื ื• ืžื‘ื™ื ื™ื ืฉื”ื‘ื“ื™ืงื•ืช ืฉืœื ื• ื—ืœืฉื•ืช, ื›ืœื•ืžืจ ื”ืชื”ืœื™ืš ืฉื ื‘ื ื” ืœื ืชื•ืคืก ื‘ืขื™ื•ืช. ื ื™ืกื•ื™ DB ื”ื•ืœื ืœื ื‘ื•ืฆืข.

ืจืฆื•ื™ ืœื‘ืฆืข ื ื™ืกื•ื™ ืื™ื“ื™ืืœื™ ืขืœ ืื•ืชื• ืฆื™ื•ื“. ืœื ืชืžื™ื“ ืืคืฉืจ ืœืขืฉื•ืช ื–ืืช ืขืœ ืื•ืชื• ืฆื™ื•ื“, ืื‘ืœ ื—ืฉื•ื‘ ืžืื•ื“ ืฉื–ื” ื™ื”ื™ื” ืขื•ืชืง ื‘ื’ื•ื“ืœ ืžืœื ืฉืœ ืžืกื“ ื”ื ืชื•ื ื™ื. ื–ื” ืžื” ืฉืื ื™ ืžื˜ื™ืฃ ื›ื‘ืจ ื›ืžื” ืฉื ื™ื. ื•ืœืคื ื™ ืฉื ื” ื“ื™ื‘ืจืชื™ ืขืœ ื–ื”, ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ื”ื›ืœ ื‘ื™ื•ื˜ื™ื•ื‘.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืื•ืœื™ ื”ืฆื™ื•ื“ ืฉืœื ื• ื’ืจื•ืข? ืื ืชืกืชื›ืœ, ืื– ื”ืื—ื–ื•ืจ ืงืคืฅ. ืจืื™ื ื• ืฉื”ื ื™ืฆื•ืœ ื”ื•ื 100%. ื›ืžื•ื‘ืŸ, ืื ืืœื• ื”ื™ื• ื›ื•ื ื ื™ NVMe ืžื•ื“ืจื ื™ื™ื, ื›ื ืจืื” ืฉื–ื” ื”ื™ื” ื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืขื‘ื•ืจื ื•. ื•ืื•ืœื™ ืœื ื ืฉื›ื‘ ืžื–ื”.

ืื ื™ืฉ ืœืš ืขื ื ื™ื, ื”ืฉื“ืจื•ื’ ืžืชื‘ืฆืข ืฉื ื‘ืงืœื•ืช. ื”ืขืœื” ื”ืขืชืงื™ื ื—ื“ืฉื™ื ืขืœ ื”ื—ื•ืžืจื” ื”ื—ื“ืฉื”. ืœืขื‘ื•ืจ. ื•ื”ื›ืœ ื‘ืกื“ืจ. ื“ื™ ืงืœ.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื”ืื ืืคืฉืจ ืื™ื›ืฉื”ื• ืœื’ืขืช ื‘ื“ื™ืกืงื™ื ื”ืงื˜ื ื™ื ื™ื•ืชืจ? ื•ื”ื ื”, ืจืง ื‘ืขื–ืจืช DBA, ืื ื—ื ื• ืฆื•ืœืœื™ื ืœื ื•ืฉื ืžืกื•ื™ื ืฉื ืงืจื ื›ื•ื•ื ื•ืŸ ื ืงื•ื“ื•ืช ื‘ื™ืงื•ืจืช. ืžืกืชื‘ืจ ืฉืœื ื”ื™ื” ืœื ื• ื›ื•ื•ื ื•ืŸ ืžื—ืกื•ื.

ืžื” ื–ื” ืžื—ืกื•ื? ื–ื” ื ืžืฆื ื‘ื›ืœ DBMS. ื›ืืฉืจ ื™ืฉ ืœืš ื ืชื•ื ื™ื ื‘ื–ื™ื›ืจื•ืŸ ืฉืžืฉืชื ื™ื, ื”ื ืœื ื ื›ืชื‘ื™ื ืžื™ื“ ืœื“ื™ืกืง. ื”ืžื™ื“ืข ืฉื”ื ืชื•ื ื™ื ื”ืฉืชื ื• ื ื›ืชื‘ ืชื—ื™ืœื” ืœื™ื•ืžืŸ ื”ื›ืชื™ื‘ื” ืงื“ื™ืžื”. ื•ื‘ืฉืœื‘ ืžืกื•ื™ื, ื”-DBMS ืžื—ืœื™ื˜ ืฉื”ื’ื™ืข ื”ื–ืžืŸ ืœื–ืจื•ืง ื“ืคื™ื ืืžื™ืชื™ื™ื ืœื“ื™ืกืง, ื›ื“ื™ ืฉืื ื™ืฉ ืœื ื• ื›ืฉืœ, ื ื•ื›ืœ ืœืขืฉื•ืช ืคื—ื•ืช REDO. ื–ื” ื›ืžื• ืฆืขืฆื•ืข. ืื ื ื”ืจื’, ื ืชื—ื™ืœ ืืช ื”ืžืฉื—ืง ืžื”ืžื—ืกื•ื ื”ืื—ืจื•ืŸ. ื•ื›ืœ DBMS ืžื™ื™ืฉืžื™ื ืืช ื–ื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื”ื”ื’ื“ืจื•ืช ื‘-Postgres ื ืฉืืจื•ืช ืžืื—ื•ืจ. ื”ื ืžื™ื•ืขื“ื™ื ืœื ืคื—ื™ื ื‘ื ื™ 10-15 ืฉืœ ื ืชื•ื ื™ื ื•ืขืกืงืื•ืช. ื•ืžื—ืกื•ื ืื™ื ื• ื™ื•ืฆื ืžืŸ ื”ื›ืœืœ.

ื”ื ื” ื”ืžื™ื“ืข ืžื“ื•ื— ื‘ื“ื™ืงืช Postgres ืฉืœื ื•, ื›ืœื•ืžืจ ื‘ื“ื™ืงืช ืชืงื™ื ื•ืช ืื•ื˜ื•ืžื˜ื™ืช. ื•ื”ื ื” ืื™ื–ื” ืžืกื“ ื ืชื•ื ื™ื ืฉืœ ื›ืžื” ื˜ืจื”-ื‘ื™ื™ื˜. ื•ื ื™ืชืŸ ืœืจืื•ืช ื”ื™ื˜ื‘ ื›ื™ ืžื—ืกื•ืžื™ื ื›ืคื•ื™ื™ื ื‘ื›ืžืขื˜ 90% ืžื”ืžืงืจื™ื.

ืžื” ื–ื” ืื•ืžืจ? ื™ืฉ ืฉื ืฉืชื™ ื”ื’ื“ืจื•ืช. ื”ืžื—ืกื•ื ื™ื›ื•ืœ ืœื”ื’ื™ืข ืœืคื™ ืคืกืง ื–ืžืŸ, ืœืžืฉืœ, ืชื•ืš 10 ื“ืงื•ืช. ืื• ืฉื–ื” ืขืฉื•ื™ ืœื‘ื•ื ื›ืืฉืจ ืžืœืื• ื“ื™ ื”ืจื‘ื” ื ืชื•ื ื™ื.

ื•ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, max_wal_saze ืžื•ื’ื“ืจ ืœ-1 ื’ื™ื’ื”-ื‘ื™ื™ื˜. ืœืžืขืฉื”, ื–ื” ื‘ืืžืช ืงื•ืจื” ื‘-Postgres ืื—ืจื™ 300-400 ืžื’ื”-ื‘ื™ื™ื˜. ืฉื™ื ื™ืช ื›ืœ ื›ืš ื”ืจื‘ื” ื ืชื•ื ื™ื ื•ื”ืžื—ืกื•ื ืฉืœืš ืงื•ืจื”.

ื•ืื ืืฃ ืื—ื“ ืœื ื›ื™ื•ื•ืŸ ืืช ื–ื”, ื•ื”ืฉื™ืจื•ืช ื’ื“ืœ, ื•ื”ื—ื‘ืจื” ืžืจื•ื•ื™ื—ื” ื”ืจื‘ื” ื›ืกืฃ, ื™ืฉ ืœื” ื”ืจื‘ื” ืขืกืงืื•ืช, ืื– ื”ืžื—ืกื•ื ืžื’ื™ืข ืคืขื ื‘ื“ืงื”, ืœืคืขืžื™ื ื›ืœ 30 ืฉื ื™ื•ืช, ื•ืœืคืขืžื™ื ืืคื™ืœื• ื—ื•ืคืคื™ื. ื–ื” ื“ื™ ื’ืจื•ืข.

ื•ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื•ื•ื“ื ืฉื–ื” ืžื’ื™ืข ื‘ืชื“ื™ืจื•ืช ื ืžื•ื›ื” ื™ื•ืชืจ. ื›ืœื•ืžืจ, ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืขืœื•ืช ืืช max_wal_size. ื•ื–ื” ื™ื‘ื•ื ื‘ืชื“ื™ืจื•ืช ื ืžื•ื›ื” ื™ื•ืชืจ.

ืื‘ืœ ืคื™ืชื—ื ื• ืžืชื•ื“ื•ืœื•ื’ื™ื” ืฉืœืžื” ืื™ืš ืœืขืฉื•ืช ืืช ื–ื” ื ื›ื•ืŸ ื™ื•ืชืจ, ื›ืœื•ืžืจ ืื™ืš ืœืงื‘ืœ ื”ื—ืœื˜ื” ืœื’ื‘ื™ ื‘ื—ื™ืจืช ื”ื’ื“ืจื•ืช, ื‘ื”ืชื‘ืกืก ื‘ื‘ื™ืจื•ืจ ืขืœ ื ืชื•ื ื™ื ืกืคืฆื™ืคื™ื™ื.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื‘ื”ืชืื ืœื›ืš, ืื ื• ืขื•ืจื›ื™ื ืฉืชื™ ืกื“ืจื•ืช ืฉืœ ื ื™ืกื•ื™ื™ื ืขืœ ืžืกื“ื™ ื ืชื•ื ื™ื.

ื”ืกื“ืจื” ื”ืจืืฉื•ื ื” - ืื ื• ืžืฉื ื™ื ืืช max_wal_size. ื•ืื ื—ื ื• ืขื•ืฉื™ื ืžื‘ืฆืข ืขื ืง. ืจืืฉื™ืช, ืื ื• ืขื•ืฉื™ื ื–ืืช ื‘ื”ื’ื“ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ 1 ื’ื™ื’ื”-ื‘ื™ื™ื˜. ื•ืื ื—ื ื• ืžื‘ืฆืขื™ื DELETE ืžืืกื™ื‘ื™ ืฉืœ ืžื™ืœื™ื•ื ื™ ืงื•ื•ื™ื ืจื‘ื™ื.

ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ื›ืžื” ืงืฉื” ืœื ื•. ืื ื• ืจื•ืื™ื ืฉื”-IO ืฉืœ ื”ื“ื™ืกืง ื’ืจื•ืข ืžืื•ื“. ืื ื—ื ื• ืžืกืชื›ืœื™ื ื›ืžื” WALs ื™ืฆืจื ื•, ื›ื™ ื–ื” ืžืื•ื“ ื—ืฉื•ื‘. ื‘ื•ื ื ืจืื” ื›ืžื” ืคืขืžื™ื ืงืจื” ื”ืžื—ืกื•ื. ื•ืื ื—ื ื• ืจื•ืื™ื ืฉื–ื” ืœื ื˜ื•ื‘.

ื‘ืฉืœื‘ ื”ื‘ื ื ื’ื“ื™ืœ ืืช max_wal_size. ืื ื—ื ื• ื—ื•ื–ืจื™ื. ืื ื—ื ื• ืžื’ื“ื™ืœื™ื, ืื ื—ื ื• ื—ื•ื–ืจื™ื. ื•ื›ืœ ื›ืš ื”ืจื‘ื” ืคืขืžื™ื. ื‘ืื•ืคืŸ ืขืงืจื•ื ื™, 10 ื ืงื•ื“ื•ืช ื–ื” ื˜ื•ื‘, ื›ืืฉืจ 1, 2, 4, 8 ื’ื™ื’ื”-ื‘ื™ื™ื˜. ื•ืื ื—ื ื• ืžืกืชื›ืœื™ื ืขืœ ื”ื”ืชื ื”ื’ื•ืช ืฉืœ ืžืขืจื›ืช ืžืกื•ื™ืžืช. ื‘ืจื•ืจ ืฉื›ืืŸ ื”ืฆื™ื•ื“ ืฆืจื™ืš ืœื”ื™ื•ืช ื›ืžื• ื‘ืคืจื•ื“. ืืชื” ื—ื™ื™ื‘ ืœื”ื™ื•ืช ื‘ืขืœ ืื•ืชื ื“ื™ืกืงื™ื, ืื•ืชื” ื›ืžื•ืช ื–ื™ื›ืจื•ืŸ ื•ืื•ืชืŸ ื”ื’ื“ืจื•ืช Postgres.

ื•ื‘ื“ืจืš ื–ื• ื ื—ืœื™ืฃ ืืช ื”ืžืขืจื›ืช ืฉืœื ื•, ื•ืื ื—ื ื• ื™ื•ื“ืขื™ื ืื™ืš ื”-DBMS ื™ืชื ื”ื’ ื‘ืžืงืจื” ืฉืœ ืžืกื” ื’ืจื•ืขื” DELETE, ืื™ืš ื”ื•ื ื™ืขืžื•ื“ ื‘ืžื—ืกื•ื.

ืžื—ืกื•ื ื‘ืจื•ืกื™ืช ื”ื ืžื—ืกื•ืžื™ื.

ื“ื•ื’ืžื”: ืžื—ืง ื›ืžื” ืžื™ืœื™ื•ื ื™ ืฉื•ืจื•ืช ืœืคื™ ืื™ื ื“ืงืก, ืฉื•ืจื•ืช "ืžืคื•ื–ืจื•ืช" ืขืœ ืคื ื™ ื“ืคื™ื.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื”ื ื” ื“ื•ื’ืžื. ื–ื” ื‘ืกื™ืก ื›ืœืฉื”ื•. ื•ืขื ื”ื’ื“ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ 1 ื’ื™ื’ื”-ื‘ื™ื™ื˜ ืขื‘ื•ืจ max_wal_size, ื‘ืจื•ืจ ืžืื•ื“ ืฉื”ื“ื™ืกืงื™ื ืฉืœื ื• ื”ื•ืœื›ื™ื ืœืžื“ืฃ ืœื”ืงืœื˜ื”. ืชืžื•ื ื” ื–ื• ื”ื™ื ืกื™ืžืคื˜ื•ื ืื•ืคื™ื™ื ื™ ืฉืœ ื—ื•ืœื” ืžืื•ื“ ื—ื•ืœื”, ื›ืœื•ืžืจ, ื”ื•ื ื‘ืืžืช ื”ืจื’ื™ืฉ ืจืข. ื•ื”ื™ื™ืชื” ืคืขื•ืœื” ืื—ืช ื‘ื•ื“ื“ืช, ื”ื™ื™ืชื” ืจืง ืžื—ื™ืงื” ืฉืœ ื›ืžื” ืžื™ืœื™ื•ื ื™ ืฉื•ืจื•ืช.

ืื ืžื‘ืฆืข ื›ื–ื” ื™ืชืืคืฉืจ ื‘ื“ื—ื™ืคื”, ืื– ืคืฉื•ื˜ ื ืฉื›ื‘, ื›ื™ ื‘ืจื•ืจ ืฉ-DELETE ืื—ื“ ื”ื•ืจื’ ืื•ืชื ื• ื‘ื’ื“ื•ื“.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื™ืชืจื” ืžื›ืš, ืื™ืคื” 16 ื’ื™ื’ื”, ื‘ืจื•ืจ ืฉื”ืฉื™ื ื™ื™ื ื›ื‘ืจ ื ืขืœืžื•. ื”ืฉื™ื ื™ื™ื ื›ื‘ืจ ื˜ื•ื‘ื•ืช ื™ื•ืชืจ, ื›ืœื•ืžืจ ืื ื—ื ื• ื“ื•ืคืงื™ื ืขืœ ื”ืชืงืจื”, ืื‘ืœ ืœื ื ื•ืจื. ื”ื™ื” ืฉื ืงืฆืช ื—ื•ืคืฉ. ื‘ืฆื“ ื™ืžื™ืŸ ื™ืฉ ืืช ื”ืจืฉื•ืžื”. ื•ืžืกืคืจ ื”ืคืขื•ืœื•ืช - ื”ื’ืจืฃ ื”ืฉื ื™. ื•ื‘ืจื•ืจ ืฉืื ื—ื ื• ื›ื‘ืจ ื ื•ืฉืžื™ื ืงืฆืช ื™ื•ืชืจ ื‘ืงืœื•ืช ื›ืืฉืจ 16 ื’ื™ื’ื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื•ืื™ืคื” 64 ื’ื™ื’ื”-ื‘ื™ื™ื˜ ื ื™ืชืŸ ืœืจืื•ืช ืฉื”ื•ื ื”ืคืš ื˜ื•ื‘ ื™ื•ืชืจ ืœื—ืœื•ื˜ื™ืŸ. ื”ืฉื™ื ื™ื™ื ื›ื‘ืจ ื‘ื•ืœื˜ื•ืช, ื™ืฉ ื™ื•ืชืจ ื”ื–ื“ืžื ื•ื™ื•ืช ืœืฉืจื•ื“ ืคืขื•ืœื•ืช ืื—ืจื•ืช ื•ืœืขืฉื•ืช ืžืฉื”ื• ืขื ื”ื“ื™ืกืง.

ืœืžื” ื›ืœ ื›ืš?

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืื ื™ ืืฆืœื•ืœ ืงืฆืช ืœืคืจื˜ื™ื, ืื‘ืœ ื”ื ื•ืฉื ื”ื–ื”, ืื™ืš ืžื‘ืฆืขื™ื ื›ื•ื•ื ื•ืŸ ืžื—ืกื•ื, ื™ื›ื•ืœ ืœื”ื‘ื™ื ืœื“ื•"ื— ืฉืœื, ืื– ืื ื™ ืœื ืืขืžื™ืก ื”ืจื‘ื”, ืื‘ืœ ืืคืจื˜ ืงืฆืช ืื™ืœื• ืงืฉื™ื™ื ื™ืฉ.

ืื ื”ืžื—ืกื•ื ืงื•ืจื” ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืžื“ื™, ื•ืื ื—ื ื• ืžืขื“ื›ื ื™ื ืืช ื”ืฉื•ืจื•ืช ืฉืœื ื• ืœื ื‘ืจืฆืฃ, ืืœื ืžื•ืฆืื™ื ืœืคื™ ืื™ื ื“ืงืก, ื•ื–ื” ื˜ื•ื‘, ื›ื™ ืื ื—ื ื• ืœื ืžื•ื—ืงื™ื ืืช ื›ืœ ื”ื˜ื‘ืœื”, ืื– ื™ื›ื•ืœ ืœืงืจื•ืช ืฉื‘ื”ืชื—ืœื” ื ื’ืขื ื• ื‘ืขืžื•ื“ ื”ืจืืฉื•ืŸ, ื•ืื– ื‘ืืœืฃ, ื•ืื—ืจ ื›ืš ื—ื–ืจ ืœืจืืฉื•ืŸ . ื•ืื ื‘ื™ืŸ ื”ื‘ื™ืงื•ืจื™ื ื”ืืœื” ื‘ืขืžื•ื“ ื”ืจืืฉื•ืŸ, Checkpoint ื›ื‘ืจ ืฉืžืจ ืื•ืชื• ื‘ื“ื™ืกืง, ืื– ื”ื•ื ื™ืฉืžื•ืจ ืื•ืชื• ืฉื•ื‘, ื›ื™ ื”ืชืœื›ืœื›ื ื• ื‘ืคืขื ื”ืฉื ื™ื™ื”.

ื•ืื ื• ื ืืœืฅ ืืช ื”ืžื—ืกื•ื ืœื”ืฆื™ืœ ืื•ืชื• ืคืขืžื™ื ืจื‘ื•ืช. ืื™ืš ื™ื”ื™ื• ืคืขื•ืœื•ืช ืžื™ื•ืชืจื•ืช ืขื‘ื•ืจื•.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืื‘ืœ ื–ื” ืœื ื”ื›ืœ. ื”ื“ืคื™ื ื”ื 8 ืงื™ืœื•ื‘ื™ื™ื˜ ื‘-Postgres ื•-4 ืงื™ืœื•ื‘ื™ื™ื˜ ื‘ืœื™ื ื•ืงืก. ื•ื™ืฉ ื”ื’ื“ืจื” ืฉืœ full_page_writes. ื–ื” ืžื•ืคืขืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ื•ื–ื” ื ื›ื•ืŸ, ื›ื™ ืื ื ื›ื‘ื” ืืช ื–ื” ืื– ื™ืฉ ืกื›ื ื” ืฉืจืง ื—ืฆื™ ืžื”ืขืžื•ื“ ื™ื™ืฉืžืจ ืื ื”ื•ื ื™ืงืจื•ืก.

ื”ืชื ื”ื’ื•ืช ื”ื›ืชื™ื‘ื” ืœ-WAL ืฉืœ ื”ื™ื•ืžืŸ ืงื“ื™ืžื” ื”ื™ื ื›ื–ื• ืฉื›ืืฉืจ ื™ืฉ ืœื ื• ืžื—ืกื•ื ื•ืื ื—ื ื• ืžืฉื ื™ื ืืช ื”ื“ืฃ ื‘ืคืขื ื”ืจืืฉื•ื ื”, ื›ืœ ื”ืขืžื•ื“, ื›ืœื•ืžืจ ื›ืœ 8 ื”ืงื™ืœื•-ื‘ื™ื™ื˜, ื ื›ื ืก ืœื™ื•ืžืŸ ืงื“ื™ืžื”, ืœืžืจื•ืช ืฉืฉื™ื ื™ื ื• ืจืง ืืช ืงื•, ืฉืฉื•ืงืœ 100 ื‘ืชื™ื . ื•ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืจืฉื•ื ืืช ื›ืœ ื”ืขืžื•ื“.

ื‘ืฉื™ื ื•ื™ื™ื ื”ื‘ืื™ื, ื™ื”ื™ื” ืจืง โ€‹โ€‹tuple ืกืคืฆื™ืคื™, ืื‘ืœ ื‘ืคืขื ื”ืจืืฉื•ื ื” ืื ื—ื ื• ืจื•ืฉืžื™ื ื”ื›ืœ.

ื•ื‘ื”ืชืื ืœื›ืš, ืื ื”ืžื—ืกื•ื ืงืจื” ืฉื•ื‘, ืื– ืขืœื™ื ื• ืœื”ืชื—ื™ืœ ื”ื›ืœ ืžืืคืก ืžื—ื“ืฉ ื•ืœื“ื—ื•ืฃ ืืช ื›ืœ ื”ืขืžื•ื“. ืขื ืžื—ืกื•ืžื™ื ืชื›ื•ืคื™ื, ื›ืืฉืจ ืื ื• ืขื•ื‘ืจื™ื ืขืœ ืื•ืชื ื“ืคื™ื, full_page_writes = on ื™ื”ื™ื” ื™ื•ืชืจ ืžืžื” ืฉื”ื•ื ื™ื›ื•ืœ ืœื”ื™ื•ืช, ื›ืœื•ืžืจ ืื ื• ืžื™ื™ืฆืจื™ื ื™ื•ืชืจ WAL. ืขื•ื“ ื ืฉืœื— ืœืจืคืœื™ืงื•ืช, ืœืืจื›ื™ื•ืŸ, ืœื“ื™ืกืง.

ื•ื‘ื”ืชืื ืœื›ืš, ื™ืฉ ืœื ื• ืฉืชื™ ื™ืชื™ืจื•ืช.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืื ื ื’ื“ื™ืœ ืืช max_wal_size, ืžืกืชื‘ืจ ืฉืื ื—ื ื• ืžืงืœื™ื ื’ื ืขืœ ื”ืžื—ืกื•ื ื•ื’ื ืขืœ ื›ื•ืชื‘ ื”ื•ื•ืœ. ื•ื–ื” ื ื”ื“ืจ.

ื‘ื•ืื• ื ื›ื ื™ืก ื˜ืจื”-ื‘ื™ื™ื˜ ื•ื ื—ื™ื” ืขื ื–ื”. ืžื” ืจืข ื‘ื–ื”? ื–ื” ืจืข, ื›ื™ ื‘ืžืงืจื” ืฉืœ ืชืงืœื”, ื ื˜ืคืก ืฉืขื•ืช, ื›ื™ ื”ืžื—ืกื•ื ื”ื™ื” ืžื–ืžืŸ ื•ื”ืจื‘ื” ื›ื‘ืจ ื”ืฉืชื ื”. ื•ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืขืฉื•ืช ืืช ื›ืœ ื–ื” ืžื—ื“ืฉ. ื•ื›ืš ืื ื• ืขื•ืฉื™ื ืืช ืกื“ืจืช ื”ื ื™ืกื•ื™ื™ื ื”ืฉื ื™ื™ื”.

ืื ื—ื ื• ืขื•ืฉื™ื ืžื‘ืฆืข ื•ืจื•ืื™ื ืžืชื™ ื”ืžื—ืกื•ื ืขื•ืžื“ ืœื”ืกืชื™ื™ื, ืื ื—ื ื• ื›ืŸ ื”ื•ืจื’ื™ื -9 Postgres ื‘ื›ื•ื•ื ื”.

ื•ืื—ืจื™ ื–ื” ืื ื—ื ื• ืžืชื—ื™ืœื™ื ืืช ื–ื” ืฉื•ื‘, ื•ื ืจืื” ื›ืžื” ื–ืžืŸ ื–ื” ื™ืขืœื” ืขืœ ื”ืฆื™ื•ื“ ื”ื–ื”, ื›ืœื•ืžืจ ื›ืžื” ื–ื” ื™ืขืฉื” REDO ื‘ืžืฆื‘ ื”ื’ืจื•ืข ื”ื–ื”.

ืคืขืžื™ื™ื ืืฆื™ื™ืŸ ืฉื”ืžืฆื‘ ื’ืจื•ืข. ืจืืฉื™ืช, ื”ืชืจืกืงื ื• ืžืžืฉ ืœืคื ื™ ืฉื”ืžื—ืกื•ื ื ื’ืžืจ, ืื– ื™ืฉ ืœื ื• ื”ืจื‘ื” ืžื” ืœื”ืคืกื™ื“. ื•ืฉื ื™ืช, ืขืฉื™ื ื• ืžื‘ืฆืข ืžืืกื™ื‘ื™. ื•ืื ื”ืžื—ืกื•ืžื™ื ื”ื™ื• ื‘ืคืกืง ื–ืžืŸ, ืื–, ื›ื›ืœ ื”ื ืจืื”, ืคื—ื•ืช WAL ื”ื™ื” ื ื•ืฆืจ ืžืื– ื”ืžื—ืกื•ื ื”ืื—ืจื•ืŸ. ื›ืœื•ืžืจ, ื–ื” ืžืคืกื™ื“ ื›ืคื•ืœ.

ืื ื—ื ื• ืžื•ื“ื“ื™ื ืžืฆื‘ ื›ื–ื” ืœื’ื“ืœื™ื ืฉื•ื ื™ื ืฉืœ max_wal_size ื•ืžื‘ื™ื ื™ื ืฉืื max_wal_size ื”ื•ื 64 ื’ื™ื’ื”-ื‘ื™ื™ื˜, ืื– ื‘ืžืงืจื” ื”ื›ื™ ื’ืจื•ืข ื ื˜ืคืก ื‘ืžืฉืš 10 ื“ืงื•ืช. ื•ืื ื—ื ื• ื—ื•ืฉื‘ื™ื ืื ื–ื” ืžืชืื™ื ืœื ื• ืื• ืœื. ื–ื• ืฉืืœื” ืขืกืงื™ืช. ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ืจืื•ืช ืืช ื”ืชืžื•ื ื” ื”ื–ื• ืœืื—ืจืื™ื ืขืœ ื”ื—ืœื˜ื•ืช ืขืกืงื™ื•ืช ื•ืœืฉืื•ืœ: "ื›ืžื” ื–ืžืŸ ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืฉื›ื‘ ืœื›ืœ ื”ื™ื•ืชืจ ื‘ืžืงืจื” ืฉืœ ื‘ืขื™ื”? ื”ืื ื ื•ื›ืœ ืœืฉื›ื‘ ื‘ืžืฆื‘ ื”ื’ืจื•ืข ื‘ื™ื•ืชืจ ืœืžืฉืš 3-5 ื“ืงื•ืช? ื•ืืชื” ืžืงื‘ืœ ื”ื—ืœื˜ื”.

ื•ื”ื ื” ื ืงื•ื“ื” ืžืขื ื™ื™ื ืช. ื™ืฉ ืœื ื• ื›ืžื” ื“ื™ื•ื•ื—ื™ื ืขืœ ืคื˜ืจื•ื ื™ ื‘ื›ื ืก. ื•ืื•ืœื™ ืืชื” ืžืฉืชืžืฉ ื‘ื–ื”. ื–ื”ื• ื›ืฉืœ ืื•ื˜ื•ืžื˜ื™ ืขื‘ื•ืจ Postgres. GitLab ื•-Data Egret ื“ื™ื‘ืจื• ืขืœ ื–ื”.

ื•ืื ื™ืฉ ืœืš ื›ืฉืœ ืื•ื˜ื•ืžื˜ื™ ืฉืžื’ื™ืข ืชื•ืš 30 ืฉื ื™ื•ืช, ืื– ืื•ืœื™ ื ื•ื›ืœ ืœืฉื›ื‘ 10 ื“ืงื•ืช? ื›ื™ ื‘ืฉืœื‘ ื–ื” ื ืขื‘ื•ืจ ืœืขืชืง ื•ื”ื›ืœ ื™ื”ื™ื” ื‘ืกื“ืจ. ื–ื•ื”ื™ ื ืงื•ื“ื” ืฉื ื•ื™ื” ื‘ืžื—ืœื•ืงืช. ืื ื™ ืœื ื™ื•ื“ืข ืชืฉื•ื‘ื” ื‘ืจื•ืจื”. ืื ื™ ืคืฉื•ื˜ ืžืจื’ื™ืฉ ืฉื”ื ื•ืฉื ื”ื–ื” ื”ื•ื ืœื ืจืง ืกื‘ื™ื‘ ื”ืชืื•ืฉืฉื•ืช ืžื”ืชืจืกืงื•ืช.

ืื ื™ืฉ ืœื ื• ื”ื—ืœืžื” ืืจื•ื›ื” ืœืื—ืจ ื›ื™ืฉืœื•ืŸ, ืื– ื™ื”ื™ื” ืœื ื• ืื™ ื ื•ื—ื•ืช ื‘ืžืฆื‘ื™ื ืจื‘ื™ื ืื—ืจื™ื. ืœืžืฉืœ, ื‘ืื•ืชื ื ื™ืกื•ื™ื™ื, ื›ืฉืื ื—ื ื• ืขื•ืฉื™ื ืžืฉื”ื• ื•ืœืคืขืžื™ื ื ืืœืฆื™ื ืœื—ื›ื•ืช 10 ื“ืงื•ืช.

ืขื“ื™ื™ืŸ ืœื ื”ื™ื™ืชื™ ื”ื•ืœืš ืจื—ื•ืง ืžื“ื™, ื’ื ืื ื™ืฉ ืœื ื• ืชืงืœื” ืื•ื˜ื•ืžื˜ื™ืช. ื›ื›ืœืœ, ืขืจื›ื™ื ื›ืžื• 64, 100 ื’ื™ื’ื”-ื‘ื™ื™ื˜ ื”ื ืขืจื›ื™ื ื˜ื•ื‘ื™ื. ืœืคืขืžื™ื ืืคื™ืœื• ื›ื“ืื™ ืœื‘ื—ื•ืจ ืคื—ื•ืช. ื‘ืื•ืคืŸ ื›ืœืœื™, ื–ื”ื• ืžื“ืข ืขื“ื™ืŸ.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื›ื“ื™ ืœื‘ืฆืข ืื™ื˜ืจืฆื™ื•ืช, ืœืžืฉืœ, max_wal_size =1, 8, ืขืœื™ืš ืœื—ื–ื•ืจ ืขืœ ืคืขื•ืœืช ื”ืžืกื” ืคืขืžื™ื ืจื‘ื•ืช. ืขืฉื™ืช ื–ืืช. ื•ืขืœ ืื•ืชื• ื‘ืกื™ืก ืืชื” ืจื•ืฆื” ืœืขืฉื•ืช ืืช ื–ื” ืฉื•ื‘, ืื‘ืœ ื›ื‘ืจ ืžื—ืงืช ื”ื›ืœ. ืžื” ืœืขืฉื•ืช?

ืื ื™ ืื“ื‘ืจ ืžืื•ื—ืจ ื™ื•ืชืจ ืขืœ ื”ืคืชืจื•ืŸ ืฉืœื ื•, ืžื” ืื ื—ื ื• ืขื•ืฉื™ื ื›ื“ื™ ืœื—ื–ื•ืจ ืขืœ ืžืฆื‘ื™ื ื›ืืœื”. ื•ื–ื• ื”ื’ื™ืฉื” ื”ื ื›ื•ื ื” ื‘ื™ื•ืชืจ.

ืื‘ืœ ื‘ืžืงืจื” ื”ื–ื”, ื”ื™ื” ืœื ื• ืžื–ืœ. ืื, ื›ืžื• ืฉื›ืชื•ื‘ ื›ืืŸ "BEGIN, DELETE, ROLLBACK", ืื– ื ื•ื›ืœ ืœื—ื–ื•ืจ ืขืœ DELETE. ื›ืœื•ืžืจ, ืื ื‘ื™ื˜ืœื ื• ืืช ื–ื” ื‘ืขืฆืžื ื•, ืื– ื ื•ื›ืœ ืœื—ื–ื•ืจ ืขืœ ื–ื”. ื•ื‘ืื•ืคืŸ ืคื™ื–ื™ ืืฆืœืš ื”ื ืชื•ื ื™ื ื™ื”ื™ื• ื‘ืื•ืชื• ืžืงื•ื. ืืชื” ืืคื™ืœื• ืœื ืžืงื‘ืœ ืฉื•ื ื ืคื™ื—ื•ืช. ืืชื” ื™ื›ื•ืœ ืœื—ื–ื•ืจ ืขืœ ืžื—ื™ืงื•ืช ื›ืืœื”.

DELETE ื–ื” ืขื ROLLBACK ืื™ื“ื™ืืœื™ ืœื›ื•ื•ื ื•ืŸ ื ืงื•ื“ื•ืช ื‘ื™ืงื•ืจืช, ื’ื ืื ืื™ืŸ ืœืš ืžืขื‘ื“ื•ืช ืžืกื“ ื ืชื•ื ื™ื ืคืจื•ืกื•ืช ื›ื”ืœื›ื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื”ื›ื ื• ืฆืœื—ืช ืขื ืขืžื•ื“ื” ืื—ืช "i". ืœ-Postgres ื™ืฉ ืขืžื•ื“ื•ืช ืฉื™ืจื•ืช. ื”ื ื‘ืœืชื™ ื ืจืื™ื ืืœื ืื ื›ืŸ ื‘ื™ืงืฉื• ื–ืืช ื‘ืžืคื•ืจืฉ. ืืœื” ื”ื: ctid, xmid, xmax.

Ctid ื”ื™ื ื›ืชื•ื‘ืช ืคื™ื–ื™ืช. ืขืžื•ื“ ืืคืก, ื”ื˜ืคื•ืœ ื”ืจืืฉื•ืŸ ื‘ืขืžื•ื“.

ื ื™ืชืŸ ืœืจืื•ืช ืฉืื—ืจื™ ROOLBACK ื”-tuple ื ืฉืืจ ื‘ืื•ืชื• ืžืงื•ื. ื›ืœื•ืžืจ, ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื ืกื•ืช ืฉื•ื‘, ื–ื” ื™ืชื ื”ื’ ื‘ืื•ืชื• ืื•ืคืŸ. ื–ื” ื”ืขื™ืงืจ.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

Xmax ื”ื•ื ื–ืžืŸ ื”ืžื•ื•ืช ืฉืœ ื”ื˜ืคื•ืœ. ื–ื” ื”ื™ื” ืžื•ื˜ื‘ืข, ืื‘ืœ Postgres ื™ื•ื“ืข ืฉื”ืขืกืงื” ื”ื•ื—ื–ืจื” ืœืื—ื•ืจ, ืื– ื–ื” ืœื ืžืฉื ื” ืื ื–ื” 0 ืื• ืฉื–ื• ืขืกืงื” ืฉื”ื•ื—ื–ืจื” ืœืื—ื•ืจ. ื–ื” ืžืฆื‘ื™ืข ืขืœ ื›ืš ืฉื ื™ืชืŸ ืœื—ื–ื•ืจ ืขืœ DELETE ื•ืœื‘ื“ื•ืง ืืช ื”ืคืขื•ืœื•ืช ื”ืžืจื•ื‘ื•ืช ืฉืœ ื”ืชื ื”ื’ื•ืช ื”ืžืขืจื›ืช. ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืžืขื‘ื“ื•ืช ืžืกื“ ื ืชื•ื ื™ื ืœืขื ื™ื™ื.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื–ื” ืœื’ื‘ื™ ืžืชื›ื ืชื™ื. ื’ื ืœื’ื‘ื™ DBA ืชืžื™ื“ ื ื•ื–ืคื™ื ื‘ืžืชื›ื ืชื™ื ืขืœ ื–ื”: "ืœืžื” ืืชื” ืขื•ืฉื” ืคืขื•ืœื•ืช ื›ืœ ื›ืš ืืจื•ื›ื•ืช ื•ืงืฉื•ืช?". ื–ื” ื ื•ืฉื ื ื™ืฆื‘ ืื—ืจ ืœื’ืžืจื™. ืคืขื ื”ื™ื” ืžื™ื ื”ืœ, ื•ืขื›ืฉื™ื• ื™ื”ื™ื” ืคื™ืชื•ื—.

ื‘ืจื•ืจ ืฉืœื ื ืฉื‘ืจื ื• ืœื—ืชื™ื›ื•ืช. ื–ื” ื‘ืจื•ืจ. ืื™ ืืคืฉืจ ืฉืœื ืœืฉื‘ื•ืจ DELETE ื›ื–ื” ืœืขืจืžื” ืฉืœ ืžื™ืœื™ื•ื ื™ ืฉื•ืจื•ืช ืœื—ืœืงื™ื. ื–ื” ื™ื™ืขืฉื” ื‘ืžืฉืš 20 ื“ืงื•ืช, ื•ื”ื›ืœ ื™ืฉื›ื‘. ืื‘ืœ, ืœืžืจื‘ื” ื”ืฆืขืจ, ืืคื™ืœื• ืžืคืชื—ื™ื ืžื ื•ืกื™ื ืขื•ืฉื™ื ื˜ืขื•ื™ื•ืช, ืืคื™ืœื• ื‘ื—ื‘ืจื•ืช ื’ื“ื•ืœื•ืช ืžืื•ื“.

ืœืžื” ื—ืฉื•ื‘ ืœืฉื‘ื•ืจ?

  • ืื ืื ื—ื ื• ืจื•ืื™ื ืฉื”ื“ื™ืกืง ืงืฉื”, ืื– ื‘ื•ืื• ื ืื˜ ืื•ืชื•. ื•ืื ืื ื—ื ื• ื ืฉื‘ืจื™ื, ืื– ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ื•ืกื™ืฃ ื”ืคืกืงื•ืช, ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืื˜ ืืช ื”ืžืฆืขืจืช.

  • ื•ืœื ื ื—ืกื•ื ืื—ืจื™ื ืœืื•ืจืš ื–ืžืŸ. ื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื ื–ื” ืœื ืžืฉื ื”, ืื ืืชื” ืžื•ื—ืง ื–ื‘ืœ ืืžื™ืชื™ ืฉืืฃ ืื—ื“ ืœื ืขื•ื‘ื“ ืขืœื™ื•, ืื– ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืœื ืชื—ืกื•ื ืืฃ ืื—ื“ ืžืœื‘ื“ ืขื‘ื•ื“ืช ื”ืฉื•ืื‘ ื”ืื•ื˜ื•ืžื˜ื™, ื›ื™ ื–ื” ื™ื—ื›ื” ืœืกื™ื•ื ื”ืขืกืงื”. ืื‘ืœ ืื ืชืกื™ืจ ืžืฉื”ื• ืฉืžื™ืฉื”ื• ืื—ืจ ื™ื›ื•ืœ ืœื‘ืงืฉ, ืื– ื”ื•ื ื™ื™ื—ืกื, ืชื”ื™ื” ืื™ื–ื•ืฉื”ื™ ืชื’ื•ื‘ืช ืฉืจืฉืจืช. ื™ืฉ ืœื”ื™ืžื ืข ืžืขืกืงืื•ืช ืืจื•ื›ื•ืช ื‘ืืชืจื™ ืื™ื ื˜ืจื ื˜ ื•ื‘ืืคืœื™ืงืฆื™ื•ืช ืžื•ื‘ื™ื™ืœ.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

https://postgres.ai/products/joe/

ื–ื” ืžืขื ื™ื™ืŸ. ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืื ื™ ืจื•ืื” ืฉืžืคืชื—ื™ื ืฉื•ืืœื™ื: "ืื™ื–ื” ื’ื•ื“ืœ ื—ื‘ื™ืœื” ื›ื“ืื™ ืœื™ ืœื‘ื—ื•ืจ?".

ื‘ืจื•ืจ ืฉื›ื›ืœ ืฉื’ื•ื“ืœ ื”ื—ื‘ื™ืœื” ื’ื“ื•ืœ ื™ื•ืชืจ, ืชืงืจืช ื”ืขืกืงื” ืงื˜ื ื” ื™ื•ืชืจ, ื›ืœื•ืžืจ ืชื•ืกืคืช ื”ืชืงื•ืจื” ืžืขืกืงืื•ืช. ืื‘ืœ ื‘ืžืงื‘ื™ืœ, ื”ื–ืžืŸ ื’ื“ืœ ืœืขืกืงื” ื–ื•.

ื™ืฉ ืœื™ ื›ืœืœ ืžืื•ื“ ืคืฉื•ื˜: ืงื— ื›ืžื” ืฉืืชื” ื™ื›ื•ืœ, ืื‘ืœ ืืœ ืชืขื‘ื•ืจ ืขืœ ืงื•ื‘ืฆื™ ื”ืคืขืœื” ื‘ืฉื ื™ื™ื”.

ืœืžื” ืฉื ื™ื™ื”? ื”ื”ืกื‘ืจ ืžืื•ื“ ืคืฉื•ื˜ ื•ืžื•ื‘ืŸ ืœื›ื•ืœื, ื’ื ืœืื ืฉื™ื ืฉืื™ื ื ื˜ื›ื ื™ื™ื. ืื ื—ื ื• ืจื•ืื™ื ืชื’ื•ื‘ื”. ื ื™ืงื— 50 ืžื™ืœื™ืฉื ื™ื•ืช. ืื ืžืฉื”ื• ื”ืฉืชื ื”, ืื– ื”ืขื™ืŸ ืฉืœื ื• ืชื’ื™ื‘. ืื ืคื—ื•ืช, ืื– ื™ื•ืชืจ ืงืฉื”. ืื ืžืฉื”ื• ืžื’ื™ื‘ ืื—ืจื™ 100 ืžื™ืœื™ืฉื ื™ื•ืช, ืœืžืฉืœ, ืœื—ืฆืช ืขืœ ื”ืขื›ื‘ืจ, ื•ื”ื•ื ืขื ื” ืœืš ืื—ืจื™ 100 ืžื™ืœื™ืฉื ื™ื•ืช, ืืชื” ื›ื‘ืจ ืžืจื’ื™ืฉ ืืช ื”ืขื™ื›ื•ื‘ ื”ืงืœ ื”ื–ื”. ืฉื ื™ื™ื” ื›ื‘ืจ ื ืชืคืกืช ื›ื‘ืœืžื™ื.

ื‘ื”ืชืื ืœื›ืš, ืื ื ืฉื‘ื•ืจ ืืช ื”ืคืขื•ืœื•ืช ื”ื”ืžื•ื ื™ื•ืช ืฉืœื ื• ืœื”ืชืคืจืฆื•ื™ื•ืช ืฉืœ 10 ืฉื ื™ื•ืช, ืื– ื™ืฉ ืœื ื• ืกื™ื›ื•ืŸ ืฉื ื—ืกื•ื ืžื™ืฉื”ื•. ื•ื–ื” ื™ืขื‘ื•ื“ ืœื›ืžื” ืฉื ื™ื•ืช, ื•ืื ืฉื™ื ื›ื‘ืจ ื™ืฉื™ืžื• ืœื‘ ืœื–ื”. ืœื›ืŸ, ืื ื™ ืžืขื“ื™ืฃ ืœื ืœืขืฉื•ืช ื™ื•ืชืจ ืžืฉื ื™ื™ื”. ืื‘ืœ ื™ื—ื“ ืขื ื–ืืช, ืืœ ืชืคืจืง ืืช ื–ื” ืžืื•ื“ ื“ืง, ื›ื™ ืชืงื•ืจื” ืฉืœ ื”ืขืกืงื” ืชื”ื™ื” ืžื•ืจื’ืฉืช. ื”ื‘ืกื™ืก ื™ื”ื™ื” ืงืฉื” ื™ื•ืชืจ, ื•ื™ื™ืชื›ื ื• ื‘ืขื™ื•ืช ืฉื•ื ื•ืช ืื—ืจื•ืช.

ืื ื• ื‘ื•ื—ืจื™ื ืืช ื’ื•ื“ืœ ื”ื—ื‘ื™ืœื”. ื‘ื›ืœ ืžืงืจื” ื ื•ื›ืœ ืœืขืฉื•ืช ื–ืืช ืื—ืจืช. ื™ื›ื•ืœ ืœื”ื™ื•ืช ืื•ื˜ื•ืžื˜ื™. ื•ืื ื—ื ื• ืžืฉื•ื›ื ืขื™ื ื‘ื™ืขื™ืœื•ืช ื”ืขื™ื‘ื•ื“ ืฉืœ ื—ื‘ื™ืœื” ืื—ืช. ื›ืœื•ืžืจ, ืื ื—ื ื• ืขื•ืฉื™ื DELETE ืฉืœ ื—ื‘ื™ืœื” ืื—ืช ืื• UPDATE.

ืื’ื‘, ื›ืœ ืžื” ืฉืื ื™ ืžื“ื‘ืจ ืขืœื™ื• ื”ื•ื ืœื ืจืง ืขืœ DELETE. ื›ืคื™ ืฉื ื™ื—ืฉืชื, ืืœื• ื”ืŸ ื›ืœ ืคืขื•ืœื•ืช ื‘ื›ืžื•ืช ื’ื“ื•ืœื” ืขืœ ื ืชื•ื ื™ื.

ื•ืื ื—ื ื• ืจื•ืื™ื ืฉื”ืชื•ื›ื ื™ืช ืžืฆื•ื™ื ืช. ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืืช ืกืจื™ืงืช ื”ืื™ื ื“ืงืก, ืกืจื™ืงืช ืื™ื ื“ืงืก ื‘ืœื‘ื“ ื”ื™ื ืืคื™ืœื• ื˜ื•ื‘ื” ื™ื•ืชืจ. ื•ื™ืฉ ืœื ื• ื›ืžื•ืช ืงื˜ื ื” ืฉืœ ื ืชื•ื ื™ื ืžืขื•ืจื‘ื™ื. ื•ืคื—ื•ืช ืžืฉื ื™ื™ื” ืžื’ืฉื™ืžื”. ืกื•ึผืคึผึถืจ.

ื•ืขื“ื™ื™ืŸ ืฆืจื™ืš ืœื•ื•ื“ื ืฉืื™ืŸ ื”ืฉืคืœื”. ืงื•ืจื” ืฉื”ื—ื‘ื™ืœื•ืช ื”ืจืืฉื•ื ื•ืช ืžืกืชื“ืจื•ืช ืžื”ืจ, ื•ืื– ื–ื” ืžื—ืžื™ืจ, ื™ื•ืชืจ ื•ื™ื•ืชืจ. ื”ืชื”ืœื™ืš ื”ื•ื ื›ื–ื” ืฉืฆืจื™ืš ืœื‘ื“ื•ืง ื”ืจื‘ื”. ื‘ื“ื™ื•ืง ื‘ืฉื‘ื™ืœ ื–ื” ื ื•ืขื“ื• ืžืขื‘ื“ื•ืช ืžืกื“ื™ ื ืชื•ื ื™ื.

ื•ืขื“ื™ื™ืŸ ืฆืจื™ืš ืœื”ื›ื™ืŸ ืžืฉื”ื• ื›ื“ื™ ืฉื™ืืคืฉืจ ืœื ื• ืœืขืงื•ื‘ ืื—ืจ ื–ื” ื ื›ื•ืŸ ื‘ื”ืคืงื”. ืœื“ื•ื’ืžื”, ื ื•ื›ืœ ืœื›ืชื•ื‘ ืืช ื”ืฉืขื” ื‘ื™ื•ืžืŸ, ื ื•ื›ืœ ืœื›ืชื•ื‘ ื”ื™ื›ืŸ ืื ื• ื ืžืฆืื™ื ื›ืขืช ื•ืžื™ ืžื—ืงื ื• ื›ืขืช. ื•ื–ื” ื™ืืคืฉืจ ืœื ื• ืœื”ื‘ื™ืŸ ืžื” ืงื•ืจื” ื‘ื”ืžืฉืš. ื•ื‘ืžืงืจื” ืฉืžืฉื”ื• ืžืฉืชื‘ืฉ, ืžืฆื ื‘ืžื”ื™ืจื•ืช ืืช ื”ื‘ืขื™ื”.

ืื ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื‘ื“ื•ืง ืืช ื”ื™ืขื™ืœื•ืช ืฉืœ ื‘ืงืฉื•ืช ื•ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื—ื–ื•ืจ ืขืœ ื–ื” ื”ืจื‘ื” ืคืขืžื™ื, ืื– ื™ืฉ ื“ื‘ืจ ื›ื–ื” ื‘ื•ื˜ ืขืžื™ืช. ื”ื•ื ื›ื‘ืจ ืžื•ื›ืŸ. ืžืฉืชืžืฉื™ื ื‘ื• ืขืฉืจื•ืช ืžืคืชื—ื™ื ืžื“ื™ ื™ื•ื. ื•ื”ื•ื ื™ื•ื“ืข ืœืชืช ืœืžืกื“ ื ืชื•ื ื™ื ืขื ืง ืฉืœ ื˜ืจื”-ื‘ื™ื™ื˜ ืœืคื™ ื‘ืงืฉื” ืชื•ืš 30 ืฉื ื™ื•ืช, ืขื•ืชืง ืžืฉืœืš. ื•ืืชื” ื™ื›ื•ืœ ืœืžื—ื•ืง ืžืฉื”ื• ืฉื ื•ืœื•ืžืจ RESET, ื•ืœืžื—ื•ืง ืื•ืชื• ืฉื•ื‘. ืืชื” ื™ื›ื•ืœ ืœื”ืชื ืกื•ืช ืขื ื–ื” ื‘ื“ืจืš ื–ื•. ืื ื™ ืจื•ืื” ืขืชื™ื“ ืœื“ื‘ืจ ื”ื–ื”. ื•ืื ื—ื ื• ื›ื‘ืจ ืขื•ืฉื™ื ืืช ื–ื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

https://docs.gitlab.com/ee/development/background_migrations.html

ืžื”ืŸ ืืกื˜ืจื˜ื’ื™ื•ืช ืžื—ื™ืฆื•ืช? ืื ื™ ืจื•ืื” 3 ืืกื˜ืจื˜ื’ื™ื•ืช ื—ืœื•ืงื” ืฉื•ื ื•ืช ืฉื”ืžืคืชื—ื™ื ื‘ื—ื‘ื™ืœื” ืžืฉืชืžืฉื™ื ื‘ื”ืŸ.

ื”ืจืืฉื•ืŸ ืžืื•ื“ ืคืฉื•ื˜. ื™ืฉ ืœื ื• ืžื–ื”ื” ืžืกืคืจื™. ื•ื‘ื•ืื• ื ื—ืœืง ืืช ื–ื” ืœืžืจื•ื•ื—ื™ื ืฉื•ื ื™ื ื•ื ืขื‘ื•ื“ ืขื ื–ื”. ื”ื—ื™ืกืจื•ืŸ ื‘ืจื•ืจ. ื‘ืงื˜ืข ื”ืจืืฉื•ืŸ ืื•ืœื™ ื™ื”ื™ื• ืœื ื• 100 ืฉื•ืจื•ืช ืฉืœ ืืฉืคื” ืืžื™ืชื™ืช, ื‘ืฉื ื™ื™ื” 5 ืฉื•ืจื•ืช ืื• ื‘ื›ืœืœ ืœื, ืื• ืฉื›ืœ 1 ื”ืงื•ื•ื™ื ื™ืชื‘ืจืจื• ื›ื–ื‘ืœ. ืขื‘ื•ื“ื” ืžืื•ื“ ืœื ืื—ื™ื“ื”, ืื‘ืœ ืงืœ ืœืฉื‘ื•ืจ ืื•ืชื”. ื”ื ืœืงื—ื• ืืช ืชืขื•ื“ืช ื”ื–ื”ื•ืช ื”ืžืงืกื™ืžืœื™ืช ื•ืจื™ืกืงื• ืื•ืชื”. ื–ื• ื’ื™ืฉื” ื ืื™ื‘ื™ืช.

ื”ืืกื˜ืจื˜ื’ื™ื” ื”ืฉื ื™ื™ื” ื”ื™ื ื’ื™ืฉื” ืžืื•ื–ื ืช. ื”ื•ื ืžืฉืžืฉ ื‘- Gitlab. ื”ื ืœืงื—ื• ื•ืกืจืงื• ืืช ื”ืฉื•ืœื—ืŸ. ืžืฆืื ื• ืืช ื”ื’ื‘ื•ืœื•ืช ืฉืœ ื—ื‘ื™ืœื•ืช ื”ื–ื™ื”ื•ื™ ื›ืš ืฉืœื›ืœ ื—ื‘ื™ืœื” ื”ื™ื• ื‘ื“ื™ื•ืง 10 ืจืฉื•ืžื•ืช. ื•ืฉื™ืžื• ืื•ืชื ื‘ืชื•ืจ. ื•ืื– ืื ื—ื ื• ืžืขื‘ื“ื™ื. ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช ื‘ืžืกืคืจ ืฉืจืฉื•ืจื™ื.

ื’ื ื‘ืืกื˜ืจื˜ื’ื™ื” ื”ืจืืฉื•ื ื”, ืื’ื‘, ืืคืฉืจ ืœืขืฉื•ืช ื–ืืช ื‘ืžืกืคืจ ืฉืจืฉื•ืจื™ื. ื–ื” ืœื ืงืฉื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

https://medium.com/@samokhvalov/how-partial-indexes-affect-update-performance-in-postgres-d05e0052abc

ืื‘ืœ ื™ืฉ ื’ื™ืฉื” ืžื’ื ื™ื‘ื” ื•ื˜ื•ื‘ื” ื™ื•ืชืจ. ื–ื• ื”ืืกื˜ืจื˜ื’ื™ื” ื”ืฉืœื™ืฉื™ืช. ื•ื›ืฉืืคืฉืจ, ืขื“ื™ืฃ ืœื‘ื—ื•ืจ ื‘ื•. ืื ื• ืขื•ืฉื™ื ื–ืืช ืขืœ ื‘ืกื™ืก ืื™ื ื“ืงืก ืžื™ื•ื—ื“. ื‘ืžืงืจื” ื–ื”, ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉื–ื” ื™ื”ื™ื” ืื™ื ื“ืงืก ืœืคื™ ืžืฆื‘ ื”ืืฉืคื” ื•ืชืขื•ื“ืช ื”ื–ื”ื•ืช ืฉืœื ื•. ื ื›ืœื•ืœ ืืช ื”ืžื–ื”ื” ื›ืš ืฉืชื”ื™ื” ืกืจื™ืงืช ืื™ื ื“ืงืก ื‘ืœื‘ื“ ื›ื“ื™ ืฉืœื ื ืœืš ืœืขืจื™ืžื”.

ื‘ื“ืจืš ื›ืœืœ, ืกืจื™ืงืช ืื™ื ื“ืงืก ื‘ืœื‘ื“ ืžื”ื™ืจื” ื™ื•ืชืจ ืžืกืจื™ืงืช ืื™ื ื“ืงืก.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื•ืื ื—ื ื• ืžื•ืฆืื™ื ื‘ืžื”ื™ืจื•ืช ืืช ืชืขื•ื“ื•ืช ื”ื–ื”ื•ืช ืฉืœื ื• ืฉืื ื—ื ื• ืจื•ืฆื™ื ืœื”ืกื™ืจ. BATCH_SIZE ื ื‘ื—ืจ ืžืจืืฉ. ื•ืื ื—ื ื• ืœื ืจืง ืžืงื‘ืœื™ื ืื•ืชื, ืื ื—ื ื• ืžืงื‘ืœื™ื ืื•ืชื ื‘ืฆื•ืจื” ืžื™ื•ื—ื“ืช ื•ืžื™ื“ ืคื•ืจืฆื™ื ืื•ืชื. ืื‘ืœ ืื ื—ื ื• ื ื•ืขืœื™ื ื›ืš ืฉืื ื”ื ื›ื‘ืจ ื ืขื•ืœื™ื, ืœื ื ื•ืขืœื™ื ืื•ืชื, ืืœื ืžืžืฉื™ื›ื™ื ื•ืœื•ืงื—ื™ื ืืช ื”ื‘ืื™ื. ื–ื” ืžื™ื•ืขื“ ืœื“ืœื’ ืขืœ ืขื“ื›ื•ืŸ ื ืขื•ืœ. ืชื›ื•ื ืช ื”ืขืœ ื”ื–ื• ืฉืœ Postgres ืžืืคืฉืจืช ืœื ื• ืœืขื‘ื•ื“ ื‘ืžืกืคืจ ืฉืจืฉื•ืจื™ื ืื ื ืจืฆื”. ืืคืฉืจ ื‘ื–ืจื ืื—ื“. ื•ื”ื ื” ื™ืฉ CTE - ื–ื• ื‘ืงืฉื” ืื—ืช. ื•ื™ืฉ ืœื ื• ืžื—ื™ืงื” ืืžื™ืชื™ืช ื‘ืงื•ืžื” ื”ืฉื ื™ื™ื” ืฉืœ ื”-CTE ื”ื–ื” - returning *. ืืชื” ื™ื›ื•ืœ ืœื”ื—ื–ื™ืจ ืชืขื•ื“ื” ืžื–ื”ื”, ืื‘ืœ ื–ื” ืขื“ื™ืฃ *ืื ืื™ืŸ ืœืš ื”ืจื‘ื” ื ืชื•ื ื™ื ื‘ื›ืœ ืฉื•ืจื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืœืžื” ืื ื—ื ื• ืฆืจื™ื›ื™ื ืืช ื–ื”? ื–ื” ืžื” ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื“ื•ื•ื— ื‘ื—ื–ืจื”. ืœืžืขืฉื”, ืžื—ืงื ื• ื›ืœ ื›ืš ื”ืจื‘ื” ืฉื•ืจื•ืช. ื•ื™ืฉ ืœื ื• ื’ื‘ื•ืœื•ืช ืœืคื™ ืžื–ื”ื” ืื• ืœืคื™ create_at ื›ื›ื”. ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ืžื™ื ื™ืžื•ื, ืžืงืกื™ืžื•ื. ืืคืฉืจ ืœืขืฉื•ืช ืžืฉื”ื• ืื—ืจ. ืืชื” ื™ื›ื•ืœ ืœื“ื‘ืจ ื›ืืŸ ื”ืจื‘ื”. ื•ื–ื” ืžืื•ื“ ื ื•ื— ืœื ื™ื˜ื•ืจ.

ื™ืฉ ืขื•ื“ ื”ืขืจื” ืื—ืช ืœื’ื‘ื™ ื”ืžื“ื“. ืื ืื ื—ื ื• ืžื—ืœื™ื˜ื™ื ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ืื™ื ื“ืงืก ืžื™ื•ื—ื“ ืœืžืฉื™ืžื” ื”ื–ื•, ืื– ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื•ื•ื“ื ืฉื”ื•ื ืœื ืžืงืœืงืœ ืจืง ืขื“ื›ื•ื ื™ tuples. ื›ืœื•ืžืจ, ืœืคื•ืกื˜ื’ืจืก ื™ืฉ ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ื›ืืœื”. ื ื™ืชืŸ ืœืจืื•ืช ื–ืืช ื‘-pg_stat_user_tables ืขื‘ื•ืจ ื”ื˜ื‘ืœื” ืฉืœืš. ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืขื“ื›ื•ื ื™ื ื—ืžื™ื ืื• ืœื.

ื™ืฉื ื ืžืฆื‘ื™ื ืฉื‘ื”ื ื”ืžื“ื“ ื”ื—ื“ืฉ ืฉืœืš ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื—ืชื•ืš ืื•ืชื. ื•ื™ืฉ ืœืš ืืช ื›ืœ ืฉืืจ ื”ืขื“ื›ื•ื ื™ื ืฉื›ื‘ืจ ืขื•ื‘ื“ื™ื, ื”ืื˜ื•. ืœื ืจืง ื‘ื’ืœืœ ืฉื”ืื™ื ื“ืงืก ื”ื•ืคื™ืข (ื›ืœ ืื™ื ื“ืงืก ืžืื˜ ืงืฆืช ืืช ื”ืขื“ื›ื•ื ื™ื, ืื‘ืœ ืงืฆืช), ืื‘ืœ ื›ืืŸ ื–ื” ืขื“ื™ื™ืŸ ื”ื•ืจืก ืื•ืชื•. ื•ืื™ ืืคืฉืจ ืœื‘ืฆืข ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืžื™ื•ื—ื“ืช ืขื‘ื•ืจ ื”ื˜ื‘ืœื” ื”ื–ื•. ื–ื” ืงื•ืจื” ืœืคืขืžื™ื. ื–ื• ืขื“ื™ื ื•ืช ื›ื–ื• ืฉืจืง ืžืขื˜ื™ื ื–ื•ื›ืจื™ื. ื•ืืช ื”ืžื’ืจืคื” ื”ื–ื• ืงืœ ืœื“ืจื•ืš ืขืœื™ื”. ืœืคืขืžื™ื ืงื•ืจื” ืฉืฆืจื™ืš ืœืžืฆื•ื ื’ื™ืฉื” ืžื”ืฆื“ ื”ืฉื ื™ ื•ืขื“ื™ื™ืŸ ืœื”ืกืชื“ืจ ื‘ืœื™ ื”ืื™ื ื“ืงืก ื”ื—ื“ืฉ ื”ื–ื”, ืื• ืœืขืฉื•ืช ืื™ื ื“ืงืก ืื—ืจ, ืื• ื‘ื“ืจืš ืื—ืจืช, ืœืžืฉืœ, ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ืฉื™ื˜ื” ื”ืฉื ื™ื™ื”.

ืื‘ืœ ื–ื• ื”ืืกื˜ืจื˜ื’ื™ื” ื”ื›ื™ ืื•ืคื˜ื™ืžืœื™ืช, ืื™ืš ืœืคืฆืœ ืœืงื‘ื•ืฆื•ืช ื•ืœื™ืจื•ืช ื‘ืืฆื•ื•ื” ื‘ื‘ืงืฉื” ืื—ืช, ืœืžื—ื•ืง ืงืฆืช ื•ื›ื•'.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืขืกืงืื•ืช ืืจื•ื›ื•ืช https://gitlab.com/snippets/1890447

ืฉืื™ื‘ื” ืื•ื˜ื•ืžื˜ื™ืช ื—ืกื•ืžื” - https://gitlab.com/snippets/1889668

ื‘ืขื™ื™ืช ื—ืกื™ืžื” - https://gitlab.com/snippets/1890428

ื˜ืขื•ืช ืžืก' 5 ื”ื™ื ื˜ืขื•ืช ื’ื“ื•ืœื”. ื ื™ืงื•ืœืื™ ืžืื•ืงืžื˜ืจ ื“ื™ื‘ืจ ืขืœ ื ื™ื˜ื•ืจ Postgres. ื ื™ื˜ื•ืจ Postgres ืื™ื“ืืœื™, ืœืžืจื‘ื” ื”ืฆืขืจ, ืื™ื ื• ืงื™ื™ื. ื—ืœืงื ืงืจื•ื‘ื™ื ื™ื•ืชืจ, ื—ืœืงื ืจื—ื•ืงื™ื ื™ื•ืชืจ. Okmeter ืงืจื•ื‘ ืžืกืคื™ืง ืœื”ื™ื•ืช ืžื•ืฉืœื, ืื‘ืœ ื—ืกืจ ื”ืจื‘ื” ื•ืฆืจื™ืš ืœื”ื•ืกื™ืฃ. ืืชื” ืฆืจื™ืš ืœื”ื™ื•ืช ืžื•ื›ืŸ ืœื–ื”.

ืœื“ื•ื’ืžื”, ื˜ื•ืคืœื™ื ืžืชื™ื ืขื“ื™ืฃ ืœื ื˜ืจ. ืื ื™ืฉ ืœืš ื”ืจื‘ื” ื“ื‘ืจื™ื ืžืชื™ื ื‘ื˜ื‘ืœื”, ืื– ืžืฉื”ื• ืœื ื‘ืกื“ืจ. ืขื“ื™ืฃ ืœื”ื’ื™ื‘ ืขื›ืฉื™ื•, ืื—ืจืช ืขืœื•ืœื” ืœื”ื™ื•ืช ื”ืฉืคืœื”, ื•ื ื•ื›ืœ ืœืฉื›ื‘. ื–ื” ืงื•ืจื”.

ืื ื™ืฉ IO ื’ื“ื•ืœ, ืื– ื‘ืจื•ืจ ืฉื–ื” ืœื ื˜ื•ื‘.

ื’ื ืขืกืงืื•ืช ืืจื•ื›ื•ืช. ืื™ืŸ ืœืืคืฉืจ ืขืกืงืื•ืช ืืจื•ื›ื•ืช ื‘-OLTP. ื•ื”ื ื” ืงื™ืฉื•ืจ ืœืงื˜ืข ืฉืžืืคืฉืจ ืœืงื—ืช ืืช ื”ืงื˜ืข ื”ื–ื” ื•ื›ื‘ืจ ืœืขืฉื•ืช ืžืขืงื‘ ืื—ืจ ืขืกืงืื•ืช ืืจื•ื›ื•ืช.

ืžื“ื•ืข ืขืกืงืื•ืช ืืจื•ื›ื•ืช ื”ืŸ ืจืขื•ืช? ื›ื™ ื›ืœ ื”ืžื ืขื•ืœื™ื ื™ืฉืชื—ืจืจื• ืจืง ื‘ืกื•ืฃ. ื•ืื ื—ื ื• ื“ื•ืคืงื™ื ืืช ื›ื•ืœื. ื‘ื ื•ืกืฃ, ืื ื• ื—ื•ืกืžื™ื ืฉืื™ื‘ื” ืื•ื˜ื•ืžื˜ื™ืช ืขื‘ื•ืจ ื›ืœ ื”ืฉื•ืœื—ื ื•ืช. ื–ื” ืœื ื˜ื•ื‘ ื‘ื›ืœืœ. ื’ื ืื ื”ืžืชื ื” ื—ืžื” ืžื•ืคืขืœืช ื‘ืขื•ืชืง, ื–ื” ืขื“ื™ื™ืŸ ื’ืจื•ืข. ื‘ืื•ืคืŸ ื›ืœืœื™, ื‘ืฉื•ื ืžืงื•ื ืœื ืขื“ื™ืฃ ืœื”ื™ืžื ืข ืžืขืกืงืื•ืช ืืจื•ื›ื•ืช.

ืื ื™ืฉ ืœื ื• ืฉื•ืœื—ื ื•ืช ืจื‘ื™ื ืฉืื™ื ื ืฉื•ืื‘ื™ื ืื‘ืง, ืื– ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืงื‘ืœ ื”ืชืจืื”. ื›ืืŸ ื™ืชื›ืŸ ืžืฆื‘ ื›ื–ื”. ืื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืคื™ืข ื‘ืขืงื™ืคื™ืŸ ืขืœ ืคืขื•ืœืช ื”ื•ื•ืืงื•ื ื”ืื•ื˜ื•ืžื˜ื™. ื–ื”ื• ืงื˜ืข ืžืื‘ื™ื˜ื•, ืื•ืชื• ืฉื™ืคืจืชื™ ืžืขื˜. ื•ื–ื” ื”ืชื‘ืจืจ ื›ื›ืœื™ ืžืขื ื™ื™ืŸ ืœืจืื•ืช ืžื” ื™ืฉ ืœื ื• ืขื ื•ืืงื•ื ืื•ื˜ื•ืžื˜ื™. ืœืžืฉืœ, ืฉื•ืœื—ื ื•ืช ืžืกื•ื™ืžื™ื ืžืžืชื™ื ื™ื ืฉื ื•ืœื ื™ืžืชื™ื ื• ืœืชื•ืจื. ืืชื” ื’ื ืฆืจื™ืš ืœื”ื›ื ื™ืก ืืช ื–ื” ืœื ื™ื˜ื•ืจ ื•ืœืงื‘ืœ ื”ืชืจืื”.

ื•ืžื•ืฆื™ื ื‘ืœื•ืงื™ื. ื™ืขืจ ืฉืœ ืขืฆื™ ื‘ืœื•ืงื™ื. ืื ื™ ืื•ื”ื‘ ืœืงื—ืช ืžืฉื”ื• ืžืžื™ืฉื”ื• ื•ืœืฉืคืจ ืื•ืชื•. ื›ืืŸ ืœืงื—ืชื™ CTE ืจืงื•ืจืกื™ื‘ื™ ืžื’ื ื™ื‘ ืž-Data Egret ืฉืžืจืื” ื™ืขืจ ืฉืœ ืขืฆื™ ื ืขื™ืœื”. ื–ื”ื• ื›ืœื™ ืื‘ื—ื•ืŸ ื˜ื•ื‘. ื•ืขืœ ื‘ืกื™ืกื•, ื ื™ืชืŸ ื’ื ืœื‘ื ื•ืช ื ื™ื˜ื•ืจ. ืื‘ืœ ื–ื” ื—ื™ื™ื‘ ืœื”ื™ืขืฉื•ืช ื‘ื–ื”ื™ืจื•ืช. ืืชื” ืฆืจื™ืš ืœืขืฉื•ืช statement_timeout ืงื˜ืŸ ืœืขืฆืžืš. ื•-lock_timeout ืจืฆื•ื™.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืœืคืขืžื™ื ื›ืœ ื”ืฉื’ื™ืื•ืช ื”ืœืœื• ืžืชืจื—ืฉื•ืช ื‘ืกืš ื”ื›ืœ.

ืœื“ืขืชื™, ื”ื˜ืขื•ืช ื”ืขื™ืงืจื™ืช ื›ืืŸ ื”ื™ื ืืจื’ื•ื ื™ืช. ื–ื” ืืจื’ื•ื ื™, ื›ื™ ื”ื˜ื›ื ื™ืงื” ืœื ืžื•ืฉื›ืช. ื–ื” ืžืกืคืจ 2 - ื”ื ื‘ื“ืงื• ื‘ืžืงื•ื ื”ืœื ื ื›ื•ืŸ.

ื‘ื“ืงื ื• ื‘ืžืงื•ื ื”ืœื ื ื›ื•ืŸ, ื›ื™ ืœื ื”ื™ื” ืœื ื• ืฉื™ื‘ื•ื˜ ื™ื™ืฆื•ืจ, ืฉืงืœ ืœื‘ื“ื•ืง. ื™ื™ืชื›ืŸ ืฉืœืžืคืชื— ืื™ืŸ ื’ื™ืฉื” ืœื™ื™ืฆื•ืจ ื›ืœืœ.

ื•ื‘ื“ืงื ื• ืœื ืฉื. ืื ื”ื™ื™ื ื• ื‘ื•ื“ืงื™ื ืฉื, ื”ื™ื™ื ื• ืจื•ืื™ื ืืช ื–ื” ื‘ืขืฆืžื ื•. ื”ืžืคืชื— ืจืื” ื”ื›ืœ ื’ื ื‘ืœื™ DBA ืื ื”ื•ื ื‘ื“ืง ืืช ื–ื” ื‘ืกื‘ื™ื‘ื” ื˜ื•ื‘ื”, ืฉื‘ื” ื™ืฉ ืื•ืชื” ื›ืžื•ืช ื ืชื•ื ื™ื ื•ืžื™ืงื•ื ื–ื”ื”. ื”ื•ื ื”ื™ื” ืจื•ืื” ืืช ื›ืœ ื”ื”ืฉืคืœื” ื”ื–ืืช ื•ื”ื•ื ื”ื™ื” ืžืชื‘ื™ื™ืฉ.

ืขื•ื“ ืขืœ ืื•ื˜ื•ื•ื•ืืงื•ื. ืื—ืจื™ ืฉืขืฉื™ื ื• ืกื•ื•ื™ืค ืžืกื™ื‘ื™ ืฉืœ ื›ืžื” ืžื™ืœื™ื•ื ื™ ืฉื•ืจื•ืช, ืื ื—ื ื• ืขื“ื™ื™ืŸ ืฆืจื™ื›ื™ื ืœืขืฉื•ืช REPACK. ื–ื” ื—ืฉื•ื‘ ื‘ืžื™ื•ื—ื“ ืขื‘ื•ืจ ืื™ื ื“ืงืกื™ื. ื”ื ื™ืจื’ื™ืฉื• ืจืข ืื—ืจื™ ืฉื ื™ืงื™ื ื• ืฉื ื”ื›ืœ.

ื•ืื ืืชื” ืจื•ืฆื” ืœื”ื—ื–ื™ืจ ืืช ืขื‘ื•ื“ืช ื”ื ื™ืงื™ื•ืŸ ื”ื™ื•ืžื™ืช, ืื– ื”ื™ื™ืชื™ ืžืฆื™ืข ืœืขืฉื•ืช ืืช ื–ื” ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื•ืชืจ, ืื‘ืœ ืงื˜ืŸ ื™ื•ืชืจ. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืคืขื ื‘ื“ืงื” ืื• ืืคื™ืœื• ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื•ืชืจ ืงืฆืช. ื•ืฆืจื™ืš ืœืคืงื— ืขืœ ืฉื ื™ ื“ื‘ืจื™ื: ืฉืœื“ื‘ืจ ื”ื–ื” ืื™ืŸ ืฉื’ื™ืื•ืช ื•ืฉื”ื•ื ืœื ื ืฉืืจ ืžืื—ื•ืจ. ื”ื˜ืจื™ืง ืฉื”ืจืื™ืชื™ ืคืฉื•ื˜ ื™ืคืชื•ืจ ืืช ื–ื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ืžื” ืฉืื ื—ื ื• ืขื•ืฉื™ื ื–ื” ืงื•ื“ ืคืชื•ื—. ื–ื” ืคื•ืจืกื ื‘-GitLab. ื•ืื ื—ื ื• ืขื•ืฉื™ื ืืช ื–ื” ื›ืš ืฉืื ืฉื™ื ื™ื•ื›ืœื• ืœื‘ื“ื•ืง ื’ื ื‘ืœื™ DBA. ืื ื—ื ื• ืขื•ืฉื™ื ืžืขื‘ื“ืช ืžืกื“ ื ืชื•ื ื™ื, ื›ืœื•ืžืจ ืงื•ืจืื™ื ืœืจื›ื™ื‘ ื”ื‘ืกื™ืก ืขืœื™ื• ื’'ื• ืขื•ื‘ื“ ื›ืจื’ืข. ื•ืืชื” ื™ื›ื•ืœ ืœืชืคื•ืก ืขื•ืชืง ืฉืœ ื”ื”ืคืงื”. ืขื›ืฉื™ื• ื™ืฉ ื™ื™ืฉื•ื ืฉืœ Joe ืœ-slack, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื™ื“ ืฉื: "ื”ืกื‘ืจ ื‘ืงืฉื” ื›ื–ื• ื•ืื—ืจืช" ื•ืžื™ื“ ืœืงื‘ืœ ืืช ื”ืชื•ืฆืื” ืขื‘ื•ืจ ื”ืขื•ืชืง ืฉืœืš ืฉืœ ืžืกื“ ื”ื ืชื•ื ื™ื. ืืชื” ื™ื›ื•ืœ ืืคื™ืœื• ืœืžื—ื•ืง ืฉื, ื•ืืฃ ืื—ื“ ืœื ื™ืฉื™ื ืœื‘ ืœื–ื”.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื ื ื™ื— ืฉื™ืฉ ืœืš 10 ื˜ืจื”-ื‘ื™ื™ื˜, ืื ื—ื ื• ืžื™ื™ืฆืจื™ื ืžืขื‘ื“ืช ืžืกื“ ื ืชื•ื ื™ื ื’ื ืœ-10 ื˜ืจื”-ื‘ื™ื™ื˜. ื•ืขื ืžืกื“ื™ ื ืชื•ื ื™ื ืฉืœ 10 ื˜ืจื”-ื‘ื™ื™ื˜ ื‘ื• ื–ืžื ื™ืช, 10 ืžืคืชื—ื™ื ื™ื›ื•ืœื™ื ืœืขื‘ื•ื“ ื‘ื•-ื–ืžื ื™ืช. ื›ืœ ืื—ื“ ื™ื›ื•ืœ ืœืขืฉื•ืช ืžื” ืฉื”ื•ื ืจื•ืฆื”. ื™ื›ื•ืœ ืœืžื—ื•ืง, ืœืฉื—ืจืจ ื•ื›ื•'. ื–ื• ืคื ื˜ื–ื™ื” ื›ื–ื•. ื ื“ื‘ืจ ืขืœ ื–ื” ืžื—ืจ.

DELETE ื”ื™ืงืจ. ื ื™ืงื•ืœืื™ Samokhvalov (Postgres.ai)

ื–ื” ื ืงืจื ื”ืงืฆืื” ื“ืงื”. ื–ื• ื”ืงืฆืื” ืขื“ื™ื ื”. ื–ื• ืื™ื–ื•ืฉื”ื™ ืคื ื˜ื–ื™ื” ืฉืžืกื™ืจื” ืžืื•ื“ ืขื™ื›ื•ื‘ื™ื ื‘ืคื™ืชื•ื—, ื‘ื‘ื“ื™ืงื•ืช ื•ื”ื•ืคื›ืช ืืช ื”ืขื•ืœื ืœืžืงื•ื ื˜ื•ื‘ ื™ื•ืชืจ ื‘ื”ืงืฉืจ ื”ื–ื”. ื›ืœื•ืžืจ, ื–ื” ืจืง ืžืืคืฉืจ ืœืš ืœื”ื™ืžื ืข ืžื‘ืขื™ื•ืช ื‘ืคืขื•ืœื•ืช ื‘ื›ืžื•ืช ื’ื“ื•ืœื”.

ื“ื•ื’ืžื”: ืžืกื“ ื ืชื•ื ื™ื ืฉืœ 5 ื˜ืจื”-ื‘ื™ื™ื˜, ืงื‘ืœืช ืขื•ืชืง ืชื•ืš ืคื—ื•ืช ืž-30 ืฉื ื™ื•ืช. ื•ื–ื” ืืคื™ืœื• ืœื ืชืœื•ื™ ื‘ื’ื•ื“ืœ, ื›ืœื•ืžืจ, ื–ื” ืœื ืžืฉื ื” ื›ืžื” ื˜ืจื”-ื‘ื™ื™ื˜.

ื”ื™ื•ื ืืชื” ื™ื›ื•ืœ ืœืœื›ืช ืœ postgres.ai ื•ืœื—ืคื•ืจ ื‘ื›ืœื™ื ืฉืœื ื•. ืืคืฉืจ ืœื”ื™ืจืฉื ื›ื“ื™ ืœืจืื•ืช ืžื” ื™ืฉ. ืืชื” ื™ื›ื•ืœ ืœื”ืชืงื™ืŸ ืืช ื”ื‘ื•ื˜ ื”ื–ื”. ื–ื” ื‘ื—ื™ื ื. ืœึดื›ืชื•ึนื‘.

ืฉืืœื•ืช

ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืžืื•ื“ ื‘ืžืฆื‘ื™ื ืืžื™ืชื™ื™ื ืžืชื‘ืจืจ ืฉื”ื ืชื•ื ื™ื ืฉืืžื•ืจื™ื ืœื”ื™ืฉืืจ ื‘ื˜ื‘ืœื” ื”ื ื”ืจื‘ื” ืคื—ื•ืช ืžืžื” ืฉืฆืจื™ืš ืœืžื—ื•ืง. ื›ืœื•ืžืจ, ื‘ืžืฆื‘ ื›ื–ื”, ืœืจื•ื‘ ืงืœ ื™ื•ืชืจ ืœื™ื™ืฉื ื’ื™ืฉื” ื›ื–ื•, ื›ืืฉืจ ืงืœ ื™ื•ืชืจ ืœื™ืฆื•ืจ ืื•ื‘ื™ื™ืงื˜ ื—ื“ืฉ, ืœื”ืขืชื™ืง ืœืฉื ืจืง ืืช ื”ื ืชื•ื ื™ื ื”ื“ืจื•ืฉื™ื, ื•ืœืงืจื•ื ืืช ื”ื˜ื‘ืœื” ื”ื™ืฉื ื”. ื‘ืจื•ืจ ืฉื“ืจื•ืฉื” ื’ื™ืฉื” ืคืจื•ื’ืจืžื˜ื™ืช ืœืจื’ืข ื”ื–ื”, ื‘ื–ืžืŸ ืฉืืชื” ืชืขื‘ื•ืจ. ืื™ืš ื”ื’ื™ืฉื” ื”ื–ื•?

ื–ื• ื’ื™ืฉื” ื˜ื•ื‘ื” ืžืื•ื“ ื•ืžืฉื™ืžื” ื˜ื•ื‘ื” ืžืื•ื“. ื–ื” ืžืื•ื“ ื“ื•ืžื” ืœืžื” ืฉืขื•ืฉื” pg_repack, ื–ื” ืžืื•ื“ ื“ื•ืžื” ืœืžื” ืฉืืชื” ืฆืจื™ืš ืœืขืฉื•ืช ื›ืฉืืชื” ืขื•ืฉื” ืžื–ื”ื™ื 4 ื‘ืชื™ื. ืžืกื’ืจื•ืช ืจื‘ื•ืช ืขืฉื• ื–ืืช ืœืคื ื™ ื›ืžื” ืฉื ื™ื, ื•ืจืง ื”ืœื•ื—ื•ืช ื’ื“ืœื•, ื•ืฆืจื™ืš ืœื”ืžื™ืจ ืื•ืชื ืœ-8 ื‘ืชื™ื.

ืžืฉื™ืžื” ื–ื• ื”ื™ื ื“ื™ ืงืฉื”. ืขืฉื™ื ื• ื–ืืช. ื•ืฆืจื™ืš ืœื”ื™ื–ื”ืจ ืžืื•ื“. ื™ืฉ ืžื ืขื•ืœื™ื ื•ื›ื•' ืื‘ืœ ื–ื” ื ืขืฉื”. ื›ืœื•ืžืจ, ื”ื’ื™ืฉื” ื”ืกื˜ื ื“ืจื˜ื™ืช ื”ื™ื ืœืœื›ืช ืขื pg_repack. ืืชื” ืžืฆื”ื™ืจ ืขืœ ืชื•ื•ื™ืช ื›ื–ื•. ื•ืœืคื ื™ ืฉืืชื” ืžืชื—ื™ืœ ืœื”ืขืœื•ืช ืœืชื•ื›ื• ื ืชื•ื ื™ ืชืžื•ื ืช ืžืฆื‘, ืืชื” ื’ื ืžืฆื”ื™ืจ ืขืœ ืฆืœื—ืช ืื—ืช ืฉืขื•ืงื‘ืช ืื—ืจ ื›ืœ ื”ืฉื™ื ื•ื™ื™ื. ื™ืฉ ื˜ืจื™ืง ืฉืื•ืœื™ ืืคื™ืœื• ืœื ืชืขืงื•ื‘ ืื—ืจ ืฉื™ื ื•ื™ื™ื ืžืกื•ื™ืžื™ื. ื™ืฉ ื“ืงื•ื™ื•ืช. ื•ืื– ืืชื” ืžื—ืœื™ืฃ ืขืœ ื™ื“ื™ ื’ืœื’ืœ ืฉื™ื ื•ื™ื™ื. ืชื”ื™ื” ื”ืคืกืงื” ืงืฆืจื” ื›ืฉื ืกื’ื•ืจ ืืช ื›ื•ืœื, ืื‘ืœ ื‘ืื•ืคืŸ ื›ืœืœื™ ื–ื” ื ืขืฉื”.

ืื ืืชื” ืžืกืชื›ืœ ืขืœ pg_repack ื‘-GitHub, ืื– ืฉื, ื›ืฉื”ื™ื™ืชื” ืžืฉื™ืžื” ืœื”ืžื™ืจ ืžื–ื”ื” ืž-int 4 ืœ-int 8, ืื– ื”ื™ื” ืจืขื™ื•ืŸ ืœื”ืฉืชืžืฉ ื‘-pg_repack ืขืฆืžื•. ื–ื” ื’ื ืืคืฉืจื™, ืื‘ืœ ื–ื” ืงืฆืช ืคืจื™ืฆื”, ืื‘ืœ ื–ื” ื™ืขื‘ื•ื“ ื’ื ื‘ืฉื‘ื™ืœ ื–ื”. ืืชื” ื™ื›ื•ืœ ืœื”ืชืขืจื‘ ื‘ื˜ืจื™ื’ืจ ืฉื‘ื• pg_repack ืžืฉืชืžืฉ ื•ืœื”ื’ื™ื“ ืฉื: "ืื ื—ื ื• ืœื ืฆืจื™ื›ื™ื ืืช ื”ื ืชื•ื ื™ื ื”ืืœื”", ื›ืœื•ืžืจ ืื ื—ื ื• ืžืขื‘ื™ืจื™ื ืจืง ืืช ืžื” ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื. ื•ืื– ื”ื•ื ืคืฉื•ื˜ ืžื—ืœื™ืฃ ื•ื–ื”ื•.

ืขื ื’ื™ืฉื” ื–ื•, ืื ื• ืขื“ื™ื™ืŸ ืžืงื‘ืœื™ื ืขื•ืชืง ืฉื ื™ ืฉืœ ื”ื˜ื‘ืœื”, ืฉื‘ื” ื”ื ืชื•ื ื™ื ื›ื‘ืจ ืžืฆื•ืจืคื™ื ืœืื™ื ื“ืงืก ื•ื ืขืจืžื™ื ื‘ืื•ืคืŸ ืฉื•ื•ื” ืžืื•ื“ ืขื ืื™ื ื“ืงืกื™ื ื™ืคื™ื.

ื ืคื™ื—ื•ืช ืื™ื ื” ืงื™ื™ืžืช, ื–ื• ื’ื™ืฉื” ื˜ื•ื‘ื”. ืื‘ืœ ืื ื™ ื™ื•ื“ืข ืฉื™ืฉ ื ื™ืกื™ื•ื ื•ืช ืœืคืชื— ืื•ื˜ื•ืžืฆื™ื” ืœื›ืš, ื›ืœื•ืžืจ ืœื™ืฆื•ืจ ืคืชืจื•ืŸ ืื•ื ื™ื‘ืจืกืœื™. ืื ื™ ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืื™ืชืš ืงืฉืจ ืขื ื”ืื•ื˜ื•ืžืฆื™ื” ื”ื–ื•. ื–ื” ื›ืชื•ื‘ ื‘ืคื™ื™ืชื•ืŸ, ื•ื–ื” ื“ื‘ืจ ื˜ื•ื‘.

ืื ื™ ืจืง ืงืฆืช ืžืขื•ืœื MySQL, ืื– ื‘ืืชื™ ืœื”ืงืฉื™ื‘. ื•ืื ื—ื ื• ืžืฉืชืžืฉื™ื ื‘ื’ื™ืฉื” ื”ื–ื•.

ืื‘ืœ ื–ื” ืจืง ืื ื™ืฉ ืœื ื• 90%. ืื ื™ืฉ ืœื ื• 5%, ืื– ื–ื” ืœื ืžืžืฉ ื˜ื•ื‘ ืœื”ืฉืชืžืฉ ื‘ื•.

ืชื•ื“ื” ืขืœ ื”ื“ื™ื•ื•ื—! ืื ืื™ืŸ ืžืฉืื‘ื™ื ืœื™ืฆื™ืจืช ืขื•ืชืง ืฉืœื ืฉืœ ืคืจื•ื“, ื”ืื ื™ืฉ ืื™ื–ื” ืืœื’ื•ืจื™ืชื ืื• ื ื•ืกื—ื” ืœื—ื™ืฉื•ื‘ ื”ืขื•ืžืก ืื• ื”ื’ื•ื“ืœ?

ืฉืืœื” ื˜ื•ื‘ื”. ืขื“ ื›ื”, ืื ื• ืžืกื•ื’ืœื™ื ืœืžืฆื•ื ืžืกื“ื™ ื ืชื•ื ื™ื ืžืจื•ื‘ื™ ื˜ืจื”-ื‘ืชื™ื. ื’ื ืื ื”ื—ื•ืžืจื” ืฉื ืœื ื–ื”ื”, ืœืžืฉืœ, ืคื—ื•ืช ื–ื™ื›ืจื•ืŸ, ืคื—ื•ืช ืžืขื‘ื“ ื•ื“ื™ืกืงื™ื ื–ื” ืœื ื‘ื“ื™ื•ืง ืื•ืชื• ื”ื“ื‘ืจ, ืื‘ืœ ื‘ื›ืœ ื–ืืช ืื ื—ื ื• ืขื•ืฉื™ื ืืช ื–ื”. ืื ืื™ืŸ ืฉื•ื ืžืงื•ื, ืื– ืืชื” ืฆืจื™ืš ืœื—ืฉื•ื‘. ืชืŸ ืœื™ ืœื—ืฉื•ื‘ ืขื“ ืžื—ืจ, ื‘ืืช, ื ื“ื‘ืจ, ื–ื• ืฉืืœื” ื˜ื•ื‘ื”.

ืชื•ื“ื” ืขืœ ื”ื“ื™ื•ื•ื—! ื”ืชื—ืœืช ืงื•ื“ื ื›ืœ ืขืœ ื–ื” ืฉื™ืฉ Postgres ืžื’ื ื™ื‘, ืฉื™ืฉ ืœื• ืžื’ื‘ืœื•ืช ื›ืืœื” ื•ืื—ืจื•ืช, ืื‘ืœ ื”ื•ื ืžืชืคืชื—. ื•ื–ื” ื”ื›ืœ ืงื‘ ื‘ื’ื“ื•ืœ. ื”ืื ื›ืœ ื–ื” ืœื ืขื•ืžื“ ื‘ืกืชื™ืจื” ืœื”ืชืคืชื—ื•ืช ืฉืœ Postgres ืขืฆืžื”, ืฉื‘ื” ื™ื•ืคื™ืข ืื™ื–ืฉื”ื• ื“ืคืจื ื˜ DELETE ืื• ืžืฉื”ื• ืื—ืจ ืฉืืžื•ืจ ืœืฉืžื•ืจ ื‘ืจืžื” ื ืžื•ื›ื” ืขืœ ืžื” ืฉืื ื—ื ื• ืžื ืกื™ื ืœืžืจื•ื— ื‘ื›ืžื” ืžื”ืืžืฆืขื™ื ื”ืžื•ื–ืจื™ื ืฉืœื ื• ื›ืืŸ?

ืื ืืžืจื ื• ื‘-SQL ืœืžื—ื•ืง ืื• ืœืขื“ื›ืŸ ืจืฉื•ืžื•ืช ืจื‘ื•ืช ื‘ื˜ืจื ื–ืงืฆื™ื” ืื—ืช, ืื– ืื™ืš Postgres ื™ื›ื•ืœื” ืœื”ืคื™ืฅ ืืช ื–ื” ืฉื? ืื ื—ื ื• ืžื•ื’ื‘ืœื™ื ืคื™ื–ื™ืช ื‘ืคืขื•ืœื•ืช. ืื ื—ื ื• ืขื“ื™ื™ืŸ ื ืขืฉื” ืืช ื–ื” ืขื•ื“ ื”ืจื‘ื” ื–ืžืŸ. ื•ื ื ืขืœ ื‘ื–ืžืŸ ื”ื–ื” ื•ื›ื•'.

ื ืขืฉื” ืขื ืื™ื ื“ืงืกื™ื.

ืื ื™ ื™ื›ื•ืœ ืœื”ื ื™ื— ืฉืื•ืชื• ื›ื•ื•ื ื•ืŸ ืžื—ืกื•ื ื™ื›ื•ืœ ืœื”ื™ื•ืช ืื•ื˜ื•ืžื˜ื™. ืžืชื™ืฉื”ื• ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช. ืื‘ืœ ืื– ืื ื™ ืœื ืžืžืฉ ืžื‘ื™ืŸ ืืช ื”ืฉืืœื”.

ื”ืฉืืœื” ื”ื™ื ื”ืื ื™ืฉ ื•ืงื˜ื•ืจ ื›ื–ื” ืฉืœ ื”ืชืคืชื—ื•ืช ืฉื”ื•ืœืš ืœื›ืืŸ ื•ืœื›ืืŸ, ื•ื›ืืŸ ืฉืœืš ื”ื•ืœืš ื‘ืžืงื‘ื™ืœ? ื”ึธื”ึตืŸ. ื”ื ืขื•ื“ ืœื ื—ืฉื‘ื• ืขืœ ื–ื”?

ื“ื™ื‘ืจืชื™ ืขืœ ื”ืขืงืจื•ื ื•ืช ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื”ื ืขื›ืฉื™ื•. ื™ืฉ ืขื•ื“ ื‘ื•ื˜ ื ื ืกื™, ืขื ื–ื” ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื›ื•ื•ื ื•ืŸ ืื•ื˜ื•ืžื˜ื™ ืฉืœ ื ืงื•ื“ื•ืช ื‘ื™ืงื•ืจืช. ื”ืื ืžืชื™ืฉื”ื• ื–ื” ื™ื”ื™ื” ื‘ืคื•ืกื˜ื’ืจืก? ืื ื™ ืœื ื™ื•ื“ืข, ื–ื” ืืคื™ืœื• ืœื ื ื“ื•ืŸ ืขื“ื™ื™ืŸ. ืื ื—ื ื• ืขื“ื™ื™ืŸ ืจื—ื•ืงื™ื ืžื–ื”. ืื‘ืœ ื™ืฉ ืžื“ืขื ื™ื ืฉืžื™ื™ืฆืจื™ื ืžืขืจื›ื•ืช ื—ื“ืฉื•ืช. ื•ื”ื ื“ื•ื—ืคื™ื ืื•ืชื ื• ืœืื™ื ื“ืงืกื™ื ืื•ื˜ื•ืžื˜ื™ื™ื. ื™ืฉ ื”ืชืคืชื—ื•ื™ื•ืช. ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœื”ืกืชื›ืœ ืขืœ ื›ื•ื•ื ื•ืŸ ืื•ื˜ื•ืžื˜ื™. ื”ื•ื ื‘ื•ื—ืจ ืคืจืžื˜ืจื™ื ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™. ืื‘ืœ ื”ื•ื ืœื ื™ื‘ืฆืข ืขื‘ื•ืจืš ื›ื•ื•ื ื•ืŸ ืžื—ืกื•ื ืขื“ื™ื™ืŸ. ื›ืœื•ืžืจ, ื”ื•ื ื™ืชืคื•ืก ืขื‘ื•ืจ ื‘ื™ืฆื•ืขื™ื, ืžืื’ืจ ืžืขื˜ืคืช ื•ื›ื•'.

ื•ืœื›ื•ื•ื ืŸ ื ืงื•ื“ื•ืช ื‘ื™ืงื•ืจืช, ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช: ืื ื™ืฉ ืœืš ืืœืฃ ืืฉื›ื•ืœื•ืช ื•ื—ื•ืžืจื” ืฉื•ื ื”, ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉื•ื ื•ืช ื‘ืขื ืŸ, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื‘ื•ื˜ ืฉืœื ื• ื ื ืกื™ ืœืขืฉื•ืช ืื•ื˜ื•ืžืฆื™ื”. ื•-max_wal_size ื™ื™ื‘ื—ืจ ื‘ื”ืชืื ืœื”ื’ื“ืจื•ืช ื”ื™ืขื“ ืฉืœืš ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™. ืื‘ืœ ืขื“ ื›ื” ื–ื” ืืคื™ืœื• ืœื ืงืจื•ื‘ ื‘ืœื™ื‘ื”, ืœืžืจื‘ื” ื”ืฆืขืจ.

ืื—ืจ ื”ืฆื”ืจื™ื™ื ื˜ื•ื‘ื™ื ื“ื™ื‘ืจืช ืขืœ ื”ืกื›ื ื•ืช ืฉื‘ืขืกืงืื•ืช ืืจื•ื›ื•ืช. ืืžืจืช ืฉื”ื•ื•ืืงื•ื ื”ืื•ื˜ื•ืžื˜ื™ ื—ืกื•ื ื‘ืžืงืจื” ืฉืœ ืžื—ื™ืงื•ืช. ืื™ืš ื–ื” ืขื•ื“ ืžื–ื™ืง ืœื ื•? ื›ื™ ืื ื—ื ื• ืžื“ื‘ืจื™ื ื™ื•ืชืจ ืขืœ ืคื™ื ื•ื™ ืžืงื•ื ื•ืขืœ ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ื•. ืžื” ืขื•ื“ ื—ืกืจ ืœื ื•?

ืื•ื˜ื•ื•ื•ืืงื•ื ื”ื•ื ืื•ืœื™ ืœื ื”ื‘ืขื™ื” ื”ื’ื“ื•ืœื” ื‘ื™ื•ืชืจ ื›ืืŸ. ื•ื”ืขื•ื‘ื“ื” ืฉืขืกืงื” ืืจื•ื›ื” ื™ื›ื•ืœื” ืœื ืขื•ืœ ืขืกืงืื•ืช ืื—ืจื•ืช, ื”ืืคืฉืจื•ืช ื”ื–ื• ืžืกื•ื›ื ืช ื™ื•ืชืจ. ื”ื™ื ืขืฉื•ื™ื” ืœื”ื™ืคื’ืฉ ื•ืื•ืœื™ ืœื. ืื ื”ื™ื ื ืคื’ืฉื”, ืื– ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืจืข ืžืื•ื“. ื•ืขื ืื•ื˜ื•ื•ื•ืืงื•ื - ื’ื ื–ื• ื‘ืขื™ื”. ื™ืฉ ืฉืชื™ ื‘ืขื™ื•ืช ื‘ืขืกืงืื•ืช ืืจื•ื›ื•ืช ื‘-OLTP: ืžื ืขื•ืœื™ื ื•ืื•ื˜ื•ื•ื•ืืงื•ื. ื•ืื ื™ืฉ ืœืš ืžืฉื•ื‘ ื”ืžืชื ื” ื—ื ืžื•ืคืขืœ ืขืœ ื”ืขืชืง, ืื– ืขื“ื™ื™ืŸ ืชืงื‘ืœ ืžื ืขื•ืœ ืื•ื˜ื•ื•ื•ืืงื•ื ืขืœ ื”ืžืืกื˜ืจ, ื”ื•ื ื™ื’ื™ืข ืžื”ืขื•ืชืง. ืื‘ืœ ืœืคื—ื•ืช ืœื ื™ื”ื™ื• ืžื ืขื•ืœื™ื. ื•ื™ื”ื™ื• ืœื•ืงื™ื. ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ืฉื™ื ื•ื™ื™ื ื‘ื ืชื•ื ื™ื, ืื– ืžื ืขื•ืœื™ื ื”ื ื ืงื•ื“ื” ื—ืฉื•ื‘ื” ื›ืืŸ. ื•ืื ื–ื” ื”ื›ืœ ืœื”ืจื‘ื” ืžืื•ื“ ื–ืžืŸ, ืื– ื™ื•ืชืจ ื•ื™ื•ืชืจ ืขืกืงืื•ืช ื ื ืขืœื•ืช. ื”ื ื™ื›ื•ืœื™ื ืœื’ื ื•ื‘ ืื—ืจื™ื. ื•ืขืฆื™ ืœื•ืง ืžื•ืคื™ืขื™ื. ื”ื‘ืืชื™ ืงื™ืฉื•ืจ ืœืงื˜ืข. ื•ื”ื‘ืขื™ื” ื”ื–ื• ื”ื•ืคื›ืช ื‘ื•ืœื˜ืช ื™ื•ืชืจ ืžื”ืจ ื™ื•ืชืจ ืžื”ื‘ืขื™ื” ืขื ื•ืืงื•ื ืื•ื˜ื•ืžื˜ื™, ืฉื™ื›ื•ืœื” ืจืง ืœื”ืฆื˜ื‘ืจ.

ืชื•ื“ื” ืขืœ ื”ื“ื™ื•ื•ื—! ื”ืชื—ืœืช ืืช ื”ื“ื•"ื— ืฉืœืš ื‘ืืžื™ืจื” ืฉื‘ื“ืงืช ืœื ื ื›ื•ืŸ. ื”ืžืฉื›ื ื• ืืช ื”ืจืขื™ื•ืŸ ืฉืœื ื• ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืงื—ืช ืืช ืื•ืชื• ื”ืฆื™ื•ื“, ืขื ื”ื‘ืกื™ืก ื‘ืื•ืชื• ืื•ืคืŸ. ื ื ื™ื— ืฉื ืชื ื• ืœืžืคืชื— ื‘ืกื™ืก. ื•ื”ื•ื ื ืขื ื” ืœื‘ืงืฉื”. ื•ื ืจืื” ืฉื”ื•ื ื‘ืกื“ืจ. ืื‘ืœ ื”ื•ื ืœื ื‘ื•ื“ืง ืœื—ื™ื•ืช, ืืœื ืœื—ื™ื•ืช, ืœืžืฉืœ, ื™ืฉ ืœื ื• ืขื•ืžืก ืฉืœ 60-70%. ื•ื’ื ืื ื ืฉืชืžืฉ ื‘ื›ื•ื•ื ื•ืŸ ื”ื–ื”, ื–ื” ืœื ืขื•ื‘ื“ ื›ืœ ื›ืš ื˜ื•ื‘.

ื—ืฉื•ื‘ ืœื”ืฆื˜ื™ื™ื“ ื‘ืžื•ืžื—ื” ื‘ืฆื•ื•ืช ื•ืœื”ืฉืชืžืฉ ื‘ืžื•ืžื—ื™ DBA ืฉื™ื›ื•ืœื™ื ืœื—ื–ื•ืช ืžื” ื™ืงืจื” ืขื ืขื•ืžืก ืจืงืข ืืžื™ืชื™. ื›ืฉืจืง ื ื”ื’ื ื• ื‘ืฉื™ื ื•ื™ื™ื ื”ื ืงื™ื™ื ืฉืœื ื•, ืื ื—ื ื• ืจื•ืื™ื ืืช ื”ืชืžื•ื ื”. ืื‘ืœ ื’ื™ืฉื” ืžืชืงื“ืžืช ื™ื•ืชืจ, ื›ืฉืขืฉื™ื ื• ืืช ืื•ืชื• ื”ื“ื‘ืจ ืฉื•ื‘, ืื‘ืœ ืขื ืขื•ืžืก ืžื“ื•ืžื” ืขื ื™ื™ืฆื•ืจ. ื–ื” ื“ื™ ืžื’ื ื™ื‘. ืขื“ ืื–, ืืชื” ืฆืจื™ืš ืœื”ืชื‘ื’ืจ. ื–ื” ื›ืžื• ืžื‘ื•ื’ืจ. ืจืง ื‘ื“ืงื ื• ืžื” ื™ืฉ ืœื ื• ื•ื’ื ื‘ื“ืงื ื• ืื ื™ืฉ ืœื ื• ืžืกืคื™ืง ืžืฉืื‘ื™ื. ื–ื• ืฉืืœื” ื˜ื•ื‘ื”.

ื›ืฉืื ื—ื ื• ื›ื‘ืจ ืขื•ืฉื™ื ื‘ื—ื™ืจื” ื–ื‘ืœ ื•ื™ืฉ ืœื ื•, ืœืžืฉืœ, ื“ื’ืœ ืฉื ืžื—ืง

ื–ื” ืžื” ืฉ-autovacuum ืขื•ืฉื” ืื•ื˜ื•ืžื˜ื™ืช ื‘-Postgres.

ืื”, ื”ื•ื ืขื•ืฉื” ืืช ื–ื”?

ืื•ื˜ื•ื•ื•ืืงื•ื ื”ื•ื ืื•ืกืฃ ื”ืืฉืคื”.

ืชื•ื“ื” ืœืš!

ืชื•ื“ื” ืขืœ ื”ื“ื™ื•ื•ื—! ื”ืื ื™ืฉ ืืคืฉืจื•ืช ืœืขืฆื‘ ืžื™ื™ื“ื™ืช ืžืกื“ ื ืชื•ื ื™ื ืขื ื—ืœื•ืงื” ืœืžื—ื™ืฆื•ืช ื‘ืฆื•ืจื” ื›ื–ื• ืฉื›ืœ ื”ื–ื‘ืœ ื™ืชืœื›ืœืš ืžื”ืฉื•ืœื—ืŸ ื”ืจืืฉื™ ืื™ืคืฉื”ื• ืœืฆื“?

ื›ืžื•ื‘ืŸ ืฉื™ืฉ.

ื”ืื ืืคืฉืจ ืื ื›ืŸ ืœื”ื’ืŸ ืขืœ ืขืฆืžื ื• ืื ื ืขืœื ื• ืฉื•ืœื—ืŸ ืฉืืกื•ืจ ืœื”ืฉืชืžืฉ ื‘ื•?

ื›ืžื•ื‘ืŸ ืฉื™ืฉ. ืื‘ืœ ื–ื” ื›ืžื• ืฉืืœื” ืฉืœ ืชืจื ื’ื•ืœืช ื•ื‘ื™ืฆื”. ืื ื›ื•ืœื ื• ื ื“ืข ืžื” ื™ืงืจื” ื‘ืขืชื™ื“, ืื–, ื›ืžื•ื‘ืŸ, ื ืขืฉื” ื”ื›ืœ ืžื’ื ื™ื‘. ืื‘ืœ ื”ืขืกืง ืžืฉืชื ื”, ื™ืฉ ื˜ื•ืจื™ื ื—ื“ืฉื™ื, ื‘ืงืฉื•ืช ื—ื“ืฉื•ืช. ื•ืื– - ืื•ืคืก, ืื ื—ื ื• ืจื•ืฆื™ื ืœื”ืกื™ืจ ืืช ื–ื”. ืื‘ืœ ื”ืžืฆื‘ ื”ืื™ื“ื™ืืœื™ ื”ื–ื”, ื‘ื—ื™ื™ื ื–ื” ืžืชืจื—ืฉ, ืื‘ืœ ืœื ืชืžื™ื“. ืื‘ืœ ื‘ืกืš ื”ื›ืœ ื–ื” ืจืขื™ื•ืŸ ื˜ื•ื‘. ืจืง ืœืงืฆืฅ ื•ื–ื”ื•.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”