เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB

เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบšเบญเบเบ—เปˆเบฒเบ™เบงเบดเบ—เบตเบเบฒเบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบนเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบญเปˆเบฒเบ™ SQL เบˆเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ PostgreSQL. เบกเบทเป‰เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบต เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบถเป‰เบ™ เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เปƒเบŠเป‰ "เบšเบดเบ”" เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ - เบžเบฝเบ‡เปเบ•เปˆเบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเบเบฐเปเบชเบ‚เปเป‰เบกเบนเบ™เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB

#1. เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™

เบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบ„เบธเป‰เบกเบ„เปˆเบฒเปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡ เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™ "เปƒเบ™เบ—เบดเบ”เบชเบฐเบ”เบต" เป„เบ”เป‰เปเบฅเป‰เบง, เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ เบšเปเบฅเบดเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบซเบผเบฒเบเบฎเป‰เบญเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡ PostgreSQL.

"เบงเบฑเบ™เป€เบงเบฅเบฒเบœเปˆเบฒเบ™เป„เบ›..."

เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบš MVP, เป‚เบ„เบ‡เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเป€เบšเบปเบฒเบšเบฒเบ‡ - เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบชเบดเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡ ... , เปเบฅเบฐเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเป€เบฎเบฑเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบเบฑเบšเบซเบ™เบถเปˆเบ‡เปƒเบ™ เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบฐเบซเบ™เบฒเบ” 1.5TBเบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบฎเบนเป‰โ€‹เบงเปˆเบฒโ€‹เป€เบ–เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เป„เบ›โ€‹เป„เบ”เป‰โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ”เบณโ€‹เบฅเบปเบ‡โ€‹เบŠเบตโ€‹เบงเบดเบ”โ€‹เปเบšเบšโ€‹เบ™เบตเป‰โ€‹เบ•เปเปˆโ€‹เป„เบ›, เปเบ•เปˆโ€‹เบกเบฑเบ™โ€‹เบšเปเปˆโ€‹เบชเบฐโ€‹เบ”เบงเบโ€‹เบซเบผเบฒเบ.

เป€เบงเบฅเบฒเปเบกเปˆเบ™เป€เบเบทเบญเบšเบ„เป‰เบฒเบเบ„เบทเป€เบงเบฅเบฒ epic, เบชเบฐเบšเบฑเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡ PostgreSQL 9.x เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ” "เบ„เบนเปˆเบกเบท" - เบœเปˆเบฒเบ™. เบเบฒเบ™เบชเบทเบšเบ—เบญเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆ เบเบณเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง EXECUTE.

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB
เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบเบฒเบโ€‹เป€เบ›เบฑเบ™โ€‹เบ—เบปเปˆเบงโ€‹เป„เบ›โ€‹เบžเบฝเบ‡โ€‹เบžเปโ€‹เบ—เบตเปˆโ€‹เบกเบฑเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เปเบ›โ€‹เป€เบ›เบฑเบ™โ€‹เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹:

  • เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบžเปเปˆเปเบกเปˆ "header" เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบฒเบ”, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ—เบดเบšเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ” เบ”เบฑเบ”เบŠเบฐเบ™เบต เปเบฅเบฐเบ•เบปเบงเบเบฐเบ•เบธเป‰เบ™เบ—เบตเปˆเบˆเบณเป€เบ›เบฑเบ™.
  • เบšเบฑเบ™เบ—เบถเบเบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ "เบฎเบฒเบ", เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบฒเบเปƒเบ™ เบ•เบปเบงเบเบฐเบ•เบธเป‰เบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ BEFORE INSERT เบšเบฑเบ™เบ—เบถเบเป„เบ”เป‰เบ–เบทเบเปƒเบชเปˆ "เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ" เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบชเบดเปˆเบ‡โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เบเบฑเบ‡โ€‹, เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเบปเบโ€‹เป€เบงเบฑเป‰เบ™โ€‹เปเบฅเบฐ ...
  • โ€ฆ เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ CREATE TABLE ... (LIKE ... INCLUDING ...) เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเปเบกเปˆเปเบšเบšเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบžเปเปˆเปเบกเปˆ เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เปƒเบ™เบงเบฑเบ™เบ—เบตเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบกเบทเปˆเบญเบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเบ”เบถเบ‡, เบเบฒเบ™เบญเปˆเบฒเบ™เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบกเบฑเบ™.

PG10: เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เปเบฒเบญเบดเบ”

