เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB

เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชฎเซ‡เช‚ เชคเชฎเชจเซ‡ เช•เชนเซเชฏเซเช‚ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡, เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชตเชพเชจเช—เซ€เช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ SQL เชฐเซ€เชก เช•เซเชตเซ‡เชฐเซ€เชเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ PostgreSQL เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚เชฅเซ€. เช†เชœเซ‡ เช†เชชเชฃเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชกเซ€เช‚เช— เชตเชงเซ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเชฎเชพเช‚ เช•เซ‹เชˆเชชเชฃ "เชŸเซเชตเชฟเชธเซเชŸ" เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ - เชซเช•เซเชค เชกเซ‡เชŸเชพ เชซเซเชฒเซ‹เชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเซ€เชจเซ‡.

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB

#1. เชตเชฟเชญเชพเช—เซ€เช•เชฐเชฃ

เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช—เซ‹เช เชตเชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡เชจเซ‹ เชฒเซ‡เช– เชฒเชพเช—เซ เชชเชพเชฐเซเชŸเซ€เชถเชจ "เชธเชฟเชฆเซเชงเชพเช‚เชคเชฎเชพเช‚" เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฅเชˆ เชšเซ‚เช•เซเชฏเซเช‚ เช›เซ‡, เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เช†เชชเชฃเซ€ เช…เช‚เชฆเชฐ เช•เซ‡เชŸเชฒเชพเช• เช…เชญเชฟเช—เชฎเซ‹ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซ€ เชชเซเชฐเชฅเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚ เชธเซ‡เช‚เช•เชกเซ‹ PostgreSQL เชธเชฐเซเชตเชฐเซเชธ เชฎเชพเชŸเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เชธเซ‡เชตเชพ.

"เช—เชฏเชพ เชฆเชฟเชตเชธเซ‹เชจเซ€ เชตเชพเชคเซ‹..."

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เช•เซ‹เชˆเชชเชฃ MVP เชจเซ€ เชœเซ‡เชฎ, เช…เชฎเชพเชฐเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชเช•เชฆเชฎ เชนเชณเชตเชพ เชฒเซ‹เชก เชนเซ‡เช เชณ เชถเชฐเซ‚ เชฅเชฏเซ‹ เชนเชคเซ‹ - เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เชซเช•เซเชค เชฆเชธ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เชœ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชคเชฎเชพเชฎ เช•เซ‹เชทเซเชŸเช•เซ‹ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช•เซ‹เชฎเซเชชเซ‡เช•เซเชŸ เชนเชคเชพ... เชชเชฐเช‚เชคเซ เชœเซ‡เชฎ เชœเซ‡เชฎ เชธเชฎเชฏ เช†เช—เชณ เชตเชงเชคเซ‹ เช—เชฏเซ‹ เชคเซ‡เชฎ, เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชพเชฏเซ‡เชฒ เชนเซ‹เชธเซเชŸเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชตเชงเซเชจเซ‡ เชตเชงเซ เชฅเชคเซ€ เช—เชˆ. , เช…เชจเซ‡ เชซเชฐเซ€ เชเช•เชตเชพเชฐ เช…เชฎเซ‡ เชเช• เชธเชพเชฅเซ‡ เช•เช‚เชˆเช• เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เช•เซ‹เชทเซเชŸเช•เซ‹ 1.5TB เช•เชฆเชฎเชพเช‚, เช…เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เช† เชฐเซ€เชคเซ‡ เชœเซ€เชตเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚ เชถเช•เซเชฏ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เชคเซ‡ เช–เซ‚เชฌ เชœ เช…เชธเซเชตเชฟเชงเชพเชœเชจเช• เชนเชคเซเช‚.

