เชนเซเชฒเซ, เชนเซเช DBMS เชฎเชพเชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเซ เชเซเช
เชถเชเซเชคเชฟ เช
เชจเซเชญเชตเซ! (...เชเชฐเซเชซ เชชเซเชฐเชฆเชฐเซเชถเชจเชจเซ เชเชจเชเชฆ เชฎเชพเชฃเซ)
เชเชชเชฐเซเชเซเชค เชคเชฎเชพเชฎ เชกเซเชเชพเชฌเซเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชคเซ เชนเชพเช-เชฒเซเชก เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเซเชฐเชจเซเชเซเชฒเชจเซ เชเชเชฐเซเชทเช เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชฌเชจเชพเชตเซ เชเซ. เชเชตเซ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธเชฎเชพเช, เชเชฃเซ เชตเชเชค เชกเซเชเชพเชจเซ เชจเชเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเซ เชเซ.
เชเชชเชฐ เชเชฃเชพเชตเซเชฏเชพ เชฎเซเชเชฌ, เชเซเชฐเชจเซเชเซเชฒเชฎเชพเช เชฌเชฟเชฒเซเช-เชเชจ เชกเซเชเชพ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชเซ. เชคเซเชจเชพ เชเชชเชฐเซเชถเชจเชจเซ เชธเชฟเชฆเซเชงเชพเชเชค เชฎเชพเชธเซเชเชฐ เชฒเซเช (WAL) เชฎเชพเช เชธเชฎเชพเชตเชฟเชทเซเช เชคเชฎเชพเชฎ เชตเซเชฏเชตเชนเชพเชฐเซเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเช เชชเชฐ เชเซเชฐเชฎเชฟเช เชฐเซเชคเซ เช
เชฎเชฒ เชเชฐเชตเชพเชจเซ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชตเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ (เช
เชฎเซ เชคเซเชจเซ เชเชเชณ เชเชนเซเชถเซเช เชจเชฟเชฎเซเชจ เชธเซเชคเชฐ) เชจเซ เชเชชเชฏเซเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชซเซเชฒเซเช เชธเชนเชฟเชทเซเชฃเซเชคเชพเชจเซ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพ เช
เชจเซ/เช
เชฅเชตเชพ เชเซเชฒเชธเซเชเชฐ เชจเซเชกเซเชธ เชตเชเซเชเซ เชฐเซเชกเชฟเชเช เชฒเซเชกเชจเซ เชตเชฟเชคเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ.
เชเซเชเชพ. 1. เชเซเชฒเชธเซเชเชฐเชจเซ เช
เชเชฆเชฐ เชชเซเชฐเชคเชฟเชเซเชคเชฟ
เชตเซเชเชฒเซเชชเชฟเช เชฆเซเชถเซเชฏเชจเซเช เชเชฆเชพเชนเชฐเชฃ เชชเซเชฐเซเชธเซเชธเชฟเชเช/เชฎเซเชจเชฟเชเชฐเชฟเชเช เชฎเชพเชเซ เชเช เชกเซเชเชพเชฌเซเชเชฎเชพเช เชฌเชจเชพเชตเซเชฒ เชกเซเชเชพเชจเซ เชฌเซเชเชพ เชกเซเชเชพเชฌเซเชเชฎเชพเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชจเซเช เชเซ. เชชเชเซเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชตเชงเซ เช เชจเซเชเซเชณ เชเชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ เชเชเซเช เชธเซเชคเชฐ เชชเซเชฐเชคเชฟเชเซเชคเชฟ - เชเชชเซเชฒเชฟเชเซเชถเชจ เชฌเชฟเชเชจเซเชธ เชฒเซเชเชฟเช เชธเซเชคเชฐเซ เชกเซเชเชพ เชชเซเชฐเชคเชฟเชเซเชคเชฟ. เชคเซ. เช เชฎเซ DBMS เชฎเชพเช เชฌเชจเซเชฒเชพ เชคเซเชฏเชพเชฐ เชธเซเชฒเซเชฏเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชจเชฅเซ, เชชเชฐเชเชคเซ เช เชฎเซ เชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชตเชฟเชเชธเชพเชตเซเช เชเซเช เชคเซเชจเซ เช เชเชฆเชฐ เช เชฎเชพเชฐเซ เชเชพเชคเซ เช เชชเซเชฐเชคเชฟเชเซเชคเชฟเชจเซ เช เชฎเชฒ เชเชฐเซเช เชเซเช. เช เช เชญเชฟเชเชฎเชจเชพ เชซเชพเชฏเชฆเชพ เช เชจเซ เชเซเชฐเชซเชพเชฏเชฆเชพ เชฌเชเชจเซ เชเซ. เชเชพเชฒเซ เชซเชพเชฏเชฆเชพเชเชจเซ เชฏเชพเชฆเซ เชเชฐเซเช.
1. เชเซเชฐเชพเชซเชฟเช เชฌเชเชค:
- เชคเชฎเซ เชฌเชงเชพ เชกเซเชเชพเชจเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ, เชชเชฐเชเชคเซ เชคเซเชจเซ เชฎเชพเชคเซเชฐ เชเช เชญเชพเช (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเชฎเซ เชซเชเซเชค เช เชฎเซเช เชเซเชทเซเชเชเซ, เชคเซเชฎเชจเชพ เชเซเชเชฒเชพเช เชเซเชฒเชฎเซเชธ เช เชฅเชตเชพ เชฐเซเชเซเชฐเซเชกเซเชธเชจเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเซ เชถเชเซ เชเซ เชเซ เชเซเชเซเชเชธ เชฎเชพเชชเชฆเชเชกเชจเซ เชชเซเชฐเซเชฃ เชเชฐเซ เชเซ);
- เชจเชฟเชฎเซเชจ-เชธเซเชคเชฐเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชฅเซ เชตเชฟเชชเชฐเซเชค, เชเซ เช เชธเซเชฎเซเชณ (เชเซเชฐเชจเซเชเซเชฒเชจเชพ เชตเชฐเซเชคเชฎเชพเชจ เชธเชเชธเซเชเชฐเชฃ - 1.10 เชฎเชพเช เช เชฎเชฒเชฎเชพเช) เช เชฅเชตเชพ เชธเชฟเชเชเซเชฐเชจเชธ (เชเซเชฐเชจเซเชเซเชฒเชจเชพ เช เชจเซเชเชพเชฎเซ เชธเชเชธเซเชเชฐเชฃเซเชฎเชพเช เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ) เชฎเซเชกเชฎเชพเช เชธเชคเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชเซเช-เชธเซเชคเชฐเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชธเชคเซเชฐเซเชฎเชพเช เชเชฐเซ เชถเชเชพเชฏ เชเซ (เชเชเชฒเซ โโโโเชเซ, เชเชชเซเชฒเชฟเชเซเชถเชจ เชชเซเชฐเชฅเชฎ เชกเซเชเชพเชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเซ เชเซ - เชเช เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐ เชกเซเชเชพ, เชชเชเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชฎเชพเช เชตเชฟเชฐเชพเชฎ เชเซ, เชเซเชจเชพ เชชเชเซ เชเชเชพเชฎเซ เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐ เชฅเชพเชฏ เชเซ, เชตเชเซเชฐเซ);
- เชเซ เชเซเช เชฐเซเชเซเชฐเซเชก เชเชฃเซ เชตเชเชค เชฌเชฆเชฒเชพเช เชเชฏเซ เชนเซเชฏ, เชคเซ เชคเชฎเซ เชซเชเซเชค เชคเซเชจเชพ เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃเชจเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเซ เชถเชเซ เชเซ (เชจเชฟเชฎเซเชจ-เชธเซเชคเชฐเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชฅเซ เชตเชฟเชชเชฐเซเชค, เชเซเชฎเชพเช เชฎเชพเชธเซเชเชฐ เชชเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฒเชพ เชคเชฎเชพเชฎ เชซเซเชฐเชซเชพเชฐเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเช เชชเชฐ เช เชจเซเชเซเชฐเชฎเซ เชชเชพเชเชพ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ).
2. HTTP เชเชเซเชธเชเซเชจเซเชเชจเชพ เช เชฎเชฒเซเชเชฐเชฃเชฎเชพเช เชเซเช เชฎเซเชถเซเชเซเชฒเซเช เชจเชฅเซ, เชเซ เชคเชฎเชจเซ เชฐเชฟเชฎเซเช เชกเซเชเชพเชฌเซเชธเซเชธเชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ.
เชเซเชเชพ. 2. HTTP เชชเชฐ เชชเซเชฐเชคเชฟเชเซเชคเชฟ
3. เชกเซเชเชพเชฌเซเช เชธเซเชเซเชฐเชเซเชเชฐ เชเซ เชเซเชจเซ เชตเชเซเชเซ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชคเซ เชธเชฎเชพเชจ เชนเซเชตเซเช เชเชฐเซเชฐเซ เชจเชฅเซ (เชตเชงเซเชฎเชพเช, เชธเชพเชฎเชพเชจเซเชฏ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชตเชฟเชตเชฟเชง DBMS, เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเช, เชชเซเชฒเซเชเชซเซเชฐเซเชฎเซเชธ เชตเชเซเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชชเชฃ เชถเชเซเชฏ เชเซ).
เชเซเชเชพ. 3. เชตเชฟเชเชพเชคเซเชฏ เชชเซเชฐเชฃเชพเชฒเซเชเชฎเชพเช เชชเซเชฐเชคเชฟเชเซเชคเชฟ
เชจเซเชเชธเชพเชจ เช เชเซ เชเซ, เชธเชฐเซเชฐเชพเชถ, เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชฐเชคเชพเช เชตเชงเซ เชฎเซเชถเซเชเซเชฒ/เชเชฐเซเชเชพเชณ เชเซ, เช เชจเซ เชฌเชฟเชฒเซเช-เชเชจ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพเชจเซ เชเชธเซเชเชฎเชพเชเช เชเชฐเชตเชพเชจเซ เชฌเชฆเชฒเซ, เชคเชฎเชพเชฐเซ เชคเชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ เช เชฎเชฒเซเชเชฐเชฃ เชเชฐเชตเซ เชชเชกเชถเซ.
เชเซ เชคเชฎเชพเชฐเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชฎเชพเช เชเชชเชฐเซเชเซเชค เชซเชพเชฏเชฆเชพ เชจเชฟเชฐเซเชฃเชพเชฏเช เชเซ (เช เชฅเชตเชพ เชเชตเชถเซเชฏเช เชถเชฐเชค เชเซ), เชคเซ เชเชเซเช-เชธเซเชคเชฐเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชคเซ เช เชฐเซเชฅเชชเซเชฐเซเชฃ เชเซ. เชเชพเชฒเซ เชเซเชฐเซเชจเซเชเซเชฒ DBMS เชฎเชพเช เชเชเซเช-เชธเซเชคเชฐเชจเซ เชกเซเชเชพ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชจเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชจเซ เชเชฃเซ เชฐเซเชคเซ เชเซเชเช.
เชเซเชฐเชพเชซเชฟเช เชจเซเชฏเซเชจเชคเชฎ
เชคเซเชฅเซ, เชเชเซเช-เชธเซเชคเชฐเชจเซ เชจเชเชฒเชจเซ เชเช เชซเชพเชฏเชฆเซ เชเซเชฐเชพเชซเชฟเช เชฌเชเชค เชเซ. เช เชฒเชพเชญเชจเซ เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เชฆเชฐเซเช เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชกเซเชเชพเชจเซ เชฎเชพเชคเซเชฐเชพเชจเซ เชเชเซ เชเชฐเชตเซ เชเชฐเซเชฐเซ เชเซ. เช เชฒเชฌเชคเซเชค, เชเชชเชฃเซ เช เชจ เชญเซเชฒเชตเซเช เชเซเชเช เชเซ เชธเชคเซเชฐเชจเชพ เช เชเชคเซ, เชกเซเชเชพ เชฐเซเชธเซเชตเชฐเชจเซ เชธเซเชฐเซเชค เชธเชพเชฅเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชตเซเช เชเชตเชถเซเชฏเช เชเซ (เชเชเชพเชฎเชพเช เชเชเชพ เชกเซเชเชพเชจเชพ เชคเซ เชญเชพเช เชฎเชพเชเซ เชเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชฎเชพเช เชธเชพเชฎเซเชฒ เชเซ).
เชเชเซเช เชธเซเชคเชฐเซเชฏ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชกเซเชเชพเชจเซ เชฎเชพเชคเซเชฐเชพเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชเชเชพเชกเชตเซ? เชคเชพเชฐเซเช เช
เชจเซ เชธเชฎเชฏ เชฆเซเชตเชพเชฐเชพ เชกเซเชเชพ เชชเชธเชเชฆ เชเชฐเชตเชพเชจเซ เชธเซเชงเซ เชธเชพเชฆเซ เชเชเซเชฒ เชนเซเช เชถเชเซ เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ เชเซเชทเซเชเชเชฎเชพเช เชชเชนเซเชฒเชพเชฅเซ เช
เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ เชคเซ เชคเชพเชฐเซเช-เชธเชฎเชฏ เชซเซเชฒเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ (เชเซ เชคเซ เช
เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ). เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, "เชเชฐเซเชกเชฐ" เชฆเชธเซเชคเชพเชตเซเชเชฎเชพเช "เชเชฐเซเชฐเซ เชเชฐเซเชกเชฐ เชเชเซเชเซเชเซเชฏเซเชถเชจ เชธเชฎเชฏ" เชซเซเชฒเซเชก เชนเซเช เชถเชเซ เชเซ - delivery_time
. เช เชธเซเชฒเซเชฏเซเชถเชจเชจเซ เชธเชฎเชธเซเชฏเชพ เช เชเซ เชเซ เช เชเซเชทเซเชคเซเชฐเชจเชพ เชฎเซเชฒเซเชฏเซ เชเชฐเซเชกเชฐเชจเซ เชฐเชเชจเชพเชจเซ เช
เชจเซเชฐเซเชช เช
เชจเซเชเซเชฐเชฎเชฎเชพเช เชนเซเชตเชพ เชเชฐเซเชฐเซ เชจเชฅเซ. เชคเซเชฅเซ เชเชชเชฃเซ เชฎเชนเชคเซเชคเชฎ เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏเชจเซ เชฏเชพเชฆ เชฐเชพเชเซ เชถเชเชคเชพ เชจเชฅเซ delivery_time
, เช
เชเชพเชเชจเชพ เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชชเซเชฐเชธเชพเชฐเชฟเชค, เช
เชจเซ เชเชเชพเชฎเซ เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเชเซเช เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏ เชธเชพเชฅเซเชจเชพ เชคเชฎเชพเชฎ เชฐเซเชเซเชฐเซเชก เชชเชธเชเชฆ เชเชฐเซ delivery_time
. เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐเซ เชตเชเซเชเซ เชจเซเชเชพ เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏ เชธเชพเชฅเซเชจเชพ เชฐเซเชเซเชฐเซเชก เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชถเซ delivery_time
. เชเชชเชฐเชพเชเชค, เชเชฐเซเชกเชฐเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชฅเช เชถเชเซ เชเซ, เชเซ เชคเซเชฎ เชเชคเชพเช เชเซเชทเซเชคเซเชฐเชจเซ เช
เชธเชฐ เชเชฐเชคเซเช เชจเชฅเซ delivery_time
. เชฌเชเชจเซ เชเชฟเชธเซเชธเชพเชเชฎเชพเช, เชซเซเชฐเชซเชพเชฐเซ เชธเซเชคเซเชฐเซเชคเชฎเชพเชเชฅเซ เชเชเชคเชตเซเชฏ เชธเซเชฅเชพเชจ เชชเชฐ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชนเซเช. เช เชธเชฎเชธเซเชฏเชพเช เชเชเซเชฒเชตเชพ เชฎเชพเชเซ, เช
เชฎเชพเชฐเซ เชกเซเชเชพ "เชเชตเชฐเชฒเซเชชเชฟเชเช" เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชคเซ. เชฆเชฐเซเช เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐเชฎเชพเช เช
เชฎเซ เชซเซเชฒเซเชก เชตเซเชฒเซเชฏเซ เชธเชพเชฅเซ เชคเชฎเชพเชฎ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซเชถเซเช delivery_time
, เชญเซเชคเชเชพเชณเชฎเชพเช เช
เชฎเซเช เชฌเชฟเชเชฆเซเชเชฅเซ เชตเชงเซ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชตเชฐเซเชคเชฎเชพเชจ เชเซเชทเชฃเชฅเซ N เชเชฒเชพเช). เชเซ เชเซ, เชคเซ เชธเซเชชเชทเซเช เชเซ เชเซ เชฎเซเชเซ เชธเชฟเชธเซเชเชฎเซ เชฎเชพเชเซ เช เช
เชญเชฟเชเชฎ เช
เชคเซเชฏเชเชค เชจเชฟเชฐเชฐเซเชฅเช เชเซ เช
เชจเซ เชคเซ เชเซเชฐเชพเชซเชฟเช เชฌเชเชคเชจเซ เชเชเชพเชกเซ เชถเชเซ เชเซ เชเซเชจเชพ เชฎเชพเชเซ เช
เชฎเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช. เชตเชงเซเชฎเชพเช, เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชฐเชนเซเชฒเชพ เชเซเชทเซเชเชเชฎเชพเช เชคเชพเชฐเซเช-เชธเชฎเชฏ เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒ เชซเซเชฒเซเชก เชจ เชนเซเช เชถเชเซ.
เช
เชจเซเชฏ เชเชเซเชฒ, เช
เชฎเชฒเซเชเชฐเชฃเชจเซ เชฆเซเชฐเชทเซเชเชฟเช เชตเชงเซ เชเชเชฟเชฒ, เชกเซเชเชพเชจเซ เชชเซเชฐเชพเชชเซเชคเชฟเชจเซ เชธเซเชตเซเชเชพเชฐเชตเชพเชจเซเช เชเซ. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชฆเชฐเซเช เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชคเชฎเชพเชฎ เชกเซเชเชพ เชชเซเชฐเชธเชพเชฐเชฟเชค เชฅเชพเชฏ เชเซ, เชเซเชจเซ เชชเซเชฐเชพเชชเซเชคเชฟ เชชเซเชฐเชพเชชเซเชคเชเชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เชชเซเชทเซเชเชฟ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชจเชฅเซ. เชเชจเซ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชธเซเชคเซเชฐเซเชค เชเซเชทเซเชเชเชฎเชพเช เชฌเซเชฒเชฟเชฏเชจ เชเซเชฒเชฎ เชเชฎเซเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, is_transferred
). เชเซ เชชเซเชฐเชพเชชเซเชคเชเชฐเซเชคเชพ เชฐเซเชเซเชฐเซเชกเชจเซ เชฐเชธเซเชฆ เชธเซเชตเซเชเชพเชฐเซ เชเซ, เชคเซ เชธเชเชฌเชเชงเชฟเชค เชเซเชทเซเชคเซเชฐ เชฎเซเชฒเซเชฏ เชฒเซ เชเซ true
, เชเซ เชชเชเซ เชเชจเซเชเซเชฐเซ เชนเชตเซ เชเชเซเชธเชเซเชจเซเชเชฎเชพเช เชธเชพเชฎเซเชฒ เชจเชฅเซ. เช เช
เชฎเชฒเซเชเชฐเชฃ เชตเชฟเชเชฒเซเชชเชฎเชพเช เชจเซเชเซเชจเชพ เชเซเชฐเชซเชพเชฏเชฆเชพ เชเซ. เชธเซเชชเซเชฐเชฅเชฎ, เชฆเชฐเซเช เชฐเซเชเซเชฐเซเชก เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ, เชเช เชธเซเชตเซเชเซเชคเชฟ เชเชจเชฐเซเช เช
เชจเซ เชฎเซเชเชฒเชตเซ เชเชตเชถเซเชฏเช เชเซ. เชเชถเชฐเซ เชเชนเซเช เชคเซ, เช เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเชพเชฏเซเชฒเชพ เชกเซเชเชพเชจเชพ เชเชฅเซเชฅเชพเชจเซ เชฌเชฎเชฃเชพ เชเชฐเชตเชพ เช
เชจเซ เชฐเชพเชเชจเซเชกเชเซเชฐเซเชชเซเชธเชจเซ เชธเชเชเซเชฏเชพเชจเซ เชฌเชฎเชฃเซ เชเชฐเชตเชพ เชคเชฐเชซ เชฆเซเชฐเซ เชเชตเชพ เชธเชพเชฅเซ เชคเซเชฒเชจเชพเชคเซเชฎเช เชนเซเช เชถเชเซ เชเซ. เชฌเซเชเซเช, เชเชฃเชพ เชฐเซเชธเซเชตเชฐเซเชจเซ เชธเชฎเชพเชจ เชฐเซเชเซเชฐเซเชก เชฎเซเชเชฒเชตเชพเชจเซ เชเซเช เชถเชเซเชฏเชคเชพ เชจเชฅเซ (เชชเซเชฐเชพเชชเซเชค เชเชฐเชจเชพเชฐ เชชเซเชฐเชฅเชฎ เชฐเซเชธเซเชตเชฐ เชชเซเชคเชพเชจเชพ เชฎเชพเชเซ เช
เชจเซ เช
เชจเซเชฏ เชคเชฎเชพเชฎ เชฎเชพเชเซ เชฐเชธเซเชฆเชจเซ เชชเซเชทเซเชเชฟ เชเชฐเชถเซ).
เชเช เชชเชฆเซเชงเชคเชฟ เชเซ เชเซเชฎเชพเช เชเชชเชฐ เชเชชเซเชฒเชพ เชเซเชฐเชซเชพเชฏเชฆเชพเช เชจเชฅเซ เชคเซ เชคเซเชจเซ เชชเชเชเซเชคเชฟเชเชฎเชพเช เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเซเชฐเซ
เช เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชธเชพเชฐเชฟเชค เชเซเชทเซเชเชเชฎเชพเช เชเซเชฒเชฎ เชเชฎเซเชฐเชตเชพเชจเซ เชเซ. เชเชตเซ เชเซเชฒเชฎ เชคเชพเชฐเซเช-เชธเชฎเชฏ เชชเซเชฐเชเชพเชฐเชจเซ เชนเซเช เชถเชเซ เชเซ เช
เชจเซ เชฆเชฐเซเช เชตเชเชคเซ เชฐเซเชเซเชฐเซเชก เชเชฎเซเชฐเชตเชพ/เชฌเชฆเชฒเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ (เชชเชฐเชฎเชพเชฃเซ เชฐเซเชคเซ เชเชฎเซเชฐเชพ/เชซเซเชฐเชซเชพเชฐ เชธเชพเชฅเซ) เชตเชฐเซเชคเชฎเชพเชจ เชธเชฎเชฏ เชฎเชพเชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฆเซเชตเชพเชฐเชพ เชธเซเช/เช
เชชเชกเซเช เชฅเชตเซ เชเซเชเช. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเชพเชฒเซ เชเซเชฒเชฎ เชเชนเซเช update_time
. เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชฐเซเชเซเชฐเซเชกเซเชธ เชฎเชพเชเซ เช เชเซเชฒเชฎเชจเชพ เชฎเชนเชคเซเชคเชฎ เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏเชจเซ เชธเชพเชเชตเซเชจเซ, เช
เชฎเซ เช เชฎเซเชฒเซเชฏ เชธเชพเชฅเซ เชเชเชพเชฎเซ เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐ เชถเชฐเซ เชเชฐเซ เชถเชเซเช เชเซเช (เชซเชฟเชฒเซเชก เชฎเซเชฒเซเชฏ เชธเชพเชฅเซเชจเชพ เชฐเซเชเซเชฐเซเชกเซเชธ เชชเชธเชเชฆ เชเชฐเซ update_time
, เช
เชเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชฎเซเชฒเซเชฏ เชเชฐเชคเชพเช เชตเชงเซ เชเชพเชฏ เชเซ). เชชเชเซเชจเชพ เช
เชญเชฟเชเชฎ เชธเชพเชฅเซ เชธเชฎเชธเซเชฏเชพ เช เชเซ เชเซ เชกเซเชเชพ เชซเซเชฐเชซเชพเชฐเซ เชฌเซเชเชฎเชพเช เชฅเช เชถเชเซ เชเซ. เชเซเชฒเชฎเชฎเชพเช เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏเซเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ update_time
เช
เชจเชจเซเชฏ เชจ เชนเซเช เชถเชเซ. เชเชฎ, เช เชเซเชฒเชฎเชจเซ เชเชชเชฏเซเช เชตเชฟเชญเชพเชเซเชค (เชชเซเชทเซเช -เชฆเชฐ-เชชเซเชทเซเช ) เชกเซเชเชพ เชเชเชเชชเซเช เชฎเชพเชเซ เชเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซ. เชชเซเชทเซเช เชฆเซเชตเชพเชฐเชพ เชกเซเชเชพ เชชเซเชทเซเช เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชตเชงเชพเชฐเชพเชจเซ เชฎเชฟเชเซเชจเชฟเชเชฎเซเชธเชจเซ เชถเซเชง เชเชฐเชตเซ เชชเชกเชถเซ เชเซเชจเซ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชเชฃเซ เชเชเซ เชนเชถเซ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชกเซเชเชพเชฌเซเชเชฎเชพเชเชฅเซ เชฎเซเชฒเซเชฏ เชธเชพเชฅเซเชจเชพ เชคเชฎเชพเชฎ เชฐเซเชเซเชฐเซเชกเซเชธ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ. update_time
เชเชชเซเชฒ เชเช เชเชฐเชคเชพเช เชตเชงเซ เช
เชจเซ เชจเชฎเซเชจเชพเชจเซ เชถเชฐเซเชเชคเชฅเซ เชเซเชเซเชเชธ เชเชซเชธเซเชเชฅเซ เชถเชฐเซ เชเชฐเซเชจเซ, เชเซเชเซเชเชธ เชธเชเชเซเชฏเชพเชฎเชพเช เชฐเซเชเซเชฐเซเชกเซเชธเชจเซเช เชจเชฟเชฐเซเชฎเชพเชฃ เชเชฐเชตเซเช).
เชคเชฎเซ เช
เชเชพเชเชจเชพ เช
เชญเชฟเชเชฎเชฎเชพเช เชฅเซเชกเซ เชธเซเชงเชพเชฐเซ เชเชฐเซเชจเซ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐเชจเซ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพเชฎเชพเช เชธเซเชงเชพเชฐเซ เชเชฐเซ เชถเชเซ เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เช
เชฎเซ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเซเชฐเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชฒเชฎ เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏเซ เชคเชฐเซเชเซ เชชเซเชฐเซเชฃเชพเชเช เชชเซเชฐเชเชพเชฐ (เชฒเชพเชเชฌเชพ เชชเซเชฐเซเชฃเชพเชเช) เชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เชเชพเชฒเซ เชเซเชฒเชฎเชจเซเช เชจเชพเชฎ เชเชชเซเช row_ver
. เช เชเซเชฒเชฎเชจเซเช เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏ เชนเชเซ เชชเชฃ เชฆเชฐ เชตเชเชคเซ เชเซเชฏเชพเชฐเซ เชฐเซเชเซเชฐเซเชก เชฌเชจเชพเชตเชพเชฏ/เชธเชเชถเซเชงเชฟเชค เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ เชธเซเช/เช
เชชเชกเซเช เชเชฐเชตเซเช เชเชตเชถเซเชฏเช เชเซ. เชชเชฐเชเชคเซ เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชซเซเชฒเซเชกเชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชคเชพเชฐเซเช-เชธเชฎเชฏ เชธเซเชเชชเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชนเซเช, เชชเชฐเชเชคเซ เชเซเชเชฒเชพเช เชเชพเชเชจเซเชเชฐเชจเซเช เชฎเซเชฒเซเชฏ, เชเช เชฆเซเชตเชพเชฐเชพ เชตเชงเซเชฏเซเช เชเซ. เชชเชฐเชฟเชฃเชพเชฎเซ, เชเซเชฒเชฎ row_ver
เช
เชจเชจเซเชฏ เชฎเซเชฒเซเชฏเซ เชงเชฐเชพเชตเชถเซ เช
เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช เชซเชเซเชค "เชกเซเชฒเซเชเชพ" เชกเซเชเชพ (เชชเชพเชเชฒเชพ เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐเชจเชพ เช
เชเชคเชฅเซ เชเชฎเซเชฐเชพเชฏเซเชฒ/เชฌเชฆเชฒเชพเชฏเซเชฒ เชกเซเชเชพ) เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เช เชจเชนเซเช, เชชเชฃ เชคเซเชจเซ เชธเชฐเชณ เช
เชจเซ เช
เชธเชฐเชเชพเชฐเช เชฐเซเชคเซ เชชเซเชทเซเช เซเชฎเชพเช เชตเชฟเชญเชพเชเซเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชชเชฃ เชฅเช เชถเชเซ เชเซ.
เชเชเซเช-เชธเซเชคเชฐเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชจเชพ เชฎเชพเชณเชเชพเชฎเชพเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชกเซเชเชพเชจเชพ เชเชฅเซเชฅเชพเชจเซ เชเชเชพเชกเชตเชพเชจเซ เชเซเชฒเซเชฒเซ เชธเซเชเชฟเชค เชชเชฆเซเชงเชคเชฟ เชฎเชจเซ เชธเซเชฅเซ เชถเซเชฐเซเชทเซเช เช เชจเซ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช เชฒเชพเชเซ เชเซ. เชเชพเชฒเซ เชคเซเชจเซ เชตเชงเซ เชตเชฟเชเชคเชฎเชพเช เชเซเชเช.
เชชเชเชเซเชคเชฟ เชธเชเชธเซเชเชฐเชฃ เชเชพเชเชจเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชกเซเชเชพ เชชเชธเชพเชฐ เชเชฐเชตเซ
เชธเชฐเซเชตเชฐ/เชฎเชพเชธเซเชเชฐ เชญเชพเชเชจเซเช เช เชฎเชฒเซเชเชฐเชฃ
MS SQL เชธเชฐเซเชตเชฐเชฎเชพเช, เช เช
เชญเชฟเชเชฎเชจเซ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพ เชฎเชพเชเซ เชเช เชตเชฟเชถเชฟเชทเซเช เชเซเชฒเชฎ เชชเซเชฐเชเชพเชฐ เชเซ - rowversion
. เชฆเชฐเซเช เชกเซเชเชพเชฌเซเชเชฎเชพเช เชเช เชเชพเชเชจเซเชเชฐ เชนเซเชฏ เชเซ เชเซ เชฆเชฐ เชตเชเชคเซ เชฐเซเชเซเชฐเซเชก เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ/เชฌเชฆเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซเชฎเชพเช เชเช เชเซเชฒเชฎ เชนเซเชฏ เชเซ. rowversion
. เช เชเชพเชเชจเซเชเชฐเชจเซเช เชฎเซเชฒเซเชฏ เชเชฎเซเชฐเชพเชฏเซเชฒ/เชฌเชฆเชฒเซเชฒเชพ เชฐเซเชเซเชฐเซเชกเชฎเชพเช เช เชเซเชฒเชฎเชจเชพ เชซเซเชฒเซเชกเชจเซ เชเชชเชฎเซเชณเซ เชธเซเชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเซเชฐเชจเซเชเซเชฒ DBMS เชชเชพเชธเซ เชธเชฎเชพเชจ เชฌเชฟเชฒเซเช-เชเชจ เชฎเชฟเชเซเชจเชฟเชเชฎ เชจเชฅเซ. เชเซ เชเซ, เชเซเชฐเชจเซเชเซเชฒเชฎเชพเช เชคเซเชจเซ เชเชพเชคเซ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชตเซเช เชฎเซเชถเซเชเซเชฒ เชจเชฅเซ. เชเชพเชฒเซ เชเซเชเช เชเซ เช เชเซเชตเซ เชฐเซเชคเซ เชฅเชพเชฏ เชเซ.
เชชเซเชฐเชฅเชฎ, เชฅเซเชกเซ เชชเชฐเชฟเชญเชพเชทเชพ: เชเซเชฐเซเชจเซเชเซเชฒเชฎเชพเช เชเซเชทเซเชเชเซเชจเซ เชธเซเชชเซเชธ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เชฐเซเชเซเชฐเซเชกเซเชธเชจเซ เชเซเชฏเซเชชเชฒเซเชธ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเซเชฐเซเชจเซเชเซเชฒเชฎเชพเช เชคเชฎเซ เชธเชฟเชเซเชตเชจเซเชธ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ. เชเซเชฐเชฎเชพเชเชเชฟเชค เชชเซเชฐเซเชฃเชพเชเช เชฎเซเชฒเซเชฏเซเชจเชพ เชจเชพเชฎเชพเชเชเชฟเชค เชเชจเชฐเซเชเชฐ เชเชฐเชคเชพเช เชตเชงเซ เชเชเช เชจเชฅเซ. เชคเซ. เช เชคเซ เช เชเซ เชเซ เชเชชเชฃเชจเซ เชเชชเชฃเชพ เชนเซเชคเซเช เชฎเชพเชเซ เชเซเชเช เชเซ. เชจเซเชเซ เชเชชเชฃเซ เชเชตเซ เชเซเชฐเชฎ เชฌเชจเชพเชตเซเชถเซเช.
เชเซเชฐเชจเซเชเซเชฒเชฎเชพเช เชเซเชเชชเชฃ เชกเซเชเชพเชฌเซเช เชเชชเชฐเซเชถเชจ เชเชฐเชคเชพ เชชเชนเซเชฒเชพ, เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
box.cfg{}
เชชเชฐเชฟเชฃเชพเชฎเซ, Tarantool เชตเชฐเซเชคเชฎเชพเชจ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชกเซเชเชพเชฌเซเช เชธเซเชจเซเชชเชถเซเช เช เชจเซ เชเซเชฐเชพเชจเซเชเซเชเซเชถเชจ เชฒเซเช เชฒเชเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเชถเซ.
เชเชพเชฒเซ เชเช เชเซเชฐเชฎ เชฌเชจเชพเชตเซเช row_version
:
box.schema.sequence.create('row_version',
{ if_not_exists = true })
เชตเชฟเชเชฒเซเชช if_not_exists
เชธเชฐเซเชเชจ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชฃเซ เชตเชเชค เชเชฒเชพเชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ: เชเซ เชเชฌเซเชเซเชเซเช เช
เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ, เชคเซ เชเซเชฐเซเชจเซเชเซเชฒ เชคเซเชจเซ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชถเซ เชจเชนเซเช. เช เชตเชฟเชเชฒเซเชชเชจเซ เชเชชเชฏเซเช เชชเชเซเชจเชพ เชคเชฎเชพเชฎ 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
), เชเซเชทเซเชคเซเชฐเชจเชพ เชจเชพเชฎเซ เช
เชจเซ เชคเซเชฎเชจเชพ เชชเซเชฐเชเชพเชฐเซ.
เชเซเชฐเชจเซเชเซเชฒเชฎเชพเช เชเชเซ-เชเชจเซเชเซเชฐเชฟเชฎเซเชจเซเชเชฟเชเช เชซเซเชฒเซเชกเซเชธ เชชเชฃ เชธเชฟเชเซเชตเชจเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชพเชฒเซ เชซเซเชฒเซเชก เชฆเซเชตเชพเชฐเชพ เชธเซเชตเชคเช-เชตเชงเชพเชฐเชคเซ เชชเซเชฐเชพเชฅเชฎเชฟเช เชเซ เชฌเชจเชพเชตเซเช 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
})
เชเซเชฐเซเชจเซเชเซเชฒ เช เชจเซเช เชชเซเชฐเชเชพเชฐเชจเชพ เชเชจเซเชกเซเชเซเชธเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ. เชธเซเชฅเซ เชตเชงเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเชพ เชธเซเชเชเชพเชเชเซ TREE เช เชจเซ HASH เชชเซเชฐเชเชพเชฐเซ เชเซ, เชเซ เชจเชพเชฎเชจเซ เช เชจเซเชฐเซเชช เชฌเชเชงเชพเชฐเชฃเซ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเซ. TREE เชธเซเชฅเซ เชธเชฐเซเชตเชคเซเชฎเซเชเซ เชเชจเซเชกเซเชเซเชธ เชชเซเชฐเชเชพเชฐ เชเซ. เชคเซ เชคเชฎเชจเซ เชธเชเชเช เชฟเชค เชฐเซเชคเซ เชกเซเชเชพ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชชเชฐเชเชคเซ เชธเชฎเชพเชจเชคเชพ เชชเชธเชเชฆเชเซ เชฎเชพเชเซ, HASH เชตเชงเซ เชฏเซเชเซเชฏ เชเซ. เชคเชฆเชจเซเชธเชพเชฐ, เชชเซเชฐเชพเชฅเชฎเชฟเช เชเซ เชฎเชพเชเซ HASH เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชธเชฒเชพเชน เชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เชเซ เช เชฎเซ เชเชฐเซเชฏเซเช เชเซ).
เชเซเชฒเชฎ เชตเชพเชชเชฐเชตเชพ เชฎเชพเชเซ row_ver
เชฌเชฆเชฒเชพเชฏเซเชฒ เชกเซเชเชพเชจเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เช เชเซเชฒเชฎเชจเชพ เชเซเชทเซเชคเซเชฐเซเชฎเชพเช เช
เชจเซเชเซเชฐเชฎ เชฎเซเชฒเซเชฏเซเชจเซ เชฌเชพเชเชงเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ row_ver
. เชชเชฐเชเชคเซ เชชเซเชฐเชพเชฅเชฎเชฟเช เชเซเชฅเซ เชตเชฟเชชเชฐเซเชค, เชเซเชฒเชฎ เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏ row_ver
เชฎเชพเชคเซเชฐ เชจเชตเชพ เชฐเซเชเซเชฐเซเชก เชเชฎเซเชฐเชคเซ เชตเชเชคเซ เช เชจเชนเซเช, เชชเชฐเชเชคเซ เชนเชพเชฒเชจเชพ เชฐเซเชเซเชฐเซเชกเชจเซ เชฌเชฆเชฒเชคเซ เชตเชเชคเซ เชชเชฃ เชเช เชตเชงเชพเชฐเชตเซ เชเซเชเช. เชคเชฎเซ เช เชฎเชพเชเซ เชเซเชฐเชฟเชเชฐเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ. เชเซเชฐเชจเซเชเซเชฒเชฎเชพเช เชฌเซ เชชเซเชฐเชเชพเชฐเชจเชพ เชธเซเชชเซเชธ เชเซเชฐเชฟเชเชฐเซเชธ เชเซ: before_replace
ะธ on_replace
. เชเซเชฏเชพเชฐเซ เชชเชฃ เชเชเซเชฏเชพเชฎเชพเช เชกเซเชเชพ เชฌเชฆเชฒเชพเชฏ เชเซ เชคเซเชฏเชพเชฐเซ เชเซเชฐเชฟเชเชฐเซเชธ เชซเชพเชฏเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เชซเซเชฐเชซเชพเชฐเซเชฅเซ เชชเซเชฐเชญเชพเชตเชฟเชค เชฆเชฐเซเช เชเซเชฏเซเชชเชฒ เชฎเชพเชเซ, เชเซเชฐเชฟเชเชฐ เชซเชเชเซเชถเชจ เชถเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ). เชตเชฟเชชเชฐเซเชค on_replace
, before_replace
-เชเซเชฐเชฟเชเชฐเซเชธ เชคเชฎเชจเซ เชเซเชฏเซเชชเชฒเชจเชพ เชกเซเชเชพเชจเซ เชธเชเชถเซเชงเชฟเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เชเซเชจเชพ เชฎเชพเชเซ เชเซเชฐเชฟเชเชฐ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเชฆเชจเซเชธเชพเชฐ, เชเซเชฒเซเชฒเชพ เชชเซเชฐเชเชพเชฐเชจเชพ เชเซเชฐเชฟเชเชฐเซเชธ เช
เชฎเชจเซ เช
เชจเซเชเซเชณ เชเชฐเซ เชเซ.
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
เชเซเชฐเชฎเชจเชพ เชเชเชฒเชพ เชฎเซเชฒเซเชฏ เชธเซเชงเซ เชธเชเชเซเชฐเชนเชฟเชค เชเซเชฏเซเชชเชฒ 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}
เชเชพเชฐเชฃ เชเซ เชชเซเชฐเชฅเชฎ เชซเซเชฒเซเชก เชเชเซ-เชเชจเซเชเซเชฐเซเชฎเซเชจเซเชเชฟเชเช เชเชพเชเชจเซเชเชฐ เชเซ; เช
เชฎเซ เชคเซเชจเชพ เชฌเชฆเชฒเซ เชถเซเชจเซเชฏ เชชเชธเชพเชฐ เชเชฐเซเช เชเซเช. เชเซเชฐเชจเซเชเซเชฒ เชเชชเชฎเซเชณเซ เชเชเชฒเชพ เชฎเซเชฒเซเชฏเชจเซ เชฌเชฆเชฒเซ เชเซ. เช เช เชฐเซเชคเซ, เชเซเชฒเชฎ เชซเซเชฒเซเชกเซเชธเชจเซ เชเชฟเชเชฎเชค เชคเชฐเซเชเซ row_ver
เชคเชฎเซ เชถเซเชจเซเชฏ เชชเชพเชธ เชเชฐเซ เชถเชเซ เชเซ - เช
เชฅเชตเชพ เชเชฟเชเชฎเชค เชฌเชฟเชฒเชเซเชฒ เชธเซเชชเชทเซเช เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เช เชธเซเชคเชเชญ เชเชเซเชฏเชพเชฎเชพเช เชเซเชฒเซเชฒเซเช เชธเซเชฅเชพเชจ เชงเชฐเชพเชตเซ เชเซ.
เชเชพเชฒเซ เชจเชฟเชตเซเชถ เชชเชฐเชฟเชฃเชพเชฎ เชคเชชเชพเชธเซเช:
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
, เชเซเชฏเชพเชเชฅเซ เชซเซเชฐเชซเชพเชฐเซเชจเซ เช
เชจเชฒเซเชก เชเชฐเชตเชพ เชเชฐเซเชฐเซ เชเซ, เช
เชจเซ เชฌเชฆเชฒเชพเชฏเซเชฒ เชกเซเชเชพเชจเซ เชเช เชญเชพเช เชชเชฐเชค เชเชฐเซ เชเซ.
เชเซเชฐเชจเซเชเซเชฒเชฎเชพเช เชกเซเชเชพ เชธเซเชฎเซเชชเชฒเชฟเชเช เชเชจเซเชกเซเชเซเชธ เชฆเซเชตเชพเชฐเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชพเชฐเซเชฏ get_goods
เช
เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพ เชฆเซเชตเชพเชฐเชพ เชเชเชฐเชฐเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ row_ver
เชฌเชฆเชฒเชพเชฏเซเชฒ เชกเซเชเชพ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ. เชเชเชฐเชฐเซเชเชฐเชจเซ เชชเซเชฐเชเชพเชฐ เชเซเชเซ (เชเซเชฐเซเชเชฐ เชงเซเชจ, เชคเซเชจเชพเชฅเซ เชตเชงเซ) เชเซ. เชเชจเซ เช
เชฐเซเชฅ เช เชเซ เชเซ เชชเซเชจเชฐเชพเชตเชฐเซเชคเช เช
เชจเซเชเซเชฐเชฎเซ เชชเชธเชพเชฐ เชเชฐเซเชฒ เชเซ (เชเซเชทเซเชคเซเชฐ เชฎเซเชฒเซเชฏ row_ver
).
เชชเซเชจเชฐเชพเชตเชฐเซเชคเช เชเซเชฏเซเชชเชฒเซเชธ เชชเชฐเชค เชเชฐเซ เชเซ. เชชเชเซเชฅเซ HTTP เชฆเซเชตเชพเชฐเชพ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ เชฅเชตเชพ เชฎเชพเชเซ, เชเซเชฏเซเชชเชฒเซเชธเชจเซ เช
เชจเซเชเชพเชฎเซ เชธเซเชฐเซเชฏเชฒเชพเชเชเซเชถเชจ เชฎเชพเชเซ เช
เชจเซเชเซเชณ เชฎเชพเชณเชเชพเชฎเชพเช เชเชจเซเชตเชฐเซเช เชเชฐเชตเซเช เชเชฐเซเชฐเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เช เชฎเชพเชเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชเชพเชฐเซเชฏเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ 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 เชเซ. เชตเชพเชธเซเชคเชตเชฟเช เชชเซเชฐเซเชเซเชฐเชพเชฎเชฎเชพเช, เชชเซเชทเซเช เชจเซเช เชเชฆ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชตเชงเซ เชฎเชนเชคเซเชตเชจเซเช เชเซ. เชคเซ เชธเซเชชเซเชธ เชเซเชฏเซเชชเชฒเชจเชพ เชธเชฐเซเชฐเชพเชถ เชเชฆ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ. เชถเซเชฐเซเชทเซเช เชชเซเชทเซเช เชเชฆ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชธเชฎเชฏเชจเซ เชฎเชพเชชเซเชจเซ เชชเซเชฐเชฏเซเชเชพเชคเซเชฎเช เชฐเซเชคเซ เชจเชเซเชเซ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชชเซเชทเซเช เชจเซเช เชเชฆ เชเซเชเชฒเซเช เชฎเซเชเซเช เชเซ, เชฎเซเชเชฒเชตเชพ เช
เชจเซ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชฌเชพเชเซเช เชตเชเซเชเซ เชฐเชพเชเชจเซเชกเชเซเชฐเซเชชเซเชธเชจเซ เชธเชเชเซเชฏเชพ เชเซเชเชฒเซ เชเชเซ เชเซ. เช เชฐเซเชคเซ เชคเชฎเซ เชซเซเชฐเชซเชพเชฐเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชเชเชเชฆเชฐ เชธเชฎเชฏ เชเชเชพเชกเซ เชถเชเซ เชเซ. เชเซ เชเซ, เชเซ เชชเซเชทเซเช เชจเซเช เชเชฆ เชเซเชฌ เชฎเซเชเซเช เชเซ, เชคเซ เช
เชฎเซ เชจเชฎเซเชจเชพเชจเซ เชถเซเชฐเซเชฃเซเชฌเชฆเซเชง เชเชฐเชตเชพเชฎเชพเช เชธเชฐเซเชตเชฐ เชชเชฐ เชเชฃเซ เชฒเชพเชเชฌเซ เชธเชฎเชฏ เชชเชธเชพเชฐ เชเชฐเซเชถเซเช. เชชเชฐเชฟเชฃเชพเชฎเซ, เชธเชฐเซเชตเชฐ เชชเชฐ เชเชตเชคเซ เช
เชจเซเชฏ เชตเชฟเชจเชเชคเซเช เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชฎเชพเช เชตเชฟเชฒเชเชฌ เชฅเช เชถเชเซ เชเซ. เชชเชฐเชฟเชฎเชพเชฃ 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
เชคเชฎเชจเซ เชคเซเชจเชพ เชเซเชฒเซเชฒเชพ เชเซเชฒเชฅเซ เชฌเชฆเชฒเชพเชฏเซเชฒ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ, เชเซ เชตเชฟเชเชพเชฐเชฃเชพ เชนเซเช เชณเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชชเชฆเซเชงเชคเชฟเชจเซ เชเชงเชพเชฐ เชเซ.
เช
เชฎเซ เช เชฒเซเชเชจเชพ เช
เชตเชเชพเชถเชจเซ เชฌเชนเชพเชฐ JSON เชจเชพ เชฐเซเชชเชฎเชพเช HTTP เชฎเชพเชฐเชซเชคเซ เชชเชฐเชฟเชฃเชพเชฎเซ เชเชพเชฐเซ เชเชฐเซเชถเซเช. เชคเชฎเซ เช เชตเชฟเชถเซ เช
เชนเซเช เชตเชพเชเชเซ เชถเชเซ เชเซ:
เชเซเชฐเชพเชนเช/เชเซเชฒเชพเชฎ เชญเชพเชเชจเซเช เช เชฎเชฒเซเชเชฐเชฃ
เชเชพเชฒเซ เชเซเชเช เชเซ เชชเซเชฐเชพเชชเซเชคเชเชฐเซเชคเชพ เชฌเชพเชเซเชจเซเช เช เชฎเชฒเซเชเชฐเชฃ เชเซเชตเซเช เชฆเซเชเชพเชฏ เชเซ. เชเชพเชฒเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซเชฒ เชกเซเชเชพเชจเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชพเชชเซเชคเชฟ เชฌเชพเชเซ เชชเชฐ เชเช เชเชเซเชฏเชพ เชฌเชจเชพเชตเซเช:
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 เชกเชฟเชธเชฟเชฐเชฟเชฏเชฒเชพเชเชเซเชถเชจ เชฎเชพเชเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชจเซ เชชเชฃ เชเชฐเซเชฐ เชเซ:
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
เชซเชเชเซเชถเชจ url เชธเชฐเชจเชพเชฎเชพเช เชชเชฐ HTTP เชตเชฟเชจเชเชคเซ เชเชฒเชพเชตเซ เชเซ เช
เชจเซ เชคเซเชจเซ เชฎเซเชเชฒเซ เชเซ row_ver
เชชเชฐเชฟเชฎเชพเชฃ เชคเชฐเซเชเซ เช
เชจเซ เชตเชฟเชจเชเชคเซเชจเซเช เชกเซเชธเซเชฐเชฟเชฏเชฒเชพเชเชเซเชก เชชเชฐเชฟเชฃเชพเชฎ เชชเชฐเชค เชเชฐเซ เชเซ.
เชชเซเชฐเชพเชชเซเชค เชกเซเชเชพ เชฌเชเชพเชตเชตเชพ เชฎเชพเชเซเชจเซเช เชเชพเชฐเซเชฏ เชเชจเชพ เชเซเชตเซเช เชฆเซเชเชพเชฏ เชเซ:
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
) เชกเชฟเชธเซเช เชเชพเชฎเชเซเชฐเซเชจเซ เชธเชเชเซเชฏเชพ เชเชเชพเชกเชตเชพ เชฎเชพเชเซ.
เชเซเชฒเซเชฒเซ, เชธเซเชฅเชพเชจเชฟเช เชเชเซเชฏเชพ เชธเชฟเชเชเซเชฐเชจเชพเชเชเซเชถเชจ เชเชพเชฐเซเชฏ 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
เชถเซเชจเซเชฏ เชเชเชณเชจเชพ เชเชเซเชฐเชฎเชพเช เช
เชฎเซ เชเชฒเซเชฒเซเชเชฟเชค url เชชเชฐ เชธเซเชคเซเชฐเซเชคเชฎเชพเชเชฅเซ เชฌเชฆเชฒเชพเชฏเซเชฒ เชกเซเชเชพเชจเซเช เชชเซเชทเซเช -เชฆเชฐ-เชชเซเช เชกเชพเชเชจเชฒเซเชก เชเชฐเซเช เชเซเช. เชฆเชฐเซเช เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชชเชฐ, เช
เชฎเซ เชชเซเชฐเชพเชชเซเชค เชกเซเชเชพเชจเซ เชฏเซเชเซเชฏ เชธเซเชฅเชพเชจเชฟเช เชเชเซเชฏเชพเชฎเชพเช เชธเชพเชเชตเซเช เชเซเช เช
เชจเซ เชฎเซเชฒเซเชฏ เช
เชชเชกเซเช เชเชฐเซเช เชเซเช row_ver
(เช
เชตเชเชพเชถ เชฎเชพ row_ver
เช
เชจเซ เชเชฒเชฎเชพเช row_ver
) - เชฎเซเชฒเซเชฏ เชฒเซ row_ver
เชฒเซเชก เชเชฐเซเชฒเชพ เชกเซเชเชพเชจเซ เชเซเชฒเซเชฒเซ เชฒเชพเชเชจเชฎเชพเชเชฅเซ.
เชเชเชธเซเชฎเชฟเช เชฒเซเชชเชฟเชเช เชธเชพเชฎเซ เชฐเชเซเชทเชฃ เชเชชเชตเชพ เชฎเชพเชเซ (เชชเซเชฐเซเชเซเชฐเชพเชฎเชฎเชพเช เชญเซเชฒเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช), เชฒเซเชช while
เชฆเซเชตเชพเชฐเชพ เชฌเชฆเชฒเซ เชถเชเชพเชฏ เชเซ for
:
for _ = 1, max_req do ...
เชเชพเชฐเซเชฏ เชเชฒเชพเชตเชตเชพเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ sync_goods
เชเชเซเชฏเชพ goods
เชฐเซเชธเซเชตเชฐเชฎเชพเช เชคเชฎเชพเชฎ เชธเซเชชเซเชธ เชฐเซเชเซเชฐเซเชกเซเชธเชจเชพ เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃเซ เชนเชถเซ goods
เชธเซเชคเซเชฐเซเชคเชฎเชพเช.
เชฆเซเชเซเชคเซ เชฐเซเชคเซ, เชกเซเชเชพ เชเชพเชขเซ เชจเชพเชเชตเชพเชจเซเช เช เชฐเซเชคเซ เชชเซเชฐเชธเชพเชฐเชฃ เชเชฐเซ เชถเชเชพเชคเซเช เชจเชฅเซ. เชเซ เชเชตเซ เชเซเช เชเชฐเซเชฐเชฟเชฏเชพเชค เชนเซเชฏ, เชคเซ เชคเชฎเซ เชกเชฟเชฒเซเชถเชจ เชฎเชพเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ. เชเชเซเชฏเชพเชฎเชพเช เชเชฎเซเชฐเซ goods
เชฌเซเชฒเชฟเชฏเชจ เชเซเชทเซเชคเซเชฐ is_deleted
เช
เชจเซ เชฐเซเชเซเชฐเซเชกเชจเซ เชญเซเชคเชฟเช เชฐเซเชคเซ เชเชพเชขเซ เชจเชพเชเชตเชพเชจเซ เชฌเชฆเชฒเซ, เช
เชฎเซ เชคเชพเชฐเซเชเชฟเช เชเชพเชขเซ เชจเชพเชเชตเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช - เช
เชฎเซ เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏ เชธเซเช เชเชฐเซเช เชเซเช is_deleted
เช
เชฐเซเชฅเชฎเชพเช true
. เชเซเชฏเชพเชฐเซเช เชฌเซเชฒเชฟเชฏเชจ เชเซเชทเซเชคเซเชฐเชจเซ เชฌเชฆเชฒเซ is_deleted
เชเซเชทเซเชคเซเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชตเชงเซ เช
เชจเซเชเซเชณ เชเซ deleted
, เชเซ เชฐเซเชเซเชฐเซเชกเชจเชพ เชคเชพเชฐเซเชเชฟเช เชเชพเชขเซ เชจเชพเชเชตเชพเชจเซ เชคเชพเชฐเซเช-เชธเชฎเชฏ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเซ เชเซ. เชฒเซเชเชฟเชเชฒ เชกเชฟเชฒเซเช เชเชฐเซเชฏเชพ เชชเชเซ, เชกเชฟเชฒเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฟเชนเซเชจเชฟเชค เชฅเชฏเซเชฒ เชฐเซเชเซเชฐเซเชก เชธเซเชคเซเชฐเซเชคเชฎเชพเชเชฅเซ เชเชเชคเชตเซเชฏ เชธเซเชฅเชพเชจ เชชเชฐ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ (เชเชชเชฐ เชเชฐเซเชเชพ เชเชฐเซเชฒ เชคเชฐเซเช เชฎเซเชเชฌ).
เชเซเชฐเชฎ row_ver
เช
เชจเซเชฏ เชเชเซเชฏเชพเชเชฎเชพเชเชฅเซ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชฎเชฟเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ: เชฆเชฐเซเช เชเซเชฐเชพเชจเซเชธเชฎเชฟเชเซเชก เชธเซเชชเซเชธ เชฎเชพเชเซ เช
เชฒเช เชเซเชฐเชฎ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เช เชฎเซ เชเซเชฐเซเชจเซเชเซเชฒ DBMS เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธเชฎเชพเช เชเชเซเช-เชธเซเชคเชฐเชจเซ เชกเซเชเชพ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชจเซ เช เชธเชฐเชเชพเชฐเช เชฐเซเชค เชเซเช.
เชคเชพเชฐเชฃเซ
- เชเซเชฐเชจเซเชเซเชฒ DBMS เช เชนเชพเช-เชฒเซเชก เชเชชเซเชฒเชฟเชเซเชถเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชเชฐเซเชทเช, เชเชถเชพเชธเซเชชเชฆ เชเชคเซเชชเชพเชฆเชจ เชเซ.
- เชจเชฟเชฎเซเชจ-เชธเซเชคเชฐเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชเชฐเชคเชพเช เชเชเซเช-เชธเซเชคเชฐเชจเซ เชฎเชพเชนเชฟเชคเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชจเชพ เชเชฃเชพ เชซเชพเชฏเชฆเชพ เชเซ.
- เชฒเซเชเชฎเชพเช เชเชฐเซเชเชพ เชเชฐเชพเชฏเซเชฒ เชเชเซเช-เชธเซเชคเชฐเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชชเชฆเซเชงเชคเชฟ เชคเชฎเชจเซ เชเซเชฒเซเชฒเชพ เชตเชฟเชจเชฟเชฎเชฏ เชธเชคเซเชฐเชฅเซ เชฌเชฆเชฒเชพเชฏเซเชฒเชพ เชฐเซเชเซเชฐเซเชกเซเชธเชจเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเซเชจเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชกเซเชเชพเชจเซ เชฎเชพเชคเซเชฐเชพเชจเซ เชเชเชพเชกเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ.
เชธเซเชฐเซเชธ: www.habr.com