เปเบ•เปˆเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบชเบทเบšเบ—เบญเบ”เบ—เบฒเบ‡เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบšเปเปˆ เป€เปเบฒเบฐ เบชเบปเบกเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฐเปเบชเบเบฒเบ™เบ‚เบฝเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบซเบผเบทเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เป€เบ”เบฑเบเบ™เป‰เบญเบ เบˆเบณ เบ™เบงเบ™เบซเบผเบงเบ‡เบซเบผเบฒเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบทเปˆเป„เบ”เป‰เบงเปˆเบฒ algorithm เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฅเบทเบญเบเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบต เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบชเบตเปˆเบซเบฅเปˆเบฝเบก, เบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš 100+ เบžเบฒเบเบชเปˆเบงเบ™, เบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™ ...

เปƒเบ™ PG10 เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเป‚เบ”เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เบเบฒเบ™โ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™โ€‹เบžเบทเป‰เบ™โ€‹เป€เบกเบทเบญเบ‡โ€‹. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบ—เบฑเบ™เบ—เบตเบžเบฐเบเบฒเบเบฒเบกเปƒเบŠเป‰เบกเบฑเบ™เบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ, เปเบ•เปˆ ...

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเบซเบผเบฑเบ‡เบˆเบฒเบเบ‚เบธเบ”เบœเปˆเบฒเบ™เบ„เบนเปˆเบกเบท, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เปƒเบ™เบชเบฐเบšเบฑเบšเบ™เบตเป‰เปเบกเปˆเบ™:

  • เบšเปเปˆเบฎเบญเบ‡เบฎเบฑเบšเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ”เบฑเบ”เบชเบฐเบ™เบต
  • เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบกเบฑเบ™
  • เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™ "เป€เบŠเบทเป‰เบญเบชเบฒเบ" เบ‚เบญเบ‡เปƒเบœเป„เบ”เป‰
  • เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ INSERT ... ON CONFLICT
  • เบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป„เบ”เป‰

เป‚เบ”เบเป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเป€เบชเบเบซเบฒเบเบ—เบตเปˆเป€เบˆเบฑเบšเบ›เบงเบ”เบเบฑเบšเบซเบ™เป‰เบฒเบœเบฒเบเบ”เป‰เบงเบ rake, เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ”เบฑเบ”เปเบ›เบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, เปเบฅเบฐเป€เบฅเบทเปˆเบญเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เป‰เบงเบฒเบ•เบทเปˆเบกเบญเบตเบเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบปเบเป€เบ”เบทเบญเบ™.

PG10: เป‚เบญเบเบฒเบ”เบ—เบตเบชเบญเบ‡

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เป‚เบ”เบเบซเบ™เบถเปˆเบ‡:

  1. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเปเบฅเบฐ ON CONFLICT เบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบงเบเบกเบฑเบ™เบขเบนเปˆเบšเปˆเบญเบ™เบ™เบตเป‰ เปเบฅเบฐเบšเปˆเบญเบ™เบ™เบฑเป‰เบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบถเปˆเบ‡เป€เบฎเบฑเบ”เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ›เบฒเบ™เบเบฒเบ‡เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบžเบงเบเบกเบฑเบ™ เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เบปเบงเปเบ—เบ™.
  2. เป„เบ”เป‰เบเปเบฒเบˆเบฑเบ” "เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡" เปƒเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆ - เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบˆเบฒเบ EXECUTE.
  3. เบžเบงเบเป€เบ‚เบปเบฒเป€เบญเบปเบฒเบกเบฑเบ™เบญเบญเบเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบกเปˆเปเบšเบšเบ—เบตเปˆเบกเบตเบ”เบฑเบ”เบชเบฐเบ™เบตเบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เบžเบงเบเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เบปเบงเปเบ—เบ™.

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB
เบชเบธเบ”เบ—เป‰เบฒเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เบปเป‰เบ™เบ•เปเป‚เบ”เบเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡. เบเบฒเบ™เบชเป‰เบฒเบ‡เบžเบฒเบเปƒเบซเบกเปˆเปเบกเปˆเบ™เบเบฑเบ‡เบ›เปˆเบญเบเปƒเบซเป‰เบˆเบดเบ”เปƒเบˆเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ.

เบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก "Sawing".

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบกเบต "เบ„เบงเบฒเบกเบˆเบดเบ‡" เปเบฅเบฐ "เบเบฒเบ™เบ•เบฑเบ”" (เบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก). เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปƒเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ™เบตเป‰, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ›เบฐเบ•เบดเบšเบฑเบ”, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เบปเบงเปเบšเบš เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบŠเป‰เบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบซเบผเบทเบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบกเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡.

