เบเบฒเบเปเบเบเบฒเบชเบฒเบเบญเบเบเบปเบเบเบงเบฒเบกเปเบเปเบเบทเบเบเบฐเบเบฝเบกเปเบเบเบชเบฐเปเบเบฒเบฐเบชเปเบฒเบฅเบฑเบเบเบฑเบเบชเบถเบเบชเบฒเบเบญเบเบซเบผเบฑเบเบชเบนเบ
PostgreSQL เปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบฒเบเบเบฝเบเบชเบฐเปเบเบฒเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเป
เบขเบนเปเบเบตเป Compose, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฒเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเปเบฒเบเบงเบเบซเบผเบฒเบ, เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเบเบธเปเบเปเบเบตเบเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบฅเบฐเบเปเปเบเบปเบเบเปเบญเบเบเบญเบเบเบงเบเปเบเบปเบฒเบซเบผเบฒเบเบเบถเปเบ. เปเบเบเบฐเบเบฐเบเบตเปเบเบงเบเปเบฎเบปเบฒเบฎเบฝเบเบฎเบนเปเบเบตเปเบเบฐเบฎเบฑเบเบเบธเบเบเบฐเบชเบปเบกเบเบฑเบเบเบญเบเบเบฒเบเบเปเปเบกเบนเบเปเบซเบกเป, เบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบดเบเบงเปเบฒเบกเบฑเบเบเบฐเบเบฒเบกเปเบเบงเปเบเบเปเบฒเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบขเบนเปเปเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเปเบซเบเปเบเบงเปเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบ. เบซเบเบถเปเบเปเบเบฅเบฑเบเบชเบฐเบเบฐเปเบซเบกเปเบเบตเปเบเปเบญเบเบขเบฒเบเปเบซเบฑเบเปเบ PostgreSQL เปเบกเปเบเบเปเบฒเบเบปเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบญเบเบเบฒเบเบเบฝเบเบเปเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบเบปเปเบงเบเบธเปเบกเบเบฑเบเบซเบกเบปเบ. เปเบฅเบฐเบเปเบญเบเบงเปเบฒเบกเบฑเบเบซเบฑเบเบญเบญเบ, เบเบงเบเปเบฎเบปเบฒเบกเบตเบกเบฑเบเบขเบนเปเปเบฅเปเบง, เปเบฅเบฐเบกเบทเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบขเบฒเบเปเบเปเบเบเบฑเบเปเบซเปเบเปเบฒเบเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบกเบฑเบ.
เปเบเบฑเบเบซเบเบฑเบเบเปเบญเบเบเบถเปเบเบเปเบญเบเบเบฒเบเบกเบฑเบ?
เปเบเบงเปเบเบเบธเปเบกเบเบงเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบถเปเบเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเปเบฒเบ. เบเบปเบเบเบปเบงเบขเปเบฒเบ, เปเบญเบฑเบเบเบฒเบเบเปเบฒเบเปเบเบดเบเปเบเบเบดเบ. เบเปเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบ XNUMX% เปเบเบเบปเปเบงเบเบธเปเบก, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบเบฐเบเปเบญเบเปเบเบตเบเปเบเปเบเบฒเบ synchronous commits เปเบเบทเปเบญเปเบซเปเบเบฒเบเบเปเปเบกเบนเบเบเบญเบเบเปเบฒเบเบฅเปเบเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเบเบฑเบเบซเบกเบปเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเปเบฒเบเปเบกเปเบเปเบเบทเบญเบเปเบฒเบเบชเบฑเบเบเบปเบกเบเบตเปเปเบเบตเบเปเบเปเบง, เบเปเบฒเบเบญเบฒเบเบเบฐเบกเบฑเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเปเบงเบซเบผเบฒเบเบเบงเปเบฒเบเบงเบฒเบกเบชเบญเบเบเปเบญเบ XNUMX%. เปเบเบทเปเบญเบเบฑเบเบฅเบธเบชเบดเปเบเบเบตเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒ asynchronous เปเบเบเบธเปเบกเบเบญเบเบเปเบฒเบ.
เบเบปเบเบเบฑเบเบเบฒเบเบเบฐเบเบตเบเบฐเบเบญเบก
เบเปเบฒเบเบเปเบญเบเปเบฎเบฑเบเบเบฒเบเบเปเบฒเบฅเบฐเบซเบงเปเบฒเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบญเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบ. PostgreSQL เบเปเบฒเบเบญเบญเบเปเบเบเบฒเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเปเบเบฒเบฐเบงเปเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบกเปเบเบชเบฒเบกเบฒเบเบเบฒเบเปเบเบปเบฒเปเบเปเปเบฅเบฐเบเปเปเบกเบตเบเบงเบฒเบกเปเบเบเปเบเบเบตเปเบเปเปเบเบฒเบเบเบดเบ. เบเบญเบเบเบตเปเปเบซเปเปเบเบดเปเบเบเบฒเบเบเบฐเบเบตเบเบฐเบเบญเบก.
Tradeoff 1: เบเบฒเบเบเบฐเบเบดเบเบฑเบ
เบเปเบฒเบเบธเปเบก PostgreSQL เบเปเปเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบ, เบกเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเบ asynchronously. เบเบฒเบเบเบฝเบเปเบกเปเบเปเบฎเบฑเบเปเบเบซเบฒเบเบนเปเบเปเบฒเบเบธเปเบก, เปเบฅเบฐเบเบฒเบเบเบฑเบเบเบธเบเบเบฐเบเบทเบเบชเบปเปเบเปเบเบซเบฒเบเบปเบงเปเบเบเบเปเบฒเบฅเบญเบเบเบญเบเบกเบฑเบเปเบเบชเบญเบเบชเบฒเบกเบกเบดเบฅเบดเบงเบดเบเบฒเบเบตเบเปเปเบกเบฒ. เปเบกเบทเปเบญเบเบธเปเบก PostgreSQL เบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบ, เบกเบฑเบเบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบ synchronously. เบเบฒเบเบเบฝเบเบเบฐเบเบทเบเปเบฎเบฑเบเปเบเบซเบฒเบเบนเปเบเปเบฒเบเบธเปเบก, เปเบเบดเปเบเบเบฐเบชเบปเปเบเบเบฒเบเบเบฑเบเบเบธเบเปเบซเปเบเบฑเบ replicas เปเบฅเบฐเบฅเปเบเปเบฒเบเบฒเบเบขเบทเบเบขเบฑเบเบงเปเบฒเปเบเปเบฅเบฐเบเบปเบเปเบเปเบเบฝเบเบเปเบญเบเบเบตเปเบเบฐเบชเบปเปเบเบเบฒเบเบขเบทเบเบขเบฑเบเบเบฑเบเบฅเบนเบเบเปเบฒเบเบตเปเบฅเบดเปเบฅเบตเปเบกเบเบฒเบเบเบฝเบเบงเปเบฒเบกเบฑเบเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ. เบเบงเบฒเบกเปเบเบเบเปเบฒเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบงเบดเบเบตเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบงเปเบฒเบงเบดเบเบตเบเบฒเบ asynchronous เบเปเบญเบเบเบฒเบเบชเบญเบเปเบเบทเบญเบเปเบฒเบ hops, เปเบเบเบฐเบเบฐเบเบตเปเบงเบดเบเบตเบเบฒเบ synchronous เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบชเบตเป.
Tradeoff 2: เบเบงเบฒเบกเบชเบญเบเบเปเบญเบ
เบเบปเบเปเบเปเบฎเบฑเบเปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบงเบเบญเบเบเบนเปเบเปเบฒเปเบเบชเบญเบเบงเบดเบเบตเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฑเบเบเบฐเปเบเบเบเปเบฒเบเบเบฑเบ. เบเปเบฒเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบทเบเบเบฐเบเบดเบเบฑเบเบเปเปเบเบปเบเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเปเปเบเบดเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเปเบเบตเบเบเบทเปเบ, เบเปเปเปเบกเปเบเบเบฑเบเบเบถเบเบเบฑเบเบซเบกเบปเบเบเบฐเบเบทเบเปเบฎเบฑเบเปเบเบ replicas. เบเบฐเปเบชเบเปเบเบปเปเบฒเปเบ? เบเบถเปเบเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบปเบงเบกเบฑเบเปเบญเบเปเบฅเบฐเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบเบเบฒเบเบเปเบฒเบฅเบญเบ. Compose replication เบเบฐเบเปเบญเบเบเบฑเบเบเปเปเปเบซเป replica เบเบฒเบเบเบฒเบเบเบฒเบเปเบเบฑเบเบเบนเปเบเปเบฒเบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเบฒเบเบงเบเบเปเปเบกเบนเบเปเบเบกเบฑเบเปเบกเปเบ 1 MB เบซเบเปเบญเบเบเปเบงเบฒเบเบนเปเบเปเบฒ, เบเบฑเปเบเปเบกเปเบ, เปเบเบดเบ 1 MB เบเบญเบเบเบฑเบเบเบถเบเบญเบฒเบเบเบฐเบชเบนเบเปเบชเบเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ asynchronous.
เบเบตเปเบเปเปเปเบเปเปเบเบตเบเบเบถเปเบเปเบเปเบซเบกเบ synchronous. เบเปเบฒเบเบนเปเบเปเบฒเบฅเบปเปเบกเปเบซเบฅเบง, เบเบฒเบเบเปเบฒเบฅเบญเบเบเบฑเบเบซเบกเบปเบเบเบฐเบเบทเบเบเบฑเบเบเบธเบ, เบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเบเบฝเบเปเบเปเบเบตเปเบขเบทเบเบขเบฑเบเบเปเบฝเบงเบเบฑเบเบเบนเปเบเปเบฒเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบขเบทเบเบขเบฑเบเปเบเปเบเบเบเปเบฒเบฅเบญเบ. เบเบตเปเปเบกเปเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบ.
เบเบถเบเบเบดเบเปเบฒ synchronous เปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเปเบญเบตเปเบเปเบเบฑเบเปเบเบดเบเบเบตเปเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบกเบตเบเบฐเปเบซเบเบเบเบตเปเบเบฑเบเปเบเบเปเบเบเบฒเบเบเบทเปเบเบฒเบเบฅเบฐเบซเบงเปเบฒเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบ. เบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเบเปเบญเบ. เบเบญเบเบเบตเปเบเบดเบเบเปเบฝเบงเบเบฑเบเปเบเบทเบญเบเปเบฒเบเบชเบฑเบเบเบปเบกเบเบตเปเบงเบฝเบเบเบฒเบเบเบปเปเบเบเปเปเบกเปเบเปเบเบทเปเบญเบฎเบฑเบเบชเบฒเบเบงเบฒเบกเบชเบปเบเปเบเบเบญเบเบเบนเปเปเบเปเปเบเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบเปเบฒเบฎเปเบญเบเบเปเปเบงเปเบเบปเปเบฒเบเบตเปเบเบฐเปเบงเปเบเป. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฑเบ hops เปเบเบทเบญเบเปเบฒเบเบซเบเปเบญเบเปเบฅเบฐเบเบฒเบเบฅเปเบเปเบฒเบซเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบฐเปเบเบฑเบเบเบนเบฅเบดเบกเบฐเบชเบดเบ. เบขเปเบฒเบเปเบเบเปเปเบเบฒเบก, เบเบฒเบเปเบฅเบเบเปเบฝเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบฅเบฐเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเปเปเปเบกเปเบเบชเบดเปเบเบเบฝเบงเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบดเบเบเปเบฝเบงเบเบฑเบ.
Trade-off 3: เบเบฒเบเบเบฑเบเบเปเบญเบ
เบกเบฑเบเปเบเบฑเบเบชเบดเปเบ เบชเบณ เบเบฑเบเบซเบผเบฒเบเบเบตเปเบเบฐเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบธเปเบกเบเบฐเบเบดเบเบฑเบเบเบปเบงเปเบเบงเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบฅเบปเปเบกเปเบซเบฅเบง. เบเบดเบเบฒเบฅเบฐเบเบฒเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบ replicas เบฅเบปเปเบกเปเบซเบฅเบง. เปเบกเบทเปเบญเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบทเบเบเบฐเบกเบงเบเบเบปเบ asynchronously, เบเบนเปเบเปเบฒเบเบฐเบชเบทเบเบเปเปเปเบฎเบฑเบเบงเบฝเบ, เบเบฑเปเบเปเบกเปเบ, เบเบญเบกเบฎเบฑเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฝเบ, เปเบเบเบเปเปเบกเบตเบเบฒเบเบฅเปเบเปเบฒเบชเปเบฒเบฅเบฑเบ replicas เบเบตเปเบเบฒเบเบซเบฒเบเปเบ. เปเบเปเบงเบฅเบฒเบเบตเป replicas เบเบฑเบเบเบทเบเบชเบนเป cluster, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเบเบฑเบเบเบฑเบเบเบนเปเบเปเบฒ. เบเปเบงเบเบเบฒเบเบเปเบฒเบฅเบญเบเปเบเบ synchronous, เบเปเบฒ replicas เบเปเปเบเบญเบเบชเบฐเบซเบเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบนเปเบเปเบฒเบเบฐเบเปเปเบกเบตเบเบฒเบเปเบฅเบทเบญเบเปเบฅเบฐเบเบฐเบชเบทเบเบเปเปเบฅเปเบเปเบฒเบเบฒเบเบขเบทเบเบขเบฑเบเบเบญเบเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบปเบเบเปเบงเบฒ replica เบเบฑเบเบเบทเบเบชเบนเป cluster เปเบฅเบฐเบชเบฒเบกเบฒเบเบเบญเบกเบฎเบฑเบเปเบฅเบฐเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบฒเบเบเบฝเบ.
เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบซเบเบถเปเบเบเปเปเบเบธเบฅเบฐเบเปเบฒ?
เบเบธเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเปเบญเบเบเบฒเบเบเบฐเปเบเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบญเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบญเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบ. เปเบงเบฑเปเบเปเบชเบเปเบเป, เปเบเปเบเบญเบ, เบกเบฑเบเปเบเบฑเบ app เบเปเบฒเบเปเบเบเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบดเบเบเบฐเบเบฒเบเบฒเบเบเบตเปเบเบฐเบชเบญเบเบเปเบญเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ, เบซเบผเบทเปเบเบทเบญเบ ephemeral app เปเบเบทเบญเบเปเบฒเบเบชเบฑเบเบเบปเบกเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เปเบเบเบธเบเบเปเบฅเบฐเบเบตเบญเบทเปเบเป, เบเบฐเบกเบตเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบญเบเบเบทเบ synchronous เปเบฅเบฐเบเบฒเบเบญเบฑเบเบเปเบญเบ asynchronous. เบเปเบฒเบเบญเบฒเบเบเบฐเบเปเปเบเปเบญเบเบเบฒเบเปเบซเปเบฅเบฐเบเบปเบเบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒเบเปเปเบเบงเบฒเบกเบเบตเปเบชเบปเปเบเปเบเบซเบฒเบเบฒเบเบชเบปเบเบเบฐเบเบฒเปเบกเปเบเบซเบกเบฑเปเบเบชเบฑเบเบเบฒ, เปเบเปเบเปเบฒเบเบฒเบเบเปเบฒเบเปเบเบดเบเบเบทเบเบเปเบฒเปเบเบตเบเบขเบนเปเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฝเบงเบเบฑเบ, เบเปเบฒเบเบเบฐเบเปเบญเบเบฅเปเบเปเบฒ.
เบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเป, เปเบเปเบเบญเบ, เปเบกเปเบเปเบฎเบฑเบเปเบเบเบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ. เบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบตเปเบเบทเบเบเปเบญเบเบเปเบฝเบงเบเบฑเบเปเบงเบฅเบฒเบเบตเปเบเบฐเปเบเปเปเบเปเบฅเบฐเบงเบดเบเบตเบเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเปเบเปเบเบฐเปเบซเบเบเบชเบนเบเบชเบธเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเปเบฒเบ. เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเบเบตเปเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบชเบฒเบกเบฒเบเบเปเบฝเบเบฅเบฐเบซเบงเปเบฒเบเบเบงเบเปเบเบปเบฒเปเบเบฅเบฐเบเบฑเบ SQL เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบฅเบฐเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ.
เบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบงเบเบเบธเบกเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ
เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, PostgreSQL เบชเบฐเบซเบเบญเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบ. เบญเบฑเบเบเบตเปเบเบทเบเบเบงเบเบเบธเบกเปเบเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบเบตเบเปเบงเบต synchronous_commit
. เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบกเบฑเบเบขเบนเปเปเบเบเปเบฒเปเบซเบเปเบ on
, เปเบเปโเบงเปเบฒโเบกเบฑเบโเบกเบตโเบชเบฒเบกโเบเบฒเบโเปเบฅเบทเบญเบโเบญเบทเปเบโ: local
, remote_write
เบซเบผเบท off
.
เปเบกเบทเปเบญเบเปเบฒเบเบปเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบเบฑเบ off
เบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒ synchronous เบเบฑเบเบซเบกเบปเบเปเบกเปเบเบขเบธเบเปเบเบปเบฒ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบขเบนเปเปเบเบฅเบฐเบเบปเบเบเปเบญเบเบเบดเปเบ. เบเบฒเบฅเบฒเบกเบดเปเบเบตเบเปเบญเบเบเบดเปเบเบเปเบฒเบเบปเบเปเบซเบกเบ synchronous เบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเปเบญเบเบเบดเปเบ, เปเบเปเบเบฒเบเบเบฝเบเปเบเบเบเปเบฒเบฅเบญเบเบเบทเบเบเบฐเบเบดเบเบฑเบ asynchronously. Remote_write
เบเปเปเปเบเบญเบตเบเปเบฅเปเบง: เบเบฒเบเบเบฝเบเปเบเบเบเปเบฒเบฅเบญเบเปเบกเปเบเปเบฎเบฑเบเปเบเบเบเปเปเบเบปเบเบเบฑเบ, เปเบเปเบเบทเบเบชเบปเปเบเบเบทเบเปเบกเบทเปเบญ replica เปเบเปเบเบญเบกเบฎเบฑเบเบเบฒเบเบเบฝเบเปเบเปเบเปเปเปเบเปเบเบฝเบเบกเบฑเบเปเบชเปเปเบเปเบ.
เปเบเบเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบกเบตเบขเบนเป, เบเบงเบเปเบฎเบปเบฒเปเบฅเบทเบญเบเบเบถเบเบเบดเบเปเบฒเปเบฅเบฐ, เบเบทเปเปเบงเปเบงเปเบฒ on
โ เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบเบฒเบเบเบฑเบเบเบถเบ synchronous, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฅเบทเบญเบเปเบญเบปเบฒ local
เบชเปเบฒเบฅเบฑเบ asynchronous commits เปเบเปเบฅเบเบฐเปเบเบทเบญเบเปเบฒเบ, เปเบเบเบฐเบเบฐเบเบตเปเบญเบญเบเบเบฒเบเบเปเบญเบเบเบดเปเบ commits synchronous.
เบเบฝเบงเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบญเบเบเปเบฒเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเปเบเปเบงเบฅเบฒเบเบฝเบง, เปเบเปเบเบดเบเบเบฐเบเบฒเบเบฒเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฑเปเบเบเปเบฒ synchronous_commit
ะฒ local
เบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ. เบเบงเบเปเบฎเบปเบฒเบชเบปเบเปเบชเบงเปเบฒเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเปเบฝเบเบเบฒเบฅเบฒเบกเบดเปเบเบต synchronous_commit
เปเบโเบเบฒเบโเบเบดเบโ, เปเบฅเบฐโเบกเบฑเบโเปเบเปโเบซเบฑเบโเบญเบญเบโเบงเปเบฒโเบกเบฑเบโเบเปเปโเบเบฝเบโเปเบเปโเปเบเบฑเบโเปเบโเปเบเปโ, เบกเบตโเปเบเบดเบโเปเบกเปเบโเบงเปเบฒโเบชเบญเบโเบงเบดโเบเบตโเบเบตเปโเบเบฐโเปเบฎเบฑเบโเบชเบดเปเบโเบเบตเปโ. เบเปเบฒเบญเบดเบเปเบกเปเบเบเปเบฒเบเบปเบ session เบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบญเบเบเปเบฒเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
SET SESSION synchronous_commit TO ON;
// Your writes go here
เบเบธเบเปเบเบฒเบเบเบฝเบเบเปเปเปเบเปเบเปเบเบเบเบฑเบเบเบฐเบฎเบฑเบเบฎเบนเปเบเบฒเบเบเบฝเบเบเบทเบเปเบซเบกเปเบเปเบญเบเบเบตเปเบเบฐเบชเบปเปเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบเบฒเบเบเบงเบเปเบซเปเบเบฑเบเบฅเบนเบเบเปเบฒเบเบตเปเปเบเบทเปเบญเบกเบเปเป. เปเบงเบฑเปเบเปเบชเบเปเบเปเปเบเปเบเบญเบเบเปเบฒเบเบเปเบฝเบเบเบฒเบเบเบฑเปเบเบเปเบฒ synchronous_commit
เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเบเบปเบโเปเบงเบฑเปเบโเบชเปเบงเบโเบซเบเบถเปเบโ SESSION
เปเบเบเปเบฒเบชเบฑเปเบเปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบกเบฑเบเบเบฐเบขเบนเปเปเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ.
เบงเบดเบเบตเบเบฒเบเบเบตเบชเบญเบเปเบกเปเบเบเบตเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเปเบซเปเปเบเปเปเบเบงเปเบฒเบเปเบฒเบเปเบเปเบฎเบฑเบ replication synchronous เบชเปเบฒเบฅเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบฝเบง. เปเบเบซเบผเบฒเบเปเบเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบฐเบฅเบดเบ NoSQL เปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเปเปเบกเบต, เปเบเปเบกเบฑเบเปเบฎเบฑเบเปเบ PostgreSQL. เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบ synchronous_commit
ะฒ on
เบเปเบญเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบปเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ. COMMIT
เบเบฐเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบเบเปเบเปเบเปเบฒเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบเป synchronous_commit
, เปเบเบดเปเบเปเบเปเบเบทเบเบเปเบฒเบเบปเบเปเบเปเบงเบฅเบฒเบเบฑเปเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบฑเบเปเบเบฑเบเบเบฒเบเบเบตเบเบตเปเบชเบธเบเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบเบปเบงเปเบเบฅเปเบงเบเบซเบเปเบฒเปเบเบทเปเบญเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบนเปเบเบฑเบเบเบฐเบเบฒเบญเบทเปเบเปเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบฒเบเบเบฝเบเบเปเปเปเบกเปเบ asynchronous.
BEGIN;
SET LOCAL synchronous_commit TO ON;
// Your writes go here
COMMIT;
เบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบฑเบเบซเบกเบปเบเปเบเบเบฑเบเบเบธเบเบฑเบเบเบฐเบเบทเบเบขเบทเบเบขเบฑเบเปเบเบฑเบเบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบเบเบฑเบ replicas เบเปเบญเบเบเบตเปเบเบฒเบเบเปเปเบกเบนเบเบเบฐเบชเบปเปเบเบเบทเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเปเบเบเบฒเบเบเบงเบเบเบฑเบเบฅเบนเบเบเปเบฒเบเบตเปเปเบเบทเปเบญเบกเบเปเป.
เบเบฒเบเบเบฑเปเบเบเปเบฒ PostgreSQL
เบเปเบญเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบดเบเบเบฐเบเบฒเบเบฒเบเบฅเบฐเบเบปเบ PostgreSQL เบเบฑเบ synchronous_commit
, เบเบดเบโเบเบฑเปเบโเปเบโ local
. เปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเปเบเบฑเบเบเบดเบเปเบเบเปเบฒเบเปเบเบตเบเปเบงเบต, เบเปเบฒเบเบเบฐเบเปเบญเบเบเปเบฒเบเบปเบเบชเบญเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ. เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเปเบเบตเปเบกเปเบเบตเบก synchronous_standby_names
เบเบฐเปเบเบปเปเบฒเบกเบฒเปเบเบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบกเบทเปเบญเปเบ synchronous_commit
เบเบฐเบขเบนเปเปเบ on
. เบกเบฑเบเบเปเบฒเบเบปเบเบงเปเบฒ replicas เปเบเบเบตเปเบกเบตเบชเบดเบเปเบเปเบฎเบฑเบเบชเปเบฒเบฅเบฑเบ synchronous commits, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฑเปเบเบกเบฑเบเปเบเบฑเบ. *
, เปเบเบดเปเบเบเบฐเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ replicas เบเบฑเบเบซเบกเบปเบเบกเบตเบชเปเบงเบเบฎเปเบงเบก. เบเปเบฒเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบเบปเบเบเบฐเบเบดเปเบฅเปเบง configured เปเบ
synchronous_commit = local
synchronous_standby_names='*'
เปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบฅเบฒเบกเบดเปเบเบต synchronous_commit
เปเบเบปเปเบฒเปเบเปเบเบเบงเบฒเบกเบซเบกเบฒเบ local
, เบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบฅเบฐเบเบปเบเบเบตเปเปเบเปเบเบเปเบญเบเบเบดเปเบเบเบฑเบเบเบปเบ synchronous, เปเบเปเบเบฒเบ replica เปเบเบทเบญเบเปเบฒเบเปเบกเปเบ asynchronous เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ. เปเบงเบฑเปเบเปเบชเบเปเบเป, เปเบเปเบเบญเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบชเบดเบเปเบเปเบฎเบฑเบเปเบซเปเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเปเบซเบผเบปเปเบฒเบเบตเป synchronous, เบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบเปเบฒเบเปเบเบดเบ.
เบเปเบฒเบเปเบฒเบเปเบเปเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเบฒเบเบเบฑเบเบเบฐเบเบฒ
เบญเบตเบเบชเบญเบเบชเบฒเบกเบเบณ...
เบเบฝเบเปเบเปเบซเบเบถเปเบเบญเบฒเบเบดเบเบเปเบญเบเบซเบเปเบฒเบเบตเป, เบเปเบญเบเบเบฐเบเบญเบเปเบเบปเปเบฒเบงเปเบฒเบกเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเบเบฑเบ PostgreSQL เปเบซเปเบฅเบฐเบญเบฝเบ. เบเบฑเปเบเปเบกเปเบเปเบงเบฅเบฒเบเบตเป Kurt, เบชเบฐเบกเบฒเบเบดเบเบเบญเบเบเบตเบกเบเบฒเบเปเบงเบเบต Compose, เบขเบทเบเบขเบฑเบเบงเปเบฒเปเบญเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบกเบตเบขเบนเป. เบฅเบฒเบงเบชเบฐเบซเบเบปเบเบเบฒเบเบเบฑเบเบเปเบฒเบเบเบญเบเบเปเบญเบเปเบฅเบฐเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบเปเบญเบเบฐเบชเบฒเบ PostgreSQL
เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเบธเบเปเบงเบฅเบฒ. เบเบถเบเบเบดเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบเบซเบเบถเปเบเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบกเบตเบเบปเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเปเบฅเบฐเปเบเบฑเบเบเบฐเปเบซเบเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบฒเบเบขเปเบฒเบเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบ synchronously เปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบเบปเบเบญเบทเปเบ asynchronously. เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เบเบฑเบเบเบฑเบเบซเบเบถเปเบ multistatement
เบเบธเบฅเบฐเบเปเบฒเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒ asynchronously เปเบกเบทเปเบญเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบปเบเบเบฑเบเบเปเบฒเบก, เบเบฑเปเบ SET LOCAL synchronous_commit TO OFF
เปเบเบเบธเบฅเบฐเบเปเบฒ.
เบเปเบงเบเบเบฒเบเบเบฑเบเปเบเปเปเบฅเบฑเบเบเปเบญเบเบเบตเปเบเปเปเบเบฑเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบซเปเบเบนเปเปเบเปเบเบงเบเบเบธเบกเบเบงเบฒเบกเบชเบญเบเบเปเบญเบ เปเบฅเบฐเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com