เชธเชฎเชฏ เชฒเช—เชญเช— เชฎเชนเชพเช•เชพเชตเซเชฏ เชธเชฎเชฏ เชœเซ‡เชตเซ‹ เชนเชคเซ‹, PostgreSQL 9.x เชจเซ€ เชตเชฟเชตเชฟเชง เช†เชตเซƒเชคเซเชคเชฟเช“ เชธเซเชธเช‚เช—เชค เชนเชคเซ€, เชคเซ‡เชฅเซ€ เชคเชฎเชพเชฎ เชชเชพเชฐเซเชŸเซ€เชถเชจ "เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€" - เชฆเซเชตเชพเชฐเชพ เช•เซ‹เชทเซเชŸเช• เชตเชพเชฐเชธเซ‹ เช…เชจเซ‡ เชŸเซเชฐเชฟเช—เชฐเซเชธ เช—เชคเชฟเชถเซ€เชฒ เชธเชพเชฅเซ‡ เชฐเซ‚เชŸเซ€เช‚เช— EXECUTE.

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB
เชชเชฐเชฟเชฃเชพเชฎเซ€ เช‰เช•เซ‡เชฒ เชเชŸเชฒเซ‹ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชคเชฎเชพเชฎ เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚ เช…เชจเซเชตเชพเชฆเชฟเชค เชฅเชˆ เชถเช•เซ‡ เช›เซ‡:

  • เชเช• เช–เชพเชฒเซ€ "เชนเซ‡เชกเชฐ" เชชเซ‡เชฐเซ‡เช‚เชŸ เชŸเซ‡เชฌเชฒ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชœเซ‡ เชคเชฎเชพเชฎเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡ เชœเชฐเซ‚เชฐเซ€ เชธเซ‚เชšเช•เชพเช‚เช•เซ‹ เช…เชจเซ‡ เชŸเซเชฐเชฟเช—เชฐเซเชธ.
  • เช•เซเชฒเชพเชฏเช‚เชŸเชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€ เชฐเซ‡เช•เซ‹เชฐเซเชก "เชฐเซเชŸ" เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เช…เชจเซ‡ เช†เช‚เชคเชฐเชฟเช• เชฐเซ€เชคเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฐเซ‚เชŸเซ€เช‚เช— เชŸเซเชฐเชฟเช—เชฐ BEFORE INSERT เชฐเซ‡เช•เซ‹เชฐเซเชก เชœเชฐเซ‚เชฐเซ€ เชตเชฟเชญเชพเช—เชฎเชพเช‚ "เชถเชพเชฐเซ€เชฐเชฟเช• เชฐเซ€เชคเซ‡" เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เชœเซ‹ เชนเชœเซ€ เชธเซเชงเซ€ เช†เชตเซ€ เช•เซ‹เชˆ เชตเชธเซเชคเซ เชจ เชนเชคเซ€, เชคเซ‹ เช…เชฎเซ‡ เชเช• เช…เชชเชตเชพเชฆ เชชเช•เชกเซเชฏเซ‹ เช…เชจเซ‡...
  • โ€ฆ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ CREATE TABLE ... (LIKE ... INCLUDING ...) เชชเชฟเชคเซƒ เช•เซ‹เชทเซเชŸเช•เชจเชพ เชจเชฎเซ‚เชจเชพเชจเชพ เช†เชงเชพเชฐเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚ เช‡เชšเซเช›เชฟเชค เชคเชพเชฐเซ€เช– เชชเชฐ เชชเซเชฐเชคเชฟเชฌเช‚เชง เชธเชพเชฅเซ‡เชจเซ‹ เชตเชฟเชญเชพเช—เชœเซ‡เชฅเซ€ เชœเซเชฏเชพเชฐเซ‡ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชตเชพเช‚เชšเชจ เชซเช•เซเชค เชคเซ‡เชฎเชพเช‚ เชœ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

PG10: เชชเซเชฐเชฅเชฎ เชชเซเชฐเชฏเชพเชธ

เชชเชฐเช‚เชคเซ เชตเชพเชฐเชธเชพ เชฆเซเชตเชพเชฐเชพ เชชเชพเชฐเซเชŸเซ€เชถเชจ เชเชคเชฟเชนเชพเชธเชฟเช• เชฐเซ€เชคเซ‡ เชธเช•เซเชฐเชฟเชฏ เชฒเซ‡เช–เชจ เชชเซเชฐเชตเชพเชน เช…เชฅเชตเชพ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชšเชพเช‡เชฒเซเชก เชชเชพเชฐเซเชŸเซ€เชถเชจเซ‹ เชธเชพเชฅเซ‡ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เชฏเชพเชฆ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชœเชฐเซ‚เชฐเซ€ เชตเชฟเชญเชพเช— เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‹ เชนเชคเซ‹ เชšเชคเซเชฐเซเชญเซเชœ เชœเชŸเชฟเชฒเชคเชพ, เช•เซ‡ เชคเซ‡ 100+ เชตเชฟเชญเชพเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชคเชฎเซ‡ เชชเซ‹เชคเซ‡ เชธเชฎเชœเซ‹ เช›เซ‹ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡...