"เบ‚เปเป‰เป€เบ—เบฑเบ”เบˆเบดเบ‡" เบ–เบทเบเปเบšเปˆเบ‡เบญเบญเบเปƒเบ™เปเบ•เปˆเบฅเบฐเบกเบทเป‰เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™เปเบฅเป‰เบง, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบถเปˆเบ‡เป„เบ”เป‰เบฅเบถเบšเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบกเบขเปˆเบฒเบ‡เบชเบฐเบซเบ‡เบปเบš, เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเป„เบ”เป‰เบฅเบปเบšเบเบงเบ™เบžเบงเบเป€เบฎเบปเบฒ (เบšเบฑเบ™เบ—เบถเบ!). เปเบ•เปˆเบกเบตเบšเบฑเบ™เบซเบฒเบเบฑเบšเบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก...

เบšเปเปˆเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบกเบตเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เปเบ•เปˆเบงเปˆเบฒเบ›เบฐเบกเบฒเบ™ 100TB เบ‚เบญเบ‡ "เบ„เบงเบฒเบกเบˆเบดเบ‡" เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก 2.5TB. เบ—เปˆเบฒเบ™โ€‹เบšเปเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบฅเบถเบšโ€‹เบชเบดเปˆเบ‡โ€‹เปƒเบ”โ€‹เบญเบญเบโ€‹เบˆเบฒเบโ€‹เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เป„เบ”เป‰โ€‹เบขเปˆเบฒเบ‡โ€‹เบชเบฐโ€‹เบ”เบงเบโ€‹, เบ—เปˆเบฒเบ™โ€‹เบšเปเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบšเบตเบšโ€‹เบญเบฑเบ”โ€‹เบกเบฑเบ™โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบžเบฝเบ‡โ€‹เบžเปโ€‹, เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ‚เบฝเบ™โ€‹เบกเบฑเบ™โ€‹เบ„เปˆเบญเบเป†โ€‹เบŠเป‰เบฒโ€‹เบฅเบปเบ‡โ€‹.

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก ... เบขเบนเปˆเปƒเบ™เบ™เบฑเป‰เบ™, เปเบ•เปˆเบฅเบฐเบฅเบฒเบเบเบฒเบ™เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบขเปˆเบฒเบ‡เปเบ™เปˆเบ™เบญเบ™ ... เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบ–เบทเบเบ•เป‰เบญเบ‡, เปเบ•เปˆ!.. เบšเปเปˆเบกเบตเปƒเบœเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฒเบเบเบฒเบ™เบกเบต. เบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบกเบทเป‰! เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™, เปเบ•เปˆเบกเบฑเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰:

  • เบ‚เบฝเบ™/เบญเปˆเบฒเบ™เป„เบงเบ‚เบถเป‰เบ™ เป€เบ™เบทเปˆเบญเบ‡โ€‹เบˆเบฒเบโ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เบ™เป‰เบญเบโ€‹เบเบงเปˆเบฒโ€‹
  • เบšเปเบฅเบดเป‚เบžเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบซเบ™เป‰เบญเบ เป‚เบ”เบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ”เบฑเบ”เบŠเบฐเบ™เบตเบ—เบตเปˆเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบเบงเปˆเบฒ
  • เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปœเป‰เบญเบเบฅเบปเบ‡ เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเบญเบญเบเบฅเป‰เบฒเบชเบฐเป„เบซเบกเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ

เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เบŠเบฑเบšเบŠเป‰เบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบกเบฒเบ”เบ•เบฐเบเบฒเบ™ เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡ CPU เบซเบผเบธเบ”เบฅเบปเบ‡ ~30%, เบเบฒเบ™เป‚เบซเบผเบ” disk 50%:

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB
เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบทเบšเบ•เปเปˆเบ‚เบฝเบ™เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบžเบฝเบ‡เปเบ•เปˆเบกเบตเบเบฒเบ™เป‚เบซเบผเบ”เบซเบ™เป‰เบญเบ.

