เบชเบฐเบเบฒเบเบเบต, เบเปเบญเบเบเปเบฒเบฅเบฑเบเบชเปเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบชเปเบฒเบฅเบฑเบ DBMS
เบฎเบนเปโเบชเบถเบโเบงเปเบฒโเบเบฐโเบฅเบฑเบโเบเบฒเบโ! (โฆaka เบกเบตโเบเบงเบฒเบกโเบชเบธเบโเบเบฑเบโเบเบฒเบโเบชเบฐโเปเบเบโ)
เบเบฑเบเบซเบกเบปเบเบเปเบฒเบเปเบเบดเบเบเบตเปเปเบฎเบฑเบเปเบซเป Tarantool เปเบเบฑเบเปเบเบฅเบฐเบเบฐเบเบญเบกเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบกเบตเบเบฒเบเปเบซเบผเบเบชเบนเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ. เปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฑเปเบเบเปเบฒเบง, เบกเบฑเบเบเบฐเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบฅเบญเบเบเปเปเบกเบนเบ.
เบเบฑเปเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเบเปเบฒเบเปเบเบดเบ, Tarantool เบกเบตเบเบฒเบเบเปเบฒเบฅเบญเบเบเปเปเบกเบนเบเปเบเบเบปเบง. เบซเบผเบฑเบเบเบฒเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเบกเบฑเบเปเบกเปเบเปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฒเบกเบฅเปเบฒเบเบฑเบเปเบ replicas เบเบธเบฅเบฐเบเปเบฒเบเบฑเบเบซเบกเบปเบเบเบตเปเบกเบตเบขเบนเปเปเบ master log (WAL). เบเบปเบเบเบฐเบเบดเปเบฅเปเบงเบเบฒเบเบเปเบฒเบฅเบญเบเปเบเบเบเบฑเปเบเบเปเบฒเบง (เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบซเบฒเบกเบฑเบเบเบทเปเบกเบญเบตเบ เบฅเบฐเบเบฑเบเบเปเปเบฒ) เบเบทเบโเบเปเบฒโเปเบเปโเปเบเบทเปเบญโเบฎเบฑเบโเบเบฐโเบเบฑเบโเบเบงเบฒเบกโเบเบปเบโเบเบฒเบโเบเบงเบฒเบกโเบเบดเบโเบเบญเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเปเบฅเบฐ / เบซเบผเบทโเปเบเบทเปเบญโเปเบเบโเบขเบฒเบโเปเบซเบผเบโเบเบฒเบโเบญเปเบฒเบโเบฅเบฐโเบซเบงเปเบฒเบโเบเปเป clusterโ.
เปเบเบปเปเบฒ. 1. เบเบฒเบเบเบณเบฅเบญเบเบเบฒเบเปเบเบเบธเปเบก
เบเบปเบงเบขเปเบฒเบเบเบญเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฒเบเปเบฅเบทเบญเบเปเบกเปเบเบเบฒเบเปเบญเบเบเปเปเบกเบนเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบเบฒเบเบเปเปเบกเบนเบเบซเบเบถเปเบเปเบเบซเบฒเบเบฒเบเบเปเปเบกเบนเบเบญเบทเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบธเบเปเบเปเบ / เบเบฒเบเบเบดเบเบเบฒเบก. เปเบเบเปเบฅเบฐเบเบตเบชเบธเบเบเปเบฒเบ, เบเบฒเบเปเบเปเปเบเบเบตเปเบชเบฐเบเบงเบเบเบงเปเบฒเบญเบฒเบเบเบฐเบเบทเบเบเปเบฒเปเบเป เบฅเบฐโเบเบฑเบโเบชเบนเบ replication - เบเบฒเบเบเปเบฒเบฅเบญเบเบเปเปเบกเบนเบเปเบเบฅเบฐเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ. เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเปเบเปเบเบฒเบเปเบเปเปเบเบเบตเปเบเบฝเบกเบเปเบญเบกเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบ DBMS, เปเบเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเบฒเบฅเบญเบเบเปเบงเบเบเบปเบงเปเบฎเบปเบฒเปเบญเบเบเบฒเบเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒ. เบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเบฑเบเบเปเปเบเบตเปเบฅเบฐเบเปเปเปเบชเบ. เปเบซเปเบเบญเบเบเปเปเปเบเปเบเบฝเบ.
1. เบเบฐเบซเบเบฑเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ:
- เบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเปเบญเบเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบ, เปเบเปเบงเปเบฒเบเบฝเบเปเบเปเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบกเบฑเบ (เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบญเบเบเบฝเบเปเบเปเบเบฒเบเบเบฒเบเบฐเบฅเบฒเบ, เบเบฒเบเบเปเบฅเปเบฒเบซเบผเบทเบเบฑเบเบเบถเบเบเบญเบเบเบงเบเปเบเบปเบฒเบเบตเปเบเบญเบเบชเบฐเบซเบเบญเบเปเบเบทเปเบญเบเปเบเบเบตเปเปเบเปเบเบญเบ);
- เบเปเปเบเบทเบเบฑเบเบเบฒเบเบเปเบฒเบฅเบญเบเบฅเบฐเบเบฑเบเบเปเปเบฒ, เปเบเบดเปเบเบเบฐเบเบดเบเบฑเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเปเบเปเบเบเบเปเปเบเบปเบเบเบฑเบ (เบเบฐเบเบดเบเบฑเบเปเบ Tarantool เบฎเบธเปเบเบเบฐเบเบธเบเบฑเบ - 1.10) เบซเบผเบท synchronous (เปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเปเบเบฎเบธเปเบเบเปเปเปเบเบเบญเบ Tarantool), เบเบฒเบเบเปเบฒเบฅเบญเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเปเบเปเบเบเบเบฑเบ (i.e. เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเบฒเบญเบดเบ synchronizes เบเปเปเบกเบนเบ - เบเปเปเบกเบนเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบตเบเบฒเบเบขเบธเบเบเบปเปเบงเบเบฒเบงเปเบเบเบฒเบเบเปเบฒเบฅเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเบเปเปเปเบเปเบเบตเบเบเบถเปเบ, เปเบฅเบฐเบญเบทเปเบเป);
- เบเปเบฒเบเบฑเบเบเบถเบเปเบเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบซเบผเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบญเบเบเบฝเบเปเบเปเบชเบฐเบเบฑเบเบซเบฅเปเบฒเบชเบธเบเบเบญเบเบกเบฑเบ (เบเปเปเบเบทเบเบฑเบเบเบฒเบเบเปเบฒเบฅเบญเบเบฅเบฐเบเบฑเบเบเปเปเบฒ, เปเบเบดเปเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบฎเบฑเบเบขเบนเปเปเบเปเบกเปเบเบปเบเบเบฐเบเบทเบเบซเบผเบดเปเบเบเบทเบเบเบฒเบกเบฅเปเบฒเบเบฑเบเปเบ replicas).
2. เบเปเปเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบฅเบเบเปเบฝเบ HTTP, เปเบเบดเปเบเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบ synchronize เบเบฒเบเบเปเปเบกเบนเบเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบ.
เปเบเบปเปเบฒ. 2. Replication over HTTP
3. เปเบเบเบชเปเบฒเบเบเบฒเบเบเปเปเบกเบนเบเบฅเบฐเบซเบงเปเบฒเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเปเบญเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบทเบเบฑเบ (เบเบญเบเบเบฒเบเบเบฑเปเบ, เปเบเบเปเบฅเบฐเบเบตเบเบปเปเบงเปเบ, เบกเบฑเบเบเปเปเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเปเบเป DBMSs, เบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบผเปเบเบผเบก, เปเบงเบเบต, เปเบฅเบฐเบญเบทเปเบเป).
เปเบเบปเปเบฒ. 3. เบเบฒเบเบเปเบฒเบฅเบญเบเปเบเบฅเบฐเบเบปเบ heterogeneous
เบเบฒเบเบซเบผเบธเบเบฅเบปเบเปเบกเปเบเบงเปเบฒ, เปเบเบเบชเบฐเปเบฅเปเบ, เบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบ / เบเปเบฒเปเบเปเบเปเบฒเบเบซเบผเบฒเบเบเปเบงเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒ, เปเบฅเบฐเปเบเบเบเบตเปเบเบฐเบเบฑเบเปเบเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเบเบปเบง, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเปเบฒเบเปเบญเบ.
เบเปเบฒเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบญเบเปเบเบปเปเบฒเบเปเปเปเบเปเบเบฝเบเบเปเบฒเบเปเบเบดเบเปเบกเปเบเบชเปเบฒเบเบฑเบ (เบซเบผเบทเปเบเบฑเบเปเบเบทเปเบญเบเปเบเบเบตเปเบเปเบฒเปเบเบฑเบ), เบกเบฑเบเบกเบตเบเบงเบฒเบกเบซเบกเบฒเบเบเบตเปเบเบฐเปเบเปเบเบฒเบเบเปเบฒเบฅเบญเบเบฅเบฐเบเบฑเบเบชเบนเบ. เบเปเปเบซเปเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเบเบงเบเบซเบเบถเปเบเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเบฒเบฅเบญเบเบเปเปเบกเบนเบเบฅเบฐเบเบฑเบเบชเบนเบเปเบ Tarantool DBMS.
เบเบฒเบเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ
เบเบฑเปเบเบเบฑเปเบ, เบซเบเบถเปเบเปเบเบเปเปเปเบเปเบเบฝเบเบเบญเบเบเบฒเบเบเปเบฒเบฅเบญเบเบฅเบฐเบเบฑเบเบชเบนเบเปเบกเปเบเบเบฒเบเบเบฐเบซเบเบฑเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ. เปเบเบทเปเบญเปเบซเปเบเบฐเปเบซเบเบเบเบตเปเบเบทเบเบฎเบฑเบเบฎเบนเปเบขเปเบฒเบเปเบเบฑเบกเบเบตเป, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบซเบผเบธเบเบเปเบญเบเบเปเบฒเบเบงเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเปเบญเบเปเบซเปเบซเบเปเบญเบเบฅเบปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเปเบเปเบฅเบฐเบเบปเบ. เปเบเปเบเบญเบ, เบเบงเบเปเบฎเบปเบฒเบเปเปเบเบงเบเบฅเบทเบกเบงเปเบฒเปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบญเบเบเบฐเบเบธเบก, เบเบนเปเบฎเบฑเบเบเปเปเบกเบนเบเบเปเบญเบเบเบทเบ synchronized เบเบฑเบเปเบซเบผเปเบ (เบขเปเบฒเบเบซเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบชเปเบงเบเบเบญเบเบเปเปเบกเบนเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเปเบฒเบฅเบญเบ).
เบงเบดเบเบตเบเบฒเบเบซเบผเบธเบเบเปเบญเบเบเปเบฒเบเบงเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเปเบญเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเปเบฒเบฅเบญเบเบฅเบฐเบเบฑเบเบชเบนเบ? เบเบฒเบเปเบเปเปเบเบเบตเปเบเบปเบเปเบเบเบปเบเบกเบฒเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเปเปเบกเบนเบเบเบฒเบกเบงเบฑเบเบเบตเปเบฅเบฐเปเบงเบฅเบฒ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบชเบฐเบซเบเบฒเบกเบงเบฑเบเบเบต - เปเบงเบฅเบฒเบเบตเปเบกเบตเบขเบนเปเปเบเบเบฒเบเบฐเบฅเบฒเบ (เบเปเบฒเบกเบฑเบเบกเบตเบขเบนเป). เบเบปเบงเบขเปเบฒเบ, เปเบญเบเบฐเบชเบฒเบ "เบเปเบฒเบชเบฑเปเบ" เบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบชเบฐเบซเบเบฒเบก "เปเบงเบฅเบฒเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเปเบญเบเบเบฒเบ" - delivery_time
. เบเบฑเบเบซเบฒเบเบฑเบเบเบฒเบเปเบเปเปเบเบเบตเปเปเบกเปเบเบงเปเบฒเบเปเบฒเปเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบขเบนเปเปเบเบฅเปเบฒเบเบฑเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบฒเบเบชเปเบฒเบเบเปเบฒเบชเบฑเปเบ. เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเบทเปเบเปเบฒเบเปเบฒเบเปเบญเบเบเปเปเบกเบนเบเบชเบนเบเบชเบธเบ delivery_time
, เบเปเบฒเบเบเบญเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเบเบตเปเบเปเบฒเบเบกเบฒ, เปเบฅเบฐเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเบเปเปเปเบเปเบฅเบทเบญเบเบเบฑเบเบเบถเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบกเบตเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเบชเบนเบเบเบงเปเบฒ delivery_time
. เบเบฑเบเบเบถเบเบเบตเปเบกเบตเบกเบนเบเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเปเปเบฒเบญเบฒเบเบเบฐเบเบทเบเปเบเบตเปเบกเบฅเบฐเบซเบงเปเบฒเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบ delivery_time
. เบเบญเบเบเบฒเบเบเบตเป, เบเปเบฒเบชเบฑเปเบเบชเบฒเบกเบฒเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ, เปเบเบดเปเบเบขเปเบฒเบเปเบเบเปเปเบเบฒเบกเบเปเปเปเบเปเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบฒเบเบชเบฐเบซเบเบฒเบก delivery_time
. เปเบเบเบฑเบเบชเบญเบเบเปเบฅเบฐเบเบต, เบเบฒเบเบเปเบฝเบเปเบเบเบเบฐเบเปเปเบเบทเบเปเบญเบเบเบฒเบเปเบซเบผเปเบเปเบเบซเบฒเบเบฒเบเบเบฒเบ. เปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเปเบซเบผเบปเปเบฒเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเปเบญเบเบเปเปเบกเบนเบ "เบเบฑเบเบเปเบญเบเบเบฑเบ". เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เปเบเปเบเปเบฅเบฐเบเบญเบเบเบฐเบเบธเบกเบเบฒเบเปเบฅเบเบเปเบฝเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบญเบเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบเปเบงเบเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบก delivery_time
, เปเบเบตเบเบเบฒเบเบเบธเบเปเบเบญเบฐเบเบตเบ (เบเบปเบงเบขเปเบฒเบ, N เบเบปเปเบงเปเบกเบเบเบฒเบเบเบฑเบเบเบธเบเบฑเบ). เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบกเบฑเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบงเปเบฒเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบกเปเบเบเปเปเบฒเบเปเบญเบเบชเบนเบเปเบฅเบฐเบชเบฒเบกเบฒเบเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเบฐเบซเบเบฑเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฒเบเบฒเบกเปเบเบทเปเบญเบเปเปเบกเบตเบซเบเบฑเบ. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเบฐเบฅเบฒเบเบเบตเปเบเบทเบเปเบญเบเบญเบฒเบเบเบฐเบเปเปเบกเบตเบเปเบญเบเบเปเปเบกเบนเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบงเบฑเบเบเบต-เปเบงเบฅเบฒ.
เบเบฒเบเปเบเปเปเบเบญเบตเบเบญเบฑเบเบซเบเบถเปเบ, เบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบเบซเบผเบฒเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เปเบกเปเบเบเบฒเบเบฎเบฑเบเบฎเบนเปเบเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเปเบเปเบฅเบฐเบเบฑเปเบ, เบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบเบฐเบเบทเบเบชเบปเปเบ, เบเบฒเบเบฎเบฑเบเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบเบฒเบเบขเบทเบเบขเบฑเบเบเบฒเบเบเบนเปเบฎเบฑเบ. เปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบกเบฑเบ, เบเปเบฒเบเบเบฐเบเปเบญเบเปเบเบตเปเบกเบเบฑเบ Boolean เปเบชเปเบเบฒเบเบฐเบฅเบฒเบเปเบซเบผเปเบ (เบเบปเบงเบขเปเบฒเบ: is_transferred
). เบเปเบฒเบเบนเปเบฎเบฑเบเบฎเบฑเบเบฎเบนเปเบเบฒเบเปเบเปเบฎเบฑเบเบเบฑเบเบเบถเบ, เบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเปเบญเบปเบฒเบกเบนเบเบเปเบฒ true
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเปเบเบปเปเบฒเบเปเปเปเบเปเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเบเบฒเบเปเบฅเบเบเปเบฝเบ. เบเบฒเบโเปเบฅเบทเบญเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบเบตเปโเบกเบตโเบเปเปโเปเบชเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ. เบเปเบฒเบญเบดเบ, เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฑเบเบเบถเบเบเบตเปเบเบทเบเปเบญเบ, เบเบฒเบเบฎเบฑเบเบฎเบนเปเบเปเบญเบเบเบทเบเบชเปเบฒเบเปเบฅเบฐเบชเบปเปเบ. เปเบงเบปเปเบฒเปเบเบเบเบฐเบกเบฒเบ, เบเบตเปเบชเบฒเบกเบฒเบเบเบฝเบเบเบฝเบเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบเปเบฒเบเบงเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเปเบญเบเปเบเบฑเบเบชเบญเบเปเบเบปเปเบฒเปเบฅเบฐเบเปเบฒเปเบเบชเบนเปเบเบฒเบเปเบเบตเปเบกเบเบถเปเบเบชเบญเบเปเบเบปเปเบฒเบเบญเบเบเปเบฒเบเบงเบเบเบฒเบเปเบเบตเบเบเบฒเบ. เบญเบฑเบเบเบตเบชเบญเบ, เบเปเปเบกเบตเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบชเบปเปเบเบเบฑเบเบเบถเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบนเปเบฎเบฑเบเบซเบผเบฒเบเปเบเบปเบ (เบเบนเปเบฎเบฑเบเบเปเบฒเบญเบดเบเบเบตเปเบเบฐเปเบเปเบฎเบฑเบเบเบฐเบขเบทเบเบขเบฑเบเบเบฒเบเบฎเบฑเบเบชเปเบฒเบฅเบฑเบเบเบปเบงเบกเบฑเบเปเบญเบเปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบเบนเปเบญเบทเปเบเบเบฑเบเบซเบกเบปเบ).
เบงเบดเบเบตเบเบฒเบเบเบตเปเบเปเปเบกเบตเบเปเปเปเบชเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเบเปเบฒเบเปเบเบดเบเปเบกเปเบเบเบฒเบเปเบเบตเปเบกเบเบฑเบเปเบชเปเบเบฒเบเบฐเบฅเบฒเบเบเบตเปเบเบทเบเปเบญเบเปเบเบทเปเบญเบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเบงเบเบญเบเบกเบฑเบ. เบเบฑเบเบเบฑเปเบเบเปเบฒเบงเบชเบฒเบกเบฒเบเปเบเบฑเบเบเบฐเปเบเบเบงเบฑเบเบเบตเปเบฅเบฐเบเปเบญเบเบเบทเบเบเบฑเปเบ / เบเบฑเบเบเบธเบเปเบเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฑเบเปเบงเบฅเบฒเบเบฐเบเบธเบเบฑเบเปเบเปเบฅเบฐเบเบฑเบเบเบถเบเปเบงเบฅเบฒเบเบทเบเปเบเบตเปเบก / เบเปเบฝเบเปเบเบ (เบเบฐเบฅเปเบฒเบกเบฐเบเบนเบเปเบงเบเบเบฒเบเปเบเบตเปเบก / เบเบฒเบเบเปเบฝเบเปเบเบ). เบเบปเบงเบขเปเบฒเบ, เปเบซเปเปเบเบซเบฒเบเบฑเบ update_time
. เปเบเบเบเบฑเบเบเบถเบเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเบชเบนเบเบชเบธเบเบเบญเบเบเบฑเบเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบถเบเบเบตเปเปเบญเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเบเปเปเปเบเบเปเบงเบเบเปเบฒเบเบตเป (เปเบฅเบทเบญเบเบเบฑเบเบเบถเบเบเบตเปเบกเบตเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบก. update_time
, เปเบเบตเบเบกเบนเบเบเปเบฒเบเบตเปเปเบเบฑเบเปเบงเปเปเบเปเบกเบทเปเบญเบเปเบญเบ). เบเบฑเบเบซเบฒเบเบฑเบเบงเบดเบเบตเบเบฒเบเบชเบธเบเบเปเบฒเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเบเปเปเบกเบนเบเบชเบฒเบกเบฒเบเปเบเบตเบเบเบทเปเบเปเบเบฑเบเบเบธเบ. เปเบเบฑเบเบเบปเบเบกเบฒเบเบฒเบเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเปเบเบเบฑเบ update_time
เบญเบฒเบเบเบฐเบเปเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบฑเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบทเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเบเบชเปเบงเบ (เบซเบเปเบฒเบเปเปเบซเบเปเบฒ) เบเบปเบเบเบฐเบฅเบดเบเบเปเปเบกเบนเบ. เปเบเบทเปเบญเบชเบฐเปเบเบเบเปเปเบกเบนเบเปเบเปเบฅเบฐเบซเบเปเบฒ, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบฐเบเบดเบเบเบปเบเปเบเปเบเบตเปเบกเปเบเบตเบกเบเบตเปเบญเบฒเบเบเบฐเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเปเปเบฒเบซเบผเบฒเบ (เบเบปเบงเบขเปเบฒเบ, เบเบถเบเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบเปเบงเบเบกเบนเบเบเปเบฒ. update_time
เบชเบนเบเบเบงเปเบฒเบเปเบฒเบเบงเบเบเบตเปเปเบซเปเปเบฅเบฐเบเบฐเบฅเบดเบเบเปเบฒเบเบงเบเบเบฑเบเบเบถเบเบเบตเปเปเบเปเบเบญเบ, เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเบฒเบเบเบปเบเปเบเบตเบเบเบตเปเปเบเปเบเบญเบเบเบฒเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบปเบงเบขเปเบฒเบ).
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเบเบธเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบเบเบฒเบเปเบญเบเบเปเปเบกเบนเบเปเบเบเบเบฒเบเบเบฑเบเบเบธเบเปเบฅเบฑเบเบเปเบญเบเบเบญเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบเปเบฒเบเบกเบฒ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเปเบเบฐเปเบเบ integer (เบเปเบฒเบเบงเบเปเบเบฑเบกเบเบฒเบง) เปเบเบฑเบเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบ. เปเบซเปเบเบฑเปเบเบเบทเปเบเบฑเบ row_ver
. เบเปเบฒเบเปเบญเบเบเปเปเบกเบนเบเบเบญเบเบเบฑเบเบเบตเปเบเบฑเบเบเปเบญเบเบเบทเบเบเบฑเปเบ/เบญเบฑเบเปเบเบเปเบเปเบเปเบฅเบฐเบเบฑเปเบเบเบตเปเบเบฑเบเบเบถเบเบเบทเบเบชเปเบฒเบ/เปเบเปเปเบ. เปเบเปเปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบฐเบเปเปเบเบทเบเบกเบญเบเบซเบกเบฒเบเบงเบฑเบเบเบต - เปเบงเบฅเบฒเปเบเบเบฐเบเบธเบเบฑเบ, เปเบเปเบกเบนเบเบเปเบฒเบเบญเบเบเบปเบงเบเบฑเบเบเบฒเบเบขเปเบฒเบ, เปเบเบตเปเบกเบเบถเปเบเบซเบเบถเปเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบฑเบ row_ver
เบเบฐเบเบฐเบเบญเบเบเปเบงเบเบเบธเบเบเปเบฒเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเปเบฅเบฐเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเปเบเบฝเบเปเบเปเปเบเบทเปเบญเบชเบฐเปเบเบเบเปเปเบกเบนเบ "delta" (เบเปเปเบกเบนเบเปเบเบตเปเบก / เบเปเบฝเบเปเบเบเบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเบชเบดเปเบเบชเบธเบเบเบญเบเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเบเบตเปเบเปเบฒเบเบกเบฒ), เปเบเปเบเบฑเบเปเบเบฑเบเบเบฒเบเบเปเบฒเบฅเบฒเบเบกเบฑเบเบฅเบปเบเปเบเบฑเบเบซเบเปเบฒเบเปเบฒเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ.
เบงเบดเบเบตเบเบฒเบเบเบตเปเบชเบฐเปเบซเบเบตเบชเบธเบเบเปเบฒเบเบเบญเบเบเบฒเบเบซเบผเบธเบเบเปเบญเบเบเปเบฒเบเบงเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเปเบญเบเบขเบนเปเปเบเบเบญเบเบเบญเบเบเบฒเบเบเปเบฒเบฅเบญเบเบฅเบฐเบเบฑเบเบชเบนเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเปเบญเบเปเบกเปเบเบเบตเบเบตเปเบชเบธเบเปเบฅเบฐเบเบปเปเบงเปเบเบเบตเปเบชเบธเบ. เปเบซเปเปเบเบดเปเบเบขเบนเปเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบก.
เบเบฒเบเบเปเบฒเบเบเบญเบเบเปเปเบกเบนเบเปเบเบเปเบเปเบเบปเบงเบเบฑเบเบฅเบธเปเบเปเบเบง
เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ / เบเบปเปเบเบชเบฐเบเบฑเบ
เปเบ MS SQL Server, เบกเบตเบเบฐเปเบเบเบเปเบฅเปเบฒเบเบดเปเบชเบเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบตเป - rowversion
. เปเบเปเบฅเบฐเบเบฒเบเบเปเปเบกเบนเบเบกเบตเบเบปเบงเบเบฑเบเบเบตเปเปเบเบตเปเบกเบเบถเปเบเปเบเปเบฅเบฐเบเบฑเปเบเบเบตเปเบเบฑเบเบเบถเบเบเบทเบเปเบเบตเปเบก / เบเปเบฝเบเปเบเบเปเบเบเบฒเบเบฐเบฅเบฒเบเบเบตเปเบกเบตเบเบฑเบเบเปเบฒเบเบเบท rowversion
. เบเปเบฒเบเบญเบเบเบปเบงเบเบฑเบเบเบตเปเบเบฐเบเบทเบเบกเบญเบเปเบซเปเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบชเปเบเปเบญเบเบเปเปเบกเบนเบเบเบญเบเบเบฑเบเบเบตเปเปเบเบเบฑเบเบเบถเบเบเบตเปเปเบเบตเปเบก/เบเปเบฝเบเปเบเบ. Tarantool DBMS เบเปเปเบกเบตเบเบปเบเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบ Tarantool เบกเบฑเบเบเปเปเบเบฒเบเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบเบกเบฑเบเบเปเบงเบเบเบปเบเปเบญเบ. เปเบซเปเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบกเปเบเปเบฎเบฑเบเปเบเป.
เบซเบเปเบฒเบเปเบฒเบญเบดเบ, เปเบเบฑเบเบเปเบฒเบชเบฑเบเปเบฅเบฑเบเบเปเบญเบ: เบเบฒเบเบฐเบฅเบฒเบเปเบ Tarantool เบเบทเบเปเบญเบตเปเบเบงเปเบฒเบเปเบญเบ, เปเบฅเบฐเบเบฑเบเบเบถเบเปเบกเปเบเปเบญเบตเปเบเบงเปเบฒ tuples. เปเบ Tarantool เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบฅเปเบฒเบเบฑเบ. เบฅเปเบฒเบเบฑเบเปเบกเปเบเบเปเปเบกเบตเบซเบเบฑเบเบซเบผเบฒเบเบเปเบงเบฒเปเบเบทเปเบญเบเบเปเบฒเปเบเบตเบเบเบตเปเบกเบตเบเบทเปเบเบญเบเบเปเบฒเบเปเบฒเบเบงเบเปเบเบฑเบกเบเปเบฒเบชเบฑเปเบ. เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบเบทเปเบญเบเบธเบเบเบฐเบชเบปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเปเบฒเบง.
เบเปเบญเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฒเบเบเปเปเบกเบนเบเปเบเปเปเบ Tarantool, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
box.cfg{}
เบเบฑเปเบเบเบฑเปเบ, Tarantool เบเบฐเปเบฅเบตเปเบกเบเบฝเบเบเบฑเบเบเบถเบเบเบฒเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบฑเบเบเบถเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบ.
เปเบซเปเบชเปเบฒเบเบฅเปเบฒเบเบฑเบ row_version
:
box.schema.sequence.create('row_version',
{ if_not_exists = true })
เบเบฒเบเปเบฅเบทเบญเบ if_not_exists
เบญเบฐเบเบธเบเบฒเบเปเบซเปเบชเปเบฒเบเบชเบฐเบเบฃเบดเบเบเบทเบเบเบฐเบเบดเบเบฑเบเบซเบผเบฒเบเบเบฑเปเบ: เบเปเบฒเบงเบฑเบเบเบธเบกเบตเบขเบนเป, Tarantool เบเบฐเบเปเปเบเบฐเบเบฒเบเบฒเบกเบชเปเบฒเบเบกเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. เบเบปเบงเปเบฅเบทเบญเบเบเบตเปเบเบฐเบเบทเบเบเปเบฒเปเบเปเปเบเบเบธเบเบเปเบฒเบชเบฑเปเบ DDL เบเปเปเปเบ.
เปเบซเปเบชเปเบฒเบเบเบทเปเบเบเบตเปเปเบเบฑเบเบเบปเบงเบขเปเบฒเบ.
box.schema.space.create('goods', {
format = {
{
name = 'id',
type = 'unsigned'
},
{
name = 'name',
type = 'string'
},
{
name = 'code',
type = 'unsigned'
},
{
name = 'row_ver',
type = 'unsigned'
}
},
if_not_exists = true
})
เบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฑเปเบเบเบทเปเบเบญเบเบเปเบญเบ (goods
), เบเบทเปเบเบฒเบเบชเบฐเบซเบเบฒเบกเปเบฅเบฐเบเบฐเปเบเบเบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒ.
เบเปเบญเบเบเปเปเบกเบนเบเบเบฒเบเปเบเบตเปเบกเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบ Tarantool เบเปเปเบเบทเบเบชเปเบฒเบเปเบเบเปเบเปเบฅเปเบฒเบเบฑเบ. เบกเบฒเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบซเบผเบฑเบเบเบตเปเปเบเบตเปเบกเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบฒเบกเบเปเบญเบเบเปเปเบกเบนเบ id
:
box.schema.sequence.create('goods_id',
{ if_not_exists = true })
box.space.goods:create_index('primary', {
parts = { 'id' },
sequence = 'goods_id',
unique = true,
type = 'HASH',
if_not_exists = true
})
Tarantool เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบซเบผเบฒเบเบเบฐเปเบเบเบเบญเบเบเบฑเบเบชเบฐเบเบต. เบเบฑเบเบเบฐเบเบตเบเบตเปเปเบเปเบซเบผเบฒเบเบเบตเปเบชเบธเบเปเบกเปเบเบเบฐเปเบเบ TREE เปเบฅเบฐ HASH, เปเบเบดเปเบเบญเบตเบเปเบชเปเปเบเบเบชเปเบฒเบเบเบตเปเบเบปเบเบเบฑเบเบเบทเป. TREE เปเบกเปเบเบเบฐเปเบเบเบเบฑเบเบเบฐเบเบตเบเบตเปเบซเบผเบฒเบเบซเบผเบฒเบเบเบตเปเบชเบธเบ. เบกเบฑเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบถเบเบเปเปเบกเบนเบเปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฒเบเบเบฑเบเบเบฑเปเบ. เปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบงเบฒเบกเบชเบฐเปเบซเบกเบตเบเบฒเบ, HASH เปเบกเปเบเปเบซเบกเบฒเบฐเบชเบปเบกเบเบงเปเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบเบฐเบเปเบฒเปเบซเปเปเบเป HASH เบชเปเบฒเบฅเบฑเบเบฅเบฐเบซเบฑเบเบเบปเปเบเบเป (เปเบเบดเปเบเปเบเบฑเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฎเบฑเบ).
เปเบเบทเปเบญเปเบเปเบเบฑเบ row_ver
เปเบเบทเปเบญโเปเบญเบโเบเปเปโเบกเบนเบโเบเบฒเบโเบเปเบฝเบโเปเบเบโ, เบเปเบฒเบโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบเปโเบเบนเบโเบกเบฑเบโเบเปเบฒโเบฅเปเบฒโเบเบฑเบโเบเบฑเบโเบเบฒเบโเบชเบฐโเบซเบเบฒเบกโเบเบญเบโเบเบฑเบโเบเบตเปโ row_ver
. เปเบเปเบเปเปเบเบทเบเบฑเบเบเบฐเปเบเบซเบผเบฑเบ, เบเปเบฒเบเปเบญเบเบเบฑเบ row_ver
เบเบงเบเปเบเบตเปเบกเบเบถเปเบเปเบเบเบซเบเบถเปเบเบเปเปเบเบฝเบเปเบเปเปเบเปเบงเบฅเบฒเบเบตเปเปเบเบตเปเบกเบเบฑเบเบเบถเบเปเบซเบกเป, เปเบเปเบเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเบเบปเบงเบเบฐเบเบธเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป. Tarantool เบกเบตเบชเบญเบเบเบฐเปเบเบเบเบญเบเบเบฒเบเบเบฐเบเบธเปเบเบเปเบญเบ: before_replace
ะธ on_replace
. Triggers เบเบทเบเบเบดเบเบเบธเบเบเบฑเปเบเบเบตเปเบเปเปเบกเบนเบเปเบเบเปเบญเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ (เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐ tuple เบเบตเปเปเบเปเบฎเบฑเบเบเบปเบเบเบฐเบเบปเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบ, เบเบฑเบเบเบฑเบ trigger เบเบทเบเปเบเบตเบเบเบปเบง). เบเปเปโเบกเบฑเบ on_replace
, before_replace
-triggers เบญเบฐโเบเบธโเบเบฒเบโเปเบซเปโเบเปเบฒเบโเปเบเบทเปเบญโเบเบฑเบโเบเบธเบโเปเบเปโเปเบโเบเปเปโเบกเบนเบโเบเบญเบ tuple เบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบตเป trigger เปเบเปโเบเบทเบโเบเบฐโเบเบดโเบเบฑเบโ. เบเบฑเปเบเบเบฑเปเบ, เบเบฐเปเบเบเบชเบธเบเบเปเบฒเบเบเบญเบเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบงเบเปเบฎเบปเบฒ.
box.space.goods:before_replace(function(old, new)
return box.tuple.new({new[1], new[2], new[3],
box.sequence.row_version:next()})
end)
เบเบปเบงเบเบฐเบเบธเปเบเบเปเปเปเบเบเบตเปเปเบเบเบเปเบฒเบเปเบญเบเบเปเปเบกเบนเบ row_ver
tuple เปเบเบฑเบเปเบงเปเปเบเบฑเบเบกเบนเบเบเปเบฒเบเปเปเปเบเบเบญเบเบฅเปเบฒเบเบฑเบ row_version
.
เปเบเบทเปเบญเปเบซเปเบชเบฒเบกเบฒเบเบชเบฐเบเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบญเบฒเบงเบฐเบเบฒเบ goods
เปเบเบเบเบฑเบ row_ver
, เปเบซเปเปเบฎเบปเบฒเบชเปเบฒเบเบเบฑเบเบชเบฐเบเบต:
box.space.goods:create_index('row_ver', {
parts = { 'row_ver' },
unique = true,
type = 'TREE',
if_not_exists = true
})
เบเบฐเปเบเบเบเบฑเบเบเบฐเบเบต - เบเบปเปเบเปเบกเป (TREE
), เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเบเบฒเบเบชเบฐเบเบฑเบเบเปเปเบกเบนเบเปเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเบฑเบเบเบถเปเบเบเบญเบเบเปเบฒเปเบเบเบฑเบ row_ver
.
เบกเบฒเปเบเบตเปเบกเบเปเปเบกเบนเบเปเบชเปเบเปเบญเบเบซเบงเปเบฒเบ:
box.space.goods:insert{nil, 'pen', 123}
box.space.goods:insert{nil, 'pencil', 321}
box.space.goods:insert{nil, 'brush', 100}
box.space.goods:insert{nil, 'watercolour', 456}
box.space.goods:insert{nil, 'album', 101}
box.space.goods:insert{nil, 'notebook', 800}
box.space.goods:insert{nil, 'rubber', 531}
box.space.goods:insert{nil, 'ruler', 135}
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ เบเบฒเบเบชเบฐเบซเบเบฒเบกเบเปเบฒเบญเบดเบเปเบกเปเบเบเบปเบงเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบญเบฑเบเบเบฐเปเบเบกเบฑเบ; เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบ nil เปเบเบ. Tarantool เบเบฐเบเบปเบเปเบเบเบเปเบฒเบเปเปเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, เปเบเบฑเบเบกเบนเบเบเปเบฒเบเบญเบเบเปเบญเบเบเบฑเบ row_ver
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบ nil - เบซเบผเบทเบเปเปเบฅเบฐเบเบธเบกเบนเบเบเปเบฒเบเบฑเบเบซเบกเบปเบ, เปเบเบฒเบฐเบงเปเบฒ เบเบฑเบเบเบตเปเบเบญเบเบเบญเบเบเปเบฒเปเบซเบเปเบเบชเบธเบเบเปเบฒเบเปเบเบเปเบญเบ.
เบกเบฒเบเบงเบเปเบเบดเปเบเบเบปเบเบเบฒเบเปเบเบ:
tarantool> box.space.goods:select()
---
- - [1, 'pen', 123, 1]
- [2, 'pencil', 321, 2]
- [3, 'brush', 100, 3]
- [4, 'watercolour', 456, 4]
- [5, 'album', 101, 5]
- [6, 'notebook', 800, 6]
- [7, 'rubber', 531, 7]
- [8, 'ruler', 135, 8]
...
เบเบฑเปเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, เบเปเบญเบเบเปเบฒเบญเบดเบเปเบฅเบฐเบชเบธเบเบเปเบฒเบเปเบกเปเบเบเบทเปเบกเปเบชเปเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบเบเบฐเบเปเบฒเบเบเปเปเบเบฒเบเบเบฝเบเบซเบเปเบฒเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเบฑเบเปเบซเบฅเบเบซเบเปเบฒเบเปเปเบซเบเปเบฒเบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบทเปเบเบเบตเป goods
:
local page_size = 5
local function get_goods(row_ver)
local index = box.space.goods.index.row_ver
local goods = {}
local counter = 0
for _, tuple in index:pairs(row_ver, {
iterator = 'GT' }) do
local obj = tuple:tomap({ names_only = true })
table.insert(goods, obj)
counter = counter + 1
if counter >= page_size then
break
end
end
return goods
end
เบเบฑเบเบเบฑเบเปเบเปเปเบงเบฅเบฒเปเบเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบญเบเบกเบนเบเบเปเบฒ row_ver
, เปเบฅเบตเปเบกเบเบฒเบเบเบตเปเบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบ unload เบเบฒเบเบเปเบฝเบเปเบเบ, เปเบฅเบฐเบชเบปเปเบเบเบทเบเบเบฒเบเบชเปเบงเบเบเบญเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ.
เบเบฒเบเปเบเบฑเบเบเบปเบงเบขเปเบฒเบเบเปเปเบกเบนเบเปเบ Tarantool เปเบกเปเบเปเบฎเบฑเบเบเปเบฒเบเบเบฑเบเบชเบฐเบเบต. เบเบฑเบเบเบฑเบ get_goods
เปเบเป iterator เปเบเบเบเบฑเบเบชเบฐเบเบต row_ver
เปเบเบทเปเบญเบฎเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบเปเบฝเบเปเบเบ. เบเบฐเปเบเบ Iterator เปเบกเปเบ GT (เปเบซเบเปเบเบงเปเบฒ, เปเบซเบเปเบเบงเปเบฒ). เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ iterator เบเบฐเบเบฒเบกเบฅเปเบฒเบเบฑเบ traverse เบเปเบฒเบเบฑเบเบเบฐเบเบตเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบฅเบฐเบซเบฑเบเบเปเบฒเบ (เบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบก. row_ver
).
iterator เบชเบปเปเบเบเบทเบ tuples. เปเบเบทเปเบญเปเบซเปเบชเบฒเบกเบฒเบเปเบญเบเบเปเปเบกเบนเบเบเปเบฒเบ HTTP เปเบเป, เบกเบฑเบ เบเบณ เปเบเบฑเบเบเปเบญเบเบเปเบฝเบ tuples เปเบเบชเบนเปเปเบเบเบชเปเบฒเบเบเบตเปเบชเบฐเบเบงเบเบเปเปเบเบฒเบ serialization เบเปเปเบกเบฒ. เบเบปเบงเบขเปเบฒเบเปเบเปเบเบฑเบเบเบฑเบเบกเบฒเบเบเบฐเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป tomap
. เปเบเบเบเบตเปเบเบฐเปเบเป tomap
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฝเบเบซเบเปเบฒเบเบตเปเบเบญเบเบเปเบฒเบเปเบญเบ. เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเบเปเบฝเบเบเบทเปเบเปเบญเบเบเปเปเบกเบนเบ name
, เบเปเปเบเปเบฒเบเบเบฒเบเบชเบฐเบซเบเบฒเบก code
เปเบฅเบฐเปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฒเบก comment
:
local function unflatten_goods(tuple)
local obj = {}
obj.id = tuple.id
obj.goods_name = tuple.name
obj.comment = 'some comment'
obj.row_ver = tuple.row_ver
return obj
end
เบเบฐเบซเบเบฒเบเบซเบเปเบฒเบเบญเบเบเปเปเบกเบนเบเบเบปเบเบเบฐเบฅเบดเบ (เบเปเบฒเบเบงเบเบเบฑเบเบเบถเบเปเบเบซเบเบถเปเบเบชเปเบงเบ) เบเบทเบเบเปเบฒเบเบปเบเปเบเบเบเบปเบงเปเบ page_size
. เปเบเบเบปเบงเบขเปเบฒเบเบกเบนเบเบเปเบฒ page_size
เปเบกเปเบ 5. เปเบเปเบเบเบเบฒเบเบเบตเปเปเบเปเบเบดเบ, เบเบฐเบซเบเบฒเบเบเบญเบเบซเบเปเบฒเปเบงเบฑเบเบกเบฑเบเบเบฐเบกเบตเบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบซเบผเบฒเบ. เบกเบฑเบเบเบถเปเบเบเบฑเบเบเบฐเบซเบเบฒเบเบชเบฐเปเบฅเปเบเบเบญเบ tuple เบเปเบญเบ. เบเบฐเบซเบเบฒเบเบซเบเปเบฒเบเบตเปเบเบตเบเบตเปเบชเบธเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบเบฒเบเบงเบฑเบเปเบเบเปเบงเบฅเบฒเบเบฒเบเปเบญเบเบเปเปเบกเบนเบ. เบเบฐโเบซเบเบฒเบโเบซเบเปเบฒโเบเบตเปโเปเบซเบเปโเบเบถเปเบโ, เบเปเบฒโเบเบงเบโเบเบญเบโเบเบฒเบโเปเบโเบเบฑเบโเบเบฐโเบซเบเบฒเบโเบเปเบญเบโเบเบญเบโเบเบฒเบโเปเบโเบกเบฒโเบฅเบฐโเบซเบงเปเบฒเบโเบเปเบฒเบโเบชเบปเปเบโเปเบฅเบฐโเบเบฒเบโเบฎเบฑเบโ. เบงเบดเบเบตเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบซเบผเบธเบเบเปเบญเบเปเบงเบฅเบฒเบฅเบงเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฒเบงเปเบซเบผเบเบเบฒเบเบเปเบฝเบเปเบเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเบเบฐเบซเบเบฒเบเบซเบเปเบฒเบกเบตเบเบฐเบซเบเบฒเบเปเบซเบเปเปเบเบตเบเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเปเบงเบฅเบฒเบเบปเบเปเบเบตเบเปเบเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ serializing เบเบปเบงเบขเปเบฒเบ. เบเบฑเปเบเบเบฑเปเบ, เบญเบฒเบเบเบฐเบกเบตเบเบงเบฒเบกเบฅเปเบฒเบเปเบฒเปเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบฒเบเบฎเปเบญเบเบเปเบญเบทเปเบเปเบเบตเปเบกเบฒเบฎเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ. เบเบฒเบฅเบฒเบกเบดเปเบเบต page_size
เบชเบฒเบกเบฒเบเปเบซเบฅเบเปเบเปเบเบฒเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ. เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเปเบญเบเบเปเบฒเบเบเบญเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบกเบนเบเบเปเบฒเบเบญเบเบเบปเบเปเบญเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบชเปเบฒเบฅเบฑเบเบเบทเปเบเบเบตเปเบชเปเบงเบเปเบซเบเป, เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ (เบเบปเบงเบขเปเบฒเบ, 100) เบญเบฒเบเบเบฐเปเบซเบกเบฒเบฐเบชเบปเบก.
เปเบซเปเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเป get_goods
:
tarantool> get_goods(0)
---
- - row_ver: 1
code: 123
name: pen
id: 1
- row_ver: 2
code: 321
name: pencil
id: 2
- row_ver: 3
code: 100
name: brush
id: 3
- row_ver: 4
code: 456
name: watercolour
id: 4
- row_ver: 5
code: 101
name: album
id: 5
...
เปเบซเปเปเบญเบปเบฒเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบก row_ver
เบเบฒเบเปเบเบงเบชเบธเบเบเปเบฒเบเปเบฅเบฐเปเบเบซเบฒเบเบฑเบเบเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ:
tarantool> get_goods(5)
---
- - row_ver: 6
code: 800
name: notebook
id: 6
- row_ver: 7
code: 531
name: rubber
id: 7
- row_ver: 8
code: 135
name: ruler
id: 8
...
เบญเบตเบโเปเบเบทเปเบญโเบซเบเบถเปเบ:
tarantool> get_goods(8)
---
- []
...
เบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, เปเบกเบทเปเบญเปเบเปเบงเบดเบเบตเบเบตเป, เบเบฑเบเบเบฑเบเบเบฐเบชเบปเปเบเบเบทเบเบเบฑเบเบเบถเบเบเบทเปเบเบเบตเปเบเบฑเบเบซเบกเบปเบเปเบเบเบซเบเปเบฒ goods
. เปเปเบฒเบชเบธเบเบเปเบฒเบเปเบกเปเบเบเบดเบเบเบฒเบกเบเปเบงเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบซเบงเปเบฒเบเปเบเบปเปเบฒ.
เบเปเปเบซเปเบเปเบฝเบเปเบเบเบเบทเปเบเบเบตเป:
box.space.goods:update(4, {{'=', 6, 'copybook'}})
box.space.goods:insert{nil, 'clip', 234}
box.space.goods:insert{nil, 'folder', 432}
เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฝเบเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบก name
เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบซเบเบถเปเบเปเบฅเบฐเปเบเบตเปเบกเบชเบญเบเบฅเบฒเบเบเบฒเบเปเบซเบกเป.
เปเบซเปเปเบฎเบฑเบเบเปเบณเบเบฒเบเปเบญเบตเปเบเบเบฑเบเบเบฑเบเบชเบธเบเบเปเบฒเบ:
tarantool> get_goods(8)
---
- - row_ver: 9
code: 800
name: copybook
id: 6
- row_ver: 10
code: 234
name: clip
id: 9
- row_ver: 11
code: 432
name: folder
id: 10
...
เบเบฑเบเบเบฑเบเบชเบปเปเบเบเบทเบเบเบฑเบเบเบถเบเบเบตเปเบเปเบฝเบเปเบเบเปเบฅเบฐเปเบเบตเปเบก. เบเบฑเปเบเบเบฑเปเบเบซเบเปเบฒเบเบตเป get_goods
เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเปเบเบเบฑเปเบเบชเบธเบเบเปเบฒเบ, เปเบเบดเปเบเปเบเบฑเบเบเบทเปเบเบเบฒเบเบเบญเบเบงเบดเบเบตเบเบฒเบ replication เบเบฒเบเปเบเปเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒ.
เบเบงเบเปเบฎเบปเบฒเบเบฐเบญเบญเบเบเบฒเบเบเบฒเบเบญเบญเบเบเบปเบเปเบเปเบฎเบฑเบเบเปเบฒเบ HTTP เปเบเบฎเบนเบเปเบเบเบเบญเบ JSON เบขเบนเปเบเบญเบเบเบญเบเปเบเบเบเบญเบเบเบปเบเบเบงเบฒเบกเบเบตเป. เบเปเบฒเบเบชเบฒเบกเบฒเบเบญเปเบฒเบเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเปเบเปเบเบตเปเบเบตเป:
เบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบชเปเบงเบเบฅเบนเบเบเปเบฒ/เบเบฒเบ
เบเปเปเบซเปเบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบดเปเบเบงเปเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเปเบฒเบเบฎเบฑเบเปเบเบฑเบเปเบเบงเปเบ. เปเบซเปเบชเปเบฒเบเบเบทเปเบเบเบตเปเบขเบนเปเปเบเบเปเบฒเบเบเบฒเบเบฎเบฑเบเปเบเบทเปเบญเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบตเปเบเบฒเบงเปเบซเบฅเบเบกเบฒ:
box.schema.space.create('goods', {
format = {
{
name = 'id',
type = 'unsigned'
},
{
name = 'name',
type = 'string'
},
{
name = 'code',
type = 'unsigned'
}
},
if_not_exists = true
})
box.space.goods:create_index('primary', {
parts = { 'id' },
sequence = 'goods_id',
unique = true,
type = 'HASH',
if_not_exists = true
})
เปเบเบเบชเปเบฒเบเบเบญเบเบเบทเปเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเปเบเบเบชเปเบฒเบเบเบญเบเบเบทเปเบเบเบตเปเปเบเปเบซเบผเปเบ. เปเบเปเปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเปเบเปเบฒเบเบเปเปเบกเบนเบเบเบตเปเปเบเปเบฎเบฑเบเบเบฒเบเบเปเบญเบเบญเบทเปเบ, เบเบฑเบ row_ver
เบเปเปเปเบเปเบขเบนเปเปเบเบเบทเปเบเบเบตเปเบเบญเบเบเบนเปเบฎเบฑเบ. เปเบเบเบฒเบเบชเบฐเบซเบเบฒเบก id
เบเบปเบงเบฅเบฐเบเบธเปเบซเบผเปเบเบเบฐเบเบทเบเบเบฑเบเบเบถเบเปเบงเป. เบเบฑเปเบเบเบฑเปเบ, เปเบเบเปเบฒเบเบเบนเปเบฎเบฑเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบเบตเปเบกเบเบถเปเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ.
เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบทเปเบเบเบตเปเปเบเบทเปเบญเบเปเบงเบเบเบฐเบขเบฑเบเบกเบนเบเบเปเบฒ row_ver
:
box.schema.space.create('row_ver', {
format = {
{
name = 'space_name',
type = 'string'
},
{
name = 'value',
type = 'string'
}
},
if_not_exists = true
})
box.space.row_ver:create_index('primary', {
parts = { 'space_name' },
unique = true,
type = 'HASH',
if_not_exists = true
})
เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบทเปเบเบเบตเปเปเบซเบผเบ (เบเบฒเบเบชเบฐเบซเบเบฒเบก space_name
) เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฑเบเบเบถเบเบเปเบฒเบเบตเปเปเบซเบฅเบเบซเบผเปเบฒเบชเบธเบเบขเบนเปเบเบตเปเบเบตเป row_ver
(เบเบฒเบเบชเบฐเบซเบเบฒเบก value
). เบเบฑเบเปเบฎเบฑเบเปเปเบฒเบเบตเปเปเบเบฑเบเบเบฐเปเบเบซเบผเบฑเบ space_name
.
เบกเบฒเบชเปเบฒเบเบเบฑเบเบเบฑเบเปเบเบทเปเบญเปเบซเบผเบเบเปเปเบกเบนเบเบเบทเปเบเบเบตเป goods
เบเปเบฒเบ HTTP. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบตเปเบเบฐเบเบดเบเบฑเบเบฅเบนเบเบเปเบฒ HTTP. เปเบเบงเบเปเปเปเบเบเบตเปเบเบฐเปเบซเบผเบเบซเปเบญเบเบชเบฐเปเบธเบ เปเบฅเบฐเปเบฅเบฑเปเบเบฅเบนเบเบเปเบฒ HTTP:
local http_client = require('http.client').new()
เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเบญเบเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบชเปเบฒเบฅเบฑเบ json deserialization:
local json = require('json')
เบเบตเปเปเบกเปเบเบเบฝเบเบเปเบเบตเปเบเบฐเบชเปเบฒเบเบซเบเปเบฒเบเบตเปเปเบซเบฅเบเบเปเปเบกเบนเบ:
local function load_data(url, row_ver)
local url = ('%s?rowVer=%s'):format(url,
tostring(row_ver))
local body = nil
local data = http_client:request('GET', url, body, {
keepalive_idle = 1,
keepalive_interval = 1
})
return json.decode(data.body)
end
เบเบฑเบเบเบฑเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบฎเปเบญเบเบเป HTTP เปเบเบซเบฒเบเบตเปเบขเบนเป url เปเบฅเบฐเบชเบปเปเบเบกเบฑเบ row_ver
เปเบเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบฅเบฐเบชเบปเปเบเบเบทเบเบเบปเบเปเบเปเบฎเบฑเบ deserialized เบเบญเบเบเปเบฒเบฎเปเบญเบเบเป.
เบเบฑเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเบเบตเปเปเบเปเบฎเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
local function save_goods(goods)
local n = #goods
box.atomic(function()
for i = 1, n do
local obj = goods[i]
box.space.goods:put(
obj.id, obj.name, obj.code)
end
end)
end
เบฎเบญเบเบงเบฝเบเบเบญเบเบเบฒเบเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเปเบชเปเบเบทเปเบเบเบตเป goods
เบงเบฒเบเปเบงเปเปเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ (เบซเบเปเบฒเบเบตเปเบเบทเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป box.atomic
) เปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเปเบฒเบเบงเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเปเบเปเบ.
เบชเบธเบเบเปเบฒเบ, เบเบฑเบเบเบฑเบ synchronization เบเปเบญเบเบเปเบญเบเบเบดเปเบ goods
เบเปเบงเบเปเบซเบผเปเบเบเบตเปเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเบกเบฑเบเปเบเปเปเบเบฑเปเบเบเบตเป:
local function sync_goods()
local tuple = box.space.row_ver:get('goods')
local row_ver = tuple and tuple.value or 0
โโ set your url here:
local url = 'http://127.0.0.1:81/test/goods/list'
while true do
local goods = load_goods(url, row_ver)
local count = #goods
if count == 0 then
return
end
save_goods(goods)
row_ver = goods[count].rowVer
box.space.row_ver:put({'goods', row_ver})
end
end
เบเปเบฒเบญเบดเบเบเบงเบเปเบฎเบปเบฒเบญเปเบฒเบเบกเบนเบเบเปเบฒเบเบตเปเบเบฑเบเบเบถเบเปเบงเปเบเปเบญเบเบซเบเปเบฒเบเบตเป row_ver
เบชเปเบฒเบฅเบฑเบเบเปเบญเบ goods
. เบเปเบฒเบกเบฑเบเบเบฒเบเบซเบฒเบเปเบ (เบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเบเบฑเปเบเบเปเบฒเบญเบดเบ), เบเบงเบเปเบฎเบปเบฒเปเบญเบปเบฒเบกเบฑเบเปเบเบฑเบ row_ver
เบชเบนเบ. เบเปเปเปเบเปเบเบฎเบญเบเบงเบฝเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฒเบงเปเบซเบฅเบเบเปเปเบกเบนเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบเปเบซเบผเปเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบฑเบเบซเบเปเบฒเบเปเปเบซเบเปเบฒ. เปเบเปเบเปเบฅเบฐเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเบเบตเปเปเบเปเบฎเบฑเบเปเบงเปเปเบเบเบทเปเบเบเบตเปเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเปเบฅเบฐเบเบฑเบเบเบธเบเบกเบนเบเบเปเบฒ row_ver
(เปเบโเบญเบฐโเบงเบฐโเบเบฒเบโ row_ver
เปเบฅเบฐเปเบเบเบปเบงเปเบ row_ver
) - เปเบญเบปเบฒเบกเบนเบเบเปเบฒ row_ver
เบเบฒเบเปเบเบงเบชเบธเบเบเปเบฒเบเบเบญเบเบเปเปเบกเบนเบเบเบตเปเปเบซเบฅเบ.
เปเบเบทเปเบญโเบเปเบญเบโเบเบฑเบโเบเบฒเบโเบญเบธโเบเบฐโเบเบดโเปเบซเบ looping (เปเบโเบเปโเบฅเบฐโเบเบตโเบเบญเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโเปเบโเปเบเบโเบเบฒเบโ) เปเบเปโ, loopโ while
เบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบปเบเปเบเบเปเบเบ for
:
for _ = 1, max_req do ...
เปเบเบฑเบเบเบปเบเบกเบฒเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเป sync_goods
เบเปเบญเบ goods
เปเบเบทเปเบญเบเบฎเบฑเบเบเบฐเบกเบตเบฅเบธเปเบเบซเบผเปเบฒเบชเบธเบเบเบญเบเบเบฑเบเบเบถเบเบเบทเปเบเบเบตเปเบเบฑเบเปเบปเบ goods
เปเบเปเบซเบผเปเบ.
เปเบเปเบเบญเบ, เบเบฒเบเบฅเบถเบเบเปเปเบกเบนเบเบเปเปเบชเบฒเบกเบฒเบเบญเบญเบเบญเบฒเบเบฒเบเบเปเบงเบเบงเบดเบเบตเบเบตเป. เบเปเบฒเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบกเบต, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบซเบกเบฒเบเบเบฒเบเบฅเบถเบ. เปเบเบตเปเบกเปเบชเปเบเบทเปเบเบเบตเป goods
เบเปเบญเบ boolean is_deleted
เปเบฅเบฐเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเบฒเบเบฅเบถเบเบเบฑเบเบเบถเบเบเบฒเบเบฎเปเบฒเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฒเบเบฅเบถเบเบขเปเบฒเบเบกเบตเปเบซเบเบเบปเบ - เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบปเบเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบก is_deleted
เปเบเบปเปเบฒเปเบเปเบเบเบงเบฒเบกเบซเบกเบฒเบ true
. เบเบฒเบเบเบฑเปเบเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฒเบก boolean is_deleted
เบกเบฑเบเบชเบฐเบเบงเบเบเบงเปเบฒเบเบตเปเบเบฐเบเปเบฒเปเบเปเบเบฒเบเบชเบฐเบซเบเบฒเบก deleted
, เปเบเบดเปเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบงเบฑเบเบเบต-เปเบงเบฅเบฒเบเบญเบเบเบฒเบเบฅเบถเบเบเบฑเบเบเบถเบเบขเปเบฒเบเบกเบตเปเบซเบเบเบปเบ. เบซเบผเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบฅเบถเบเบขเปเบฒเบเบกเบตเปเบซเบเบเบปเบ, เบเบฑเบเบเบถเบเบเบตเปเบซเบกเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบถเบเบเบฐเบเบทเบเปเบญเบเบเบฒเบเปเบซเบผเปเบเปเบเบซเบฒเบเบธเบเบซเบกเบฒเบเบเบฒเบเบเบฒเบ (เบญเบตเบเบเบฒเบกเปเบซเบเบเบปเบเบเบตเปเปเบเปเบชเบปเบเบเบฐเบเบฒเบเปเบฒเบเปเบเบดเบ).
เบฅเปเบฒเบเบฑเบ row_ver
เบชเบฒเบกเบฒเบเปเบเปเปเบเบทเปเบญเบชเบปเปเบเบเปเปเบกเบนเบเบเบฒเบเบเปเบญเบเบญเบทเปเบ: เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเบฅเปเบฒเบเบฑเบเปเบเบเบเปเบฒเบเบซเบฒเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเปเบญเบเบเบตเปเบชเบปเปเบ.
เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบเบเบฒเบเบเปเบฒเบฅเบญเบเบเปเปเบกเบนเบเบฅเบฐเบเบฑเบเบชเบนเบเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเปเบเป Tarantool DBMS.
เบเบฒเบเบเบปเปเบเบเบปเบ
- Tarantool DBMS เปเบเบฑเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบตเปเปเปเบฒเบชเบปเบเปเบ, เปเบเบเปเบเบฑเปเบเปเบเบเบฒเบเบชเปเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเปเบซเบผเบเปเบเปเบชเบนเบ.
- เบเบฒเบเบเบณเบฅเบญเบเบเปเปเบกเบนเบเบฅเบฐเบเบฑเบเบชเบนเบเบกเบตเบเปเปเบเบตเบซเบผเบฒเบเบเปเบฒเบเบเปเปเบเบฑเบเบเบฒเบเบเบณเบฅเบญเบเบเปเปเบกเบนเบเบฅเบฐเบเบฑเบเบเปเปเบฒ.
- เบงเบดเบเบตเบเบฒเบ replication เบฅเบฐเบเบฑเบเบชเบนเบเบเบตเปเบเบถเบเบชเบฒเบซเบฒเบฅเบทเปเบเบเบปเบเบเบงเบฒเบกเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบซเบผเบธเบเบเปเบญเบเบเปเบฒเบเบงเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเปเบญเบเปเบซเปเบซเบเปเบญเบเบฅเบปเบเปเบเบเบเบฒเบเปเบญเบเบเบฝเบเปเบเปเบเบฑเบเบเบถเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเบเบตเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบฑเบเบเบฑเปเบเปเบเปเบเบญเบเบเบฐเบเบธเบกเปเบฅเบเบเปเบฝเบเบเบตเปเบเปเบฒเบเบกเบฒ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com