PG10 เชฎเชพเช‚ เช† เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชฒเชพเช—เซ เช•เชฐเซ€เชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เชฎเซ‚เชณ เชชเชพเชฐเซเชŸเซ€เชถเชจ. เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชคเชฐเชค เชœ เชคเซ‡เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹, เชชเชฐเช‚เชคเซ...

เชฎเซ‡เชจเซเชฏเซเช…เชฒ เชฆเซเชตเชพเชฐเชพ เช–เซ‹เชฆเช•เชพเชฎ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เชคเซ‡เชฎ, เช† เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚ เชฎเซ‚เชณ เชฐเซ€เชคเซ‡ เชตเชฟเชญเชพเชœเชฟเชค เช•เซ‹เชทเซเชŸเช• เช›เซ‡:

  • เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ เชตเชฐเซเชฃเชจเซ‹เชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเชคเซเช‚ เชจเชฅเซ€
  • เชคเซ‡เชจเชพ เชชเชฐ เชŸเซเชฐเชฟเช—เชฐเซเชธเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชคเซเช‚ เชจเชฅเซ€
  • เช•เซ‹เชˆเชจเชพ "เชตเช‚เชถเชœ" เชจ เชนเซ‹เชˆ เชถเช•เซ‡
  • เช†เชงเชพเชฐ เช†เชชเชถเซ‹ เชจเชนเซ€เช‚ INSERT ... ON CONFLICT
  • เช†เชชเชฎเซ‡เชณเซ‡ เชตเชฟเชญเชพเช— เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€

เชฐเซ‡เช• เชธเชพเชฅเซ‡ เช•เชชเชพเชณ เชชเชฐ เชชเซ€เชกเชพเชฆเชพเชฏเช• เชซเชŸเช•เซ‹ เชฎเชณเซเชฏเชพ เชชเช›เซ€, เช…เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช•เชฐเชตเซเช‚ เช…เชถเช•เซเชฏ เช›เซ‡, เช…เชจเซ‡ เชตเชงเซ เชธเช‚เชถเซ‹เชงเชจ เช› เชฎเชนเชฟเชจเชพ เชฎเชพเชŸเซ‡ เชฎเซเชฒเชคเชตเซ€ เชฐเชพเช–เซเชฏเซเช‚.

PG10: เชฌเซ€เชœเซ€ เชคเช•

เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชเช• เชชเช›เซ€ เชเช• เชŠเชญเซ€ เชฅเชคเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เชนเชฒ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚:

  1. เช•เชพเชฐเชฃ เช•เซ‡ เชŸเซเชฐเชฟเช—เชฐเซเชธ เช…เชจเซ‡ ON CONFLICT เช…เชฎเชจเซ‡ เชœเชพเชฃเชตเชพ เชฎเชณเซเชฏเซเช‚ เช•เซ‡ เช…เชฎเชจเซ‡ เชนเชœเซ€ เชชเชฃ เชคเซ‡เชฎเชจเซ€ เช…เชนเซ€เช‚ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชœเชฐเซ‚เชฐ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชคเซ‡เชฎเชจเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เชคเชฌเช•เซเช•เซ‹ เชฌเชจเชพเชตเซเชฏเซ‹ เชชเซเชฐเซ‹เช•เซเชธเซ€ เชŸเซ‡เชฌเชฒ.
  2. "เชฐเชพเช‰เชŸเซ€เช‚เช—" เชฅเซ€ เช›เซเชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเซเชฏเซ‹ เชŸเซเชฐเชฟเช—เชฐเซเชธเชฎเชพเช‚ - เชเชŸเชฒเซ‡ เช•เซ‡, เชฅเซ€ EXECUTE.
  3. เชคเซ‡เช“เช เชคเซ‡เชจเซ‡ เช…เชฒเช—เชฅเซ€ เชฌเชนเชพเชฐ เช•เชพเชขเซเชฏเซเช‚ เชคเชฎเชพเชฎ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพเช“ เชธเชพเชฅเซ‡ เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชŸเซ‡เชฌเชฒเชœเซ‡เชฅเซ€ เชคเซ‡เช“ เชชเซเชฐเซ‹เช•เซเชธเซ€ เชŸเซ‡เชฌเชฒเชฎเชพเช‚ เชชเชฃ เชนเชพเชœเชฐ เชจ เชนเซ‹เชฏ.

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB
เช›เซ‡เชตเชŸเซ‡, เช† เชฌเชงเชพ เชชเช›เซ€, เช…เชฎเซ‡ เชฎเซเช–เซเชฏ เช•เซ‹เชทเซเชŸเช•เชจเซ‡ เชฎเซ‚เชณ เชฐเซ€เชคเซ‡ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเซเชฏเซเช‚. เชจเชตเชพ เชตเชฟเชญเชพเช—เชจเซ€ เชฐเชšเชจเชพ เชนเชœเซ เชชเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เช…เช‚เชคเชฐเชพเชคเซเชฎเชพ เชชเชฐ เชฌเชพเช•เซ€ เช›เซ‡.

"เชธเซ‹เช‡เช‚เช—" เชถเชฌเซเชฆเช•เซ‹เชถเซ‹

เช•เซ‹เชˆเชชเชฃ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชพเชคเซเชฎเช• เชธเชฟเชธเซเชŸเชฎเชจเซ€ เชœเซ‡เชฎ, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชฃ เชนเชคเซเช‚ "เชคเชฅเซเชฏเซ‹" เช…เชจเซ‡ "เช•เชŸ" (เชถเชฌเซเชฆเช•เซ‹เชทเซ‹). เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช† เช•เซเชทเชฎเชคเชพเชฎเชพเช‚ เชคเซ‡เช“เช เช•เชพเชฐเซเชฏ เช•เชฐเซเชฏเซเช‚, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชฌเซ‹เชกเซ€ เชธเชฎเชพเชจ เชงเซ€เชฎเซ€ เช•เซเชตเซ‡เชฐเซ€เช เช…เชฅเชตเชพ เช•เซเชตเซ‡เชฐเซ€เชจเซ‹ เชœ เชŸเซ‡เช•เซเชธเซเชŸ.

"เชคเชฅเซเชฏเซ‹" เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชฆเชฟเชตเชธ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชญเชพเช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชถเชพเช‚เชคเชฟเชฅเซ€ เชœเซ‚เชจเชพ เชตเชฟเชญเชพเช—เซ‹เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซเชฏเชพ, เช…เชจเซ‡ เชคเซ‡ เช…เชฎเชจเซ‡ เชชเชฐเซ‡เชถเชพเชจ เช•เชฐเชคเชพ เชจ เชนเชคเชพ (เชฒเซ‹เช—!). เชชเชฐเช‚เชคเซ เชถเชฌเซเชฆเช•เซ‹เชถเซ‹เชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพ เชนเชคเซ€...

เชเชฎ เช•เชนเซ‡เชตเซเช‚ เชจเชฅเซ€ เช•เซ‡ เชคเซ‡เชฎเชพเช‚เชจเชพ เช˜เชฃเชพ เชฌเชงเชพ เชนเชคเชพ, เชชเชฐเช‚เชคเซ เชฒเช—เชญเช— 100TB "เชคเชฅเซเชฏเซ‹" 2.5TB เชถเชฌเซเชฆเช•เซ‹เชถเชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเซ‡ เช›เซ‡. เชคเชฎเซ‡ เช†เชตเชพ เชŸเซ‡เชฌเชฒเชฎเชพเช‚เชฅเซ€ เช•เช‚เชˆเชชเชฃ เชธเชฐเชณเชคเชพเชฅเซ€ เช•เชพเชขเซ€ เชถเช•เชคเชพ เชจเชฅเซ€, เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชชเซ‚เชฐเชคเชพ เชธเชฎเชฏเชฎเชพเช‚ เชธเช‚เช•เซเชšเชฟเชค เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€, เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชฒเช–เชตเชพเชจเซเช‚ เชงเซ€เชฎเซ‡ เชงเซ€เชฎเซ‡ เชงเซ€เชฎเซเช‚ เชฅเชˆ เช—เชฏเซเช‚ เชนเชคเซเช‚.