#2. เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เปเบฅเบฐ refactoringโ€‹

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบปเบเบฅเบปเบ‡เบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบต เปเบ•เปˆเบฅเบฐเบกเบทเป‰เบกเบตเบžเบฒเบเบชเปˆเบงเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡ เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™. เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบง, CHECK (dt = '2018-10-12'::date) โ€” เปเบฅเบฐโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™โ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เปเบฅเบฐโ€‹เป€เบ‡เบทเปˆเบญเบ™โ€‹เป„เบ‚โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบเบฒเบ™โ€‹เบ•เบปเบโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เบžเบฒเบโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹.

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ‚เบญเบ‡เบงเบฑเบ™เบ—เบตเบชเบฐเป€เบžเบฒเบฐ, เบ”เบฑเบ”เบชเบฐเบ™เบตเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ "เป€เบงเบฅเบฒเบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™" เปเบกเปˆเบ™เบ—เบธเบเบ›เบฐเป€เบžเบ”. (เป€เบŠเบตเบšเป€เบงเบต, Date, เปเบšเบšเปเบœเบ™), (เป€เบŠเบตเบšเป€เบงเบต, Date, เปเบœเบ™เบเบฒเบ™ node), (Date, เบ›เบฐเป€เบžเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ), ...

เปเบ•เปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบญเบฒเป„เบชเบขเบนเปˆเปƒเบ™เบ—เบธเบเบžเบฒเบเบชเปˆเบงเบ™ เบชเบณเป€เบ™เบปเบฒเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ เปเบ•เปˆเบฅเบฐเบ”เบฑเบ”เบŠเบฐเบ™เบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง ... เปเบฅเบฐเบžเบฒเบเปƒเบ™เปเบ•เปˆเบฅเบฐเบžเบฒเบเบชเปˆเบงเบ™ เบงเบฑเบ™เบ—เบตเปเบกเปˆเบ™เบ„เบปเบ‡เบ—เบตเปˆ... เบกเบฑเบ™ turns เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเปƒเบ™เปเบ•เปˆเบฅเบฐเบ”เบฑเบ”เบŠเบฐเบ™เบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง เบžเบฝเบ‡เปเบ•เปˆเปƒเบชเปˆเบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆ เป€เบ›เบฑเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”, เป€เบŠเบดเปˆเบ‡เป€เบžเบตเปˆเบกเบ›เบฐเบฅเบดเบกเบฒเบ™เปเบฅเบฐเป€เบงเบฅเบฒเบ„เบปเป‰เบ™เบซเบฒเบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™, เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เบ™เปเบฒเป€เบญเบปเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบ”เป†. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ›เบฐเป„เบงเป‰ rake เบเบฑเบšเบ•เบปเบ™เป€เบญเบ‡, oos ...

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB
เบ—เบดเบ”เบ—เบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบกเปˆเบ™เบˆเบฐเปเบˆเป‰เบ‡ - เบ‡เปˆเบฒเบเบ”เบฒเบ เป€เบญเบปเบฒเบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบงเบฑเบ™เบ—เบตเบญเบญเบเบˆเบฒเบเบ”เบฑเบ”เบŠเบฐเบ™เบตเบ—เบฑเบ‡เบซเบกเบปเบ” เปƒเบ™โ€‹เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™โ€‹. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบเปเบฒเป„เบฅเปเบกเปˆเบ™เบ›เบฐเบกเบฒเบ™ 1TB/เบญเบฒเบ—เบดเบ”!

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ terabyte เบ™เบตเป‰เบเบฑเบ‡เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบšเบฒเบ‡เบขเปˆเบฒเบ‡. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡ เปเบœเปˆเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ„เบงเบ™เบˆเบฐเป‚เบซเบผเบ”เบซเบ™เป‰เบญเบเบฅเบปเบ‡! เบฎเบนเบšเบžเบฒเบšเบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบเบฒเบ™เบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”, เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบญเบธเบ—เบดเบ”เบ•เปเปˆเบญเบฒเบ—เบดเบ”:

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB

#3. "เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบ" เบเบฒเบ™เป‚เบซเบผเบ”เบชเบนเบ‡เบชเบธเบ”

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบšเบฑเบ™เบซเบฒเปƒเบซเบเปˆเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เป‚เบซเบผเบ”เปเบกเปˆเบ™ เบเบฒเบ™เบŠเบดเป‰เบ‡เบ‚เปเป‰เบกเบนเบ™เบŠเป‰เบณเบŠเป‰เบญเบ™ เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบฑเบ™. เบšเบฒเบ‡เบ„เบฑเป‰เบ‡ "เบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเป„เบ”เป‰เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™", เบšเบฒเบ‡เบ„เบฑเป‰เบ‡ "เบกเบฑเบ™เบ‡เปˆเบฒเบเบเบงเปˆเบฒเบงเบดเบ—เบตเบ™เบฑเป‰เบ™", เปเบ•เปˆเบšเปเปˆเบ”เบปเบ™เบ—เปˆเบฒเบ™เบเปเปˆเบ•เป‰เบญเบ‡เบเปเบฒเบˆเบฑเบ”เบกเบฑเบ™.

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบŠเบนเบกเบขเบนเปˆเปƒเบ™เบฎเบนเบšเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปเบฅเบฐเป€เบซเบฑเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเปเบœเปˆเบ™ "เบ›เบฑเปŠเบก" เบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบงเป‰เบฒเบ‡เบชเบญเบ‡เป€เบ—เบปเปˆเบฒ เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบเป‰เบ„เบฝเบ‡, เป€เบŠเบดเปˆเบ‡เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™ "เบชเบฐเบ–เบดเบ•เบด" เบšเปเปˆเบ„เบงเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡:

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB

เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบšเบฑเบ™เบฅเบธ. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบดเบ”เบ•เบฒเบกเปเบฅเป‰เบง เป€เบเบทเบญเบš 1000 เป€เบŠเบตเบšเป€เบงเบต, เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป‚เบ”เบเบเบฐเบ—เบนเป‰เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เปเบฅเบฐเปเบ•เปˆเบฅเบฐเบเบฐเบ—เบนเป‰เบ›เบฑเบšเบ‚เปเป‰เบกเบนเบ™เบชเบฐเบชเบปเบกเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ„เบงเบฒเบกเบ–เบตเปˆเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™, เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

setInterval(sendToDB, interval)

เบšเบฑเบ™เบซเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เปเบ™เปˆเบ™เบญเบ™เบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ เบเบฐเบ—เบนเป‰เบ—เบฑเบ‡ เปเบปเบ” เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบงเบฅเบฒเบชเบปเปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป€เบเบทเบญเบšเบชเบฐเป€เบซเบกเบต coincide "เป€เบ–เบดเบ‡เบˆเบธเบ”." เบญเบธเบ #2...

เป‚เบŠเบเบ”เบต, เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเปเบเป‰เป„เบ‚, เป€เบžเบตเปˆเบก "random" run-up เบ•เบฒเบกเป€เบงเบฅเบฒ:

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

#4. เบžเบงเบเป€เบฎเบปเบฒ cache เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™

เบšเบฑเบ™เบซเบฒเบเบฒเบ™เป‚เบซเบผเบ”เบชเบนเบ‡เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบกเบ—เบตเบชเบฒเบกเปเบกเปˆเบ™ เบšเปเปˆเบกเบตเปเบ„เบ” เบฅเบฒเบงเบขเบนเปˆเปƒเบช เบชเบฒเบกเบฒเบ” เป€เบ›เบฑเบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เปƒเบ™เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเปƒเบ™เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡ nodes เปเบœเบ™ (เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ Seq Scan on users), เปเบ•เปˆเบ—เบฑเบ™เบ—เบตเบ„เบดเบ”เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปเบกเปˆเบ™, เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบ„เบทเบเบฑเบ™ - เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบฅเบทเบก.

เบšเปเปˆ, เปเบ™เปˆเบ™เบญเบ™, เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เบ™เบตเป‰เบ•เบฑเบ”เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฑเบš INSERT ... ON CONFLICT DO NOTHING. เปเบ•เปˆเบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เบเบฑเบ‡เบกเบฒเบฎเบญเบ”เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเบกเบฑเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™ เบญเปˆเบฒเบ™เป€เบžเบทเปˆเบญเบเบงเบ”เบเบฒเป€เบšเบดเปˆเบ‡เบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡ เบ•เป‰เบญเบ‡โ€‹เป€เบฎเบฑเบ”. เบญเบธเบ #3...

เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบเปˆเบญเบ™ / เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰ cache เปเบกเปˆเบ™เป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™:

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB

เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ:

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB

เบฅเบงเบก

"Terabyte-เบ•เปเปˆเบกเบทเป‰" เบžเบฝเบ‡เปเบ•เปˆเบŸเบฑเบ‡เบซเบ™เป‰เบฒเบขเป‰เบฒเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆ 2^40 bytes / 86400 เบงเบดเบ™เบฒเบ—เบต = ~12.5MB/sเบงเปˆเบฒเปเบกเป‰เปเบ•เปˆเบชเบฐเบเบน IDE desktop เบ–เบท. ๐Ÿ™‚

เปเบ•เปˆเบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบต "skew" เบชเบดเบšเป€เบ—เบปเปˆเบฒเบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบกเบทเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ SSDs เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ.

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบ™ PostgreSQL เปƒเบ™ sublight: 1 host, 1 เบกเบทเป‰, 1TB

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™