เชกเชฟเช•เซเชถเชจเชฐเซ€เชจเซ€ เชœเซ‡เชฎ... เชคเซ‡เชฎเชพเช‚, เชฆเชฐเซ‡เช• เชเชจเซเชŸเซเชฐเซ€ เชฌเชฐเชพเชฌเชฐ เชเช• เชœ เชตเชพเชฐ เชฐเชœเซ‚ เชฅเชตเซ€ เชœเซ‹เชˆเช... เช…เชจเซ‡ เช† เชธเชพเชšเซเช‚ เช›เซ‡, เชชเชฃ!.. เช…เชฎเชจเซ‡ เช•เซ‹เชˆ เชฐเซ‹เช•เชคเซเช‚ เชจเชฅเซ€. เชฆเชฐเซ‡เช• เชฆเชฟเชตเชธ เชฎเชพเชŸเซ‡ เชเช• เช…เชฒเช— เชถเชฌเซเชฆเช•เซ‹เชถ! เชนเชพ, เช† เชšเซ‹เช•เซเช•เชธ เชจเชฟเชฐเชฐเซเชฅเช•เชคเชพ เชฒเชพเชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡:

  • เชเชกเชชเชฅเซ€ เชฒเช–เซ‹/เชตเชพเช‚เชšเซ‹ เชจเชพเชจเชพ เชตเชฟเชญเชพเช—เชจเชพ เช•เชฆเชจเซ‡ เช•เชพเชฐเชฃเซ‡
  • เช“เช›เซ€ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ‡ เช›เซ‡ เชตเชงเซ เช•เซ‹เชฎเซเชชเซ‡เช•เซเชŸ เช‡เชจเซเชกเซ‡เช•เซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€เชจเซ‡
  • เช“เช›เซ‹ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‹ เชœเซ‚เชจเชพเชจเซ‡ เชเชกเชชเชฅเซ€ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡

เชชเช—เชฒเชพเช‚เชจเชพ เชธเชฎเช—เซเชฐ เชธเช‚เช•เซเชฒเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡ CPU เชฒเซ‹เชก ~30%, เชกเชฟเชธเซเช• เชฒเซ‹เชก ~50% เช˜เชŸเซเชฏเซ‹:

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB
เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เช…เชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฌเชฐเชพเชฌเชฐ เช เชœ เชตเชธเซเชคเซ เชฒเช–เชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซเชฏเซเช‚, เชฎเชพเชคเซเชฐ เช“เช›เชพ เชฒเซ‹เชก เชธเชพเชฅเซ‡.

#2. เชกเซ‡เชŸเชพเชฌเซ‡เช เช‰เชคเซเช•เซเชฐเชพเช‚เชคเชฟ เช…เชจเซ‡ เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช—

เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชœเซ‡ เช›เซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชธเชฎเชพเชงเชพเชจ เช•เชฐเซเชฏเซเช‚ เชฆเชฐเซ‡เช• เชฆเชฟเชตเชธเชจเซ‹ เชชเซ‹เชคเชพเชจเซ‹ เชตเชฟเชญเชพเช— เชนเซ‹เชฏ เช›เซ‡ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡. เช–เชฐเซ‡เช–เชฐ, CHECK (dt = '2018-10-12'::date) โ€” เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชเช• เชชเชพเชฐเซเชŸเซ€เชถเชจเซ€เช‚เช— เช•เซ€ เช…เชจเซ‡ เชšเซ‹เช•เซเช•เชธ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชก เช†เชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชถเชฐเชค เช›เซ‡.

เช…เชฎเชพเชฐเซ€ เชธเซ‡เชตเชพเชฎเชพเช‚เชจเชพ เชคเชฎเชพเชฎ เช…เชนเซ‡เชตเชพเชฒเซ‹ เชšเซ‹เช•เซเช•เชธ เชคเชพเชฐเซ€เช–เชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเซ‹เชตเชพเชฅเซ€, "เชฌเชฟเชจ-เชตเชฟเชญเชพเชœเชฟเชค เชธเชฎเชฏ" เชฅเซ€ เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡เชจเชพ เชธเซ‚เชšเช•เชพเช‚เช•เซ‹ เชคเชฎเชพเชฎ เชชเซเชฐเช•เชพเชฐเชจเชพ เชนเซ‹เชฏ เช›เซ‡. (เชธเชฐเซเชตเชฐ, เชคเชพเชฐเซ€เช–, เชชเซเชฒเชพเชจ เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ), (เชธเชฐเซเชตเชฐ, เชคเชพเชฐเซ€เช–, เชชเซเชฒเชพเชจ เชจเซ‹เชก), (เชคเชพเชฐเซ€เช–, เชเชฐเชฐ เช•เซเชฒเชพเชธ, เชธเชฐเซเชตเชฐ)...

เชชเชฐเช‚เชคเซ เชนเชตเซ‡ เชคเซ‡เช“ เชฆเชฐเซ‡เช• เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชฐเชนเซ‡ เช›เซ‡ เชคเชฎเชพเชฐเซ€ เชจเช•เชฒเซ‹ เชฆเชฐเซ‡เช• เช†เชตเซ€ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ... เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชคเชพเชฐเซ€เช– เชเช• เชธเซเชฅเชฟเชฐ เช›เซ‡... เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เชนเชตเซ‡ เช†เชชเชฃเซ‡ เช†เชตเชพ เชฆเชฐเซ‡เช• เช‡เชจเซเชกเซ‡เช•เซเชธเชฎเชพเช‚ เช›เซ€เช เชซเช•เซเชค เชเช• เชธเซเชฅเชฟเชฐ เชฆเชพเช–เชฒ เช•เชฐเซ‹ เช•เซเชทเซ‡เชคเซเชฐเซ‹เชฎเชพเช‚เชจเชพ เชเช• เชคเชฐเซ€เช•เซ‡, เชœเซ‡ เชคเซ‡เชจเชพ เชตเซ‹เชฒเซเชฏเซเชฎ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชถเซ‹เชง เชธเชฎเชฏ เชฌเช‚เชจเซ‡เชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เซ‹เชˆ เชชเชฐเชฟเชฃเชพเชฎ เชฒเชพเชตเชคเซเช‚ เชจเชฅเซ€. เชคเซ‡เช“เช เชฐเซ‡เช•เชจเซ‡ เชชเซ‹เชคเชพเชจเซ€ เชคเชฐเชซ เช›เซ‹เชกเซ€ เชฆเซ€เชงเซเช‚, เช…เชฐเซ‡...

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB
เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ€ เชฆเชฟเชถเชพ เชธเซเชชเชทเซเชŸ เช›เซ‡ - เชธเชฐเชณ เชคเชฎเชพเชฎ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพเช“เชฎเชพเช‚เชฅเซ€ เชคเชพเชฐเซ€เช– เชซเซ€เชฒเซเชก เชฆเซ‚เชฐ เช•เชฐเซ‹ เชตเชฟเชญเชพเชœเชฟเชค เช•เซ‹เชทเซเชŸเช•เซ‹ เชชเชฐ. เช…เชฎเชพเชฐเชพ เชตเซ‹เชฒเซเชฏเซเชฎเซ‹ เชœเซ‹เชคเชพเช‚, เชฒเชพเชญ เชฒเช—เชญเช— เช›เซ‡ 1TB/เช…เช เชตเชพเชกเชฟเชฏเซเช‚!

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เชจเซ‹เช‚เชง เชฒเชˆเช เช•เซ‡ เช† เชŸเซ‡เชฐเชพเชฌเชพเชˆเชŸ เชนเชœเซ เชชเชฃ เช•เซ‹เชˆเช• เชฐเซ€เชคเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเชตเชพเชจเซ€ เชนเชคเซ€. เชเชŸเชฒเซ‡ เช•เซ‡ เช†เชชเชฃเซ‡ เชชเชฃ เชกเชฟเชธเซเช• เชนเชตเซ‡ เช“เช›เซ€ เชฒเซ‹เชก เชฅเชตเซ€ เชœเซ‹เชˆเช! เช† เชšเชฟเชคเซเชฐ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชธเชซเชพเชˆเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเชพเชชเซเชค เช…เชธเชฐ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡, เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เชเช• เช…เช เชตเชพเชกเชฟเชฏเซเช‚ เชธเชฎเชฐเซเชชเชฟเชค เช•เชฐเซเชฏเซเช‚:

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB

#3. เชชเซ€เช• เชฒเซ‹เชก "เชซเซ‡เชฒเชพเชตเชตเซเช‚".

เชฒเซ‹เชก เชฅเชฏเซ‡เชฒ เชธเชฟเชธเซเชŸเชฎเซ‹เชจเซ€ เชฎเซ‹เชŸเซ€ เชฎเซเชถเซเช•เซ‡เชฒเซ€เช“เชฎเชพเช‚เชจเซ€ เชเช• เช›เซ‡ เชฐเซ€เชกเชจเซเชกเชจเซเชŸ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เช•เซ‡เชŸเชฒเชพเช• เช“เชชเชฐเซ‡เชถเชจ เช•เซ‡ เชœเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชคเซ€ เชจเชฅเซ€. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ "เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“เช เชงเซเชฏเชพเชจ เช†เชชเซเชฏเซเช‚ เชจ เชนเชคเซเช‚", เช•เซเชฏเชพเชฐเซ‡เช• "เชคเซ‡ เชคเซ‡ เชฐเซ€เชคเซ‡ เชธเชฐเชณ เชนเชคเซเช‚", เชชเชฐเช‚เชคเซ เชตเชนเซ‡เชฒเชพ เช•เซ‡ เชชเช›เซ€ เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชจเชพเชฅเซ€ เช›เซ‚เชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชตเซ‹ เชชเชกเชถเซ‡.

เชšเชพเชฒเซ‹ เชชเชนเซ‡เชฒเชพเชจเชพ เชšเชฟเชคเซเชฐ เชชเชฐ เชเซ‚เชฎ เช‡เชจ เช•เชฐเซ€เช เช…เชจเซ‡ เชœเซ‹เชˆเช เช•เซ‡ เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เชกเชฟเชธเซเช• เช›เซ‡ เชกเชฌเชฒ เช•เช‚เชชเชจเชตเชฟเชธเซเชคเชพเชฐ เชธเชพเชฅเซ‡ เชฒเซ‹เชก เชนเซ‡เช เชณ "เชชเช‚เชช". เชจเชœเซ€เช•เชจเชพ เชจเชฎเซ‚เชจเชพเช“ เชตเชšเซเชšเซ‡, เชœเซ‡ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ "เช†เช‚เช•เชกเชพเช•เซ€เชฏ เชฐเซ€เชคเซ‡" เช†เชตเซ€ เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เช•เชพเชฎเช—เซ€เชฐเซ€ เชธเชพเชฅเซ‡ เชจ เชฅเชตเซเช‚ เชœเซ‹เชˆเช:

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB

เช† เชนเชพเช‚เชธเชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡. เช…เชฎเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เชถเชฐเซ‚ เช•เชฐเซ€ เชฆเซ€เชงเซเช‚ เช›เซ‡ เชฒเช—เชญเช— 1000 เชธเชฐเซเชตเชฐเซเชธ, เชฆเชฐเซ‡เช• เชเช• เช…เชฒเช— เชฒเซ‹เชœเชฟเช•เชฒ เชฅเซเชฐเซ‡เชก เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชฅเซเชฐเซ‡เชก เชšเซ‹เช•เซเช•เชธ เช†เชตเชฐเซเชคเชจ เชชเชฐ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡ เชธเช‚เชšเชฟเชค เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชธเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡, เช•เช‚เชˆเช• เช†เชจเชพ เชœเซ‡เชตเซเช‚:

setInterval(sendToDB, interval)

เช…เชนเซ€เช‚ เชธเชฎเชธเซเชฏเชพ เช เชนเช•เซ€เช•เชคเชฎเชพเช‚ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เชฐเชนเซ‡เชฒเซ€ เช›เซ‡ เช•เซ‡ เชฌเชงเชพ เชฅเซเชฐเซ‡เชกเซ‹ เชฒเช—เชญเช— เชเช• เชœ เชธเชฎเชฏเซ‡ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡, เชคเซ‡เชฅเซ€ เชคเซ‡เชฎเชจเชพ เชฎเซ‹เช•เชฒเชตเชพเชจเซ‹ เชธเชฎเชฏ เชฒเช—เชญเช— เชนเช‚เชฎเซ‡เชถเชพ "เชฌเชฟเช‚เชฆเซ เชชเชฐ" เชเช•เชฐเซเชช เชนเซ‹เชฏ เช›เซ‡. เช…เชฐเซ‡ #2...

เชธเชฆเชจเชธเซ€เชฌเซ‡, เช†เชจเซ‡ เช เซ€เช• เช•เชฐเชตเซเช‚ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡, "เชฐเซ‡เชจเซเชกเชฎ" เชฐเชจ-เช…เชช เช‰เชฎเซ‡เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชธเชฎเชฏ เชฆเซเชตเชพเชฐเชพ:

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

#4. เช†เชชเชฃเซ‡ เชœเซ‡ เชœเซ‹เชˆเช เชคเซ‡ เช•เซ‡เชถ เช•เชฐเซ€เช เช›เซ€เช

เชคเซเชฐเซ€เชœเซ€ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชนเชพเช‡เชฒเซ‹เชก เชธเชฎเชธเซเชฏเชพ เช›เซ‡ เช•เซ‹เชˆ เช•เซ‡เชถ เชจเชฅเซ€ เชคเซ‡ เช•เซเชฏเชพเช‚ เช›เซ‡ เชถเช•เชตเซเช‚ เชนเซ‹เชตเซเช‚.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชฎเซ‡ เชชเซเชฒเชพเชจ เชจเซ‹เชกเซเชธเชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡ (เช† เชฌเชงเชพ Seq Scan on users), เชชเชฐเช‚เชคเซ เชคเชฐเชค เชœ เชตเชฟเชšเชพเชฐเซ‹ เช•เซ‡ เชคเซ‡เช“, เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡, เชธเชฎเชพเชจ เช›เซ‡ - เชคเซ‡เช“ เชญเซ‚เชฒเซ€ เช—เชฏเชพ.

เชจเชพ, เช…เชฒเชฌเชคเซเชค, เชกเซ‡เชŸเชพเชฌเซ‡เช เชชเชฐ เชซเชฐเซ€เชฅเซ€ เช•เช‚เชˆเชชเชฃ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเชคเซเช‚ เชจเชฅเซ€, เช† เชŸเซเชฐเชฟเช—เชฐเชจเซ‡ เช•เชพเชชเซ€ เชจเชพเช–เซ‡ เช›เซ‡ INSERT ... ON CONFLICT DO NOTHING. เชชเชฐเช‚เชคเซ เช† เชกเซ‡เชŸเชพ เชนเชœเซ เชชเชฃ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชฌเชฟเชจเชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เชธเช‚เช˜เชฐเซเชทเชจเซ€ เชคเชชเชพเชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชพเช‚เชšเชจ เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡. เช…เชฐเซ‡ #3...

เช•เซ‡เชถเซ€เช‚เช— เชธเช•เซเชทเชฎ เช•เชฐเซเชฏเชพ เชชเชนเซ‡เชฒเชพ/เชชเช›เซ€ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชฐเซ‡เช•เซ‹เชฐเซเชกเชจเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชคเชซเชพเชตเชค เชธเซเชชเชทเซเชŸ เช›เซ‡:

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB

เช…เชจเซ‡ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฒเซ‹เชกเชฎเชพเช‚ เช† เชธเชพเชฅเซ‡เชจเซ‹ เช˜เชŸเชพเชกเซ‹ เช›เซ‡:

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB

เช•เซเชฒ

"เชŸเซ‡เชฐเชพเชฌเชพเช‡เชŸ-เชชเซเชฐเชคเชฟ-เชฆเชฟเชตเชธ" เชฎเชพเชคเซเชฐ เชกเชฐเชพเชฎเชฃเซ€ เชฒเชพเช—เซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชฌเชงเซเช‚ เชฌเชฐเชพเชฌเชฐ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เช† เชจเซเชฏเชพเชฏเซ€ เช›เซ‡ 2^40 เชฌเชพเช‡เชŸเซเชธ / 86400 เชธเซ‡เช•เชจเซเชก = ~12.5MB/sเช•เซ‡ เชœเซ‡ เชกเซ‡เชธเซเช•เชŸเซ‹เชช IDE เชธเซเช•เซเชฐเซ‚ เชชเชฃ เชงเชฐเชพเชตเซ‡ เช›เซ‡. ๐Ÿ™‚

เชชเชฐเช‚เชคเซ เช—เช‚เชญเซ€เชฐเชคเชพเชชเซ‚เชฐเซเชตเช•, เชฆเชฟเชตเชธ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฒเซ‹เชกเชจเชพ เชฆเชธ เช—เชฃเชพ "เชธเซเช•เซเชฏเซ" เชธเชพเชฅเซ‡ เชชเชฃ, เชคเชฎเซ‡ เช†เชงเซเชจเชฟเช• SSD เชจเซ€ เช•เซเชทเชฎเชคเชพเช“เชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชชเซ‚เชฐเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เช…เชฎเซ‡ เชธเชฌเชฒเชพเช‡เชŸ เชชเชฐ PostgreSQL เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช: 1 เชนเซ‹เชธเซเชŸ, 1 เชฆเชฟเชตเชธ, 1TB

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