เชฎเชพเชฐเชพ เชเชพเชฐเซเชฏเชฎเชพเช, เชนเซเช เชตเชพเชฐเชเชตเชพเชฐ เชจเชตเชพ เชคเชเชจเซเชเซ เชเชเซเชฒเซ/เชธเซเชซเซเชเชตเซเชฐ เชเชคเซเชชเชพเชฆเชจเซเชจเซ เชเซเชเช เชเซเช, เชเซเชจเซ เชฎเชพเชนเชฟเชคเซ เชฐเชถเชฟเชฏเชจ-เชญเชพเชทเชพเชจเชพ เชเชจเซเชเชฐเชจเซเช เชชเชฐ เชเซเชฌ เช เชฆเซเชฐเซเชฒเชญ เชเซ. เช เชฒเซเช เชธเชพเชฅเซ เชนเซเช เชฎเชพเชฐเซ เชคเชพเชเซเชคเชฐเชจเซ เชชเซเชฐเซเชเซเชเชฟเชธเชจเชพ เชเชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ เชเชตเชพ เชเช เชคเชซเชพเชตเชคเชจเซ เชญเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชถ, เชเซเชฏเชพเชฐเซ เชฎเชจเซ เชฌเซ เชฒเซเชเชชเซเชฐเชฟเชฏ DBMSs (PostgreSQL เช
เชจเซ MongoDB) เชฎเชพเชเชฅเซ Debezium เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐเชฎเชพเช CDC เชเชตเซเชจเซเชเซเชธ เชฎเซเชเชฒเชตเชพเชจเซเช เชเซเช เชตเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเซ. เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เช เชธเชฎเซเชเซเชทเชพ เชฒเซเช, เชเซ เชเชฐเซเชฒเชพ เชเชพเชฐเซเชฏเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ เชฆเซเชเชพเชฏ เชเซ, เชคเซ เช
เชจเซเชฏ เชฒเซเชเซ เชฎเชพเชเซ เชเชชเชฏเซเชเซ เชฅเชถเซ.
เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชกเซเชฌเซเชเชฟเชฏเชฎ เช เชจเซ เชธเซเชกเซเชธเซ เชถเซเช เชเซ?
เช
เชเซ เชเชชเชฃเซ เชชเชฐเชเชชเชฐเชพเชเชค เช เชญเชฟเชเชฎ (เชเซเชฏเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชธเซเชงเชพ DBMS เชฎเชพเชเชฅเซ เชกเซเชเชพ เชตเชพเชเชเซ เชเซ) เชธเชพเชฅเซ CDC เชจเซ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเซเช, เชคเซ เชคเซเชจเชพ เชฎเซเชเซเชฏ เชซเชพเชฏเชฆเชพเชเชฎเชพเช เชเชเซ เชตเชฟเชฒเชเชฌเชคเชพ, เชเชเซเช เชตเชฟเชถเซเชตเชธเชจเซเชฏเชคเชพ เช เชจเซ เชเชชเชฒเชฌเซเชงเชคเชพ เชธเชพเชฅเซ เชชเชเชเซเชคเชฟ เชธเซเชคเชฐ เชชเชฐ เชกเซเชเชพ เชเซเชจเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเชเชจเซ เช เชฎเชฒ เชถเชพเชฎเซเชฒ เชเซ. เชเซเชฒเซเชฒเชพ เชฌเซ เชฎเซเชฆเซเชฆเชพเช CDC เชเชตเซเชจเซเชเซเชธ เชฎเชพเชเซ เชญเชเชกเชพเชฐ เชคเชฐเซเชเซ เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชเซ.
เชฌเซเชเซ เชซเชพเชฏเชฆเซ เช เชนเชเซเชเชค เชเซ เชเซ เชเช เช เชฎเซเชกเซเชฒเชจเซ เชเชชเชฏเซเช เชเชตเซเชจเซเชเซเชธเชจเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ, เชคเซเชฅเซ เช เชเชคเชฟเชฎ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชตเชฟเชตเชฟเชง DBMS เชจเซ เชเชฒเชพเชตเชตเชพเชจเซ เชเซเชเชเชพเช เชตเชฟเชถเซ เชเชฟเชเชคเชพ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชเซเชฒเซเชฒเซ, เชฎเซเชธเซเช เชฌเซเชฐเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชชเซเชฒเซเชเซเชถเชจเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เชเซ เชกเซเชเชพเชฎเชพเช เชฅเชคเชพ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเชกเซ เชฐเซเชคเซ เชฎเชพเชชเชตเชพ เชฎเชพเชเซ เชฎเซเชจเชฟเชเชฐ เชเชฐเซ เชเซ. เชคเซ เช เชธเชฎเชฏเซ, เชกเซเชเชพ เชธเซเชคเซเชฐเซเชค เชชเชฐเชจเซ เช เชธเชฐ เชเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชพเชฐเชฃ เชเซ เชกเซเชเชพ เชธเซเชงเซ DBMS เชฅเซ เชจเชนเซเช, เชชเชฐเชเชคเซ เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐเชฎเชพเชเชฅเซ เชฎเซเชณเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชกเซเชฌเซเชเชฟเชฏเชฎ เชเชฐเซเชเชฟเชเซเชเซเชเชฐ เชตเชฟเชถเซ
เชกเซเชฌเซเชเชฟเชฏเชฎเชจเซ เชเชชเชฏเซเช เช เชธเชฐเชณ เชฏเซเชเชจเชพเชฎเชพเช เชเชตเซ เชเซ:
DBMS (เชกเซเชเชพ เชธเซเชคเซเชฐเซเชค เชคเชฐเซเชเซ) โ เชเชพเชซเชเชพ เชเชจเซเชเซเชเชฎเชพเช เชเชจเซเชเซเชเชฐ โ เช เชชเชพเชเซ เชเชพเชซเชเชพ โ เชเชชเชญเซเชเซเชคเชพ
เชเช เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช เชนเซเช เชชเซเชฐเซเชเซเชเซเช เชตเซเชฌเชธเชพเชเช เชชเชฐเชฅเซ เชเช เชเชเซเชคเชฟ เชเซ:
เชเซ เชเซ, เชฎเชจเซ เช เชฏเซเชเชจเชพ เชเชฐเซเชเชฐ เชเชฎเชคเซ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เชเชตเซเช เชฒเชพเชเซ เชเซ เชเซ เชซเชเซเชค เชธเชฟเชเช เชเชจเซเชเซเชเชฐเชจเซ เชเชชเชฏเซเช เชถเชเซเชฏ เชเซ.
เชตเชพเชธเซเชคเชตเชฎเชพเช, เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เช เชฒเช เชเซ: เชคเชฎเชพเชฐเชพ เชกเซเชเชพ เชฒเซเชเชจเซ เชญเชฐเชตเชพ (เชเชชเชฐเชจเชพ เชเชฟเชคเซเชฐเชฎเชพเช เชเซเชฒเซเชฒเซ เชฒเชฟเชเช) เชกเซเชฌเซเชเชฟเชฏเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เช เชเชเชฎเชพเชคเซเชฐ เชฐเชธเซเชคเซ เชจเชฅเซ. Apache Kafka เชจเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซเชฒ เชเชตเซเชจเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชคเชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชตเชฟเชง เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชเชจเซ เชนเซเชจเซเชกเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชฆเชพเชเซเชฒเชพ เชคเชฐเซเชเซ:
- เชเซเชถเชฎเชพเชเชฅเซ เช เชชเซเชฐเชธเซเชคเซเชค เชกเซเชเชพ เชฆเซเชฐ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช;
- เชธเซเชเชจเชพเช เชฎเซเชเชฒเชตเซ;
- เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพ เช เชชเชกเซเชเซเชธ เชถเซเชงเซ;
- เช เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเชพ เชเชกเชฟเช เชฒเซเช;
- ...
เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชเชพเชตเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชนเซเชฏ เช
เชจเซ เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเซเช เชเชฐเซเชฐ/เชธเชเชญเชต เชจ เชนเซเชฏ, เชคเซ เชคเซเชจเชพ เชฆเซเชตเชพเชฐเชพ เชเชพเชฎ เชเชฐเชตเชพเชจเซ เชถเชเซเชฏเชคเชพ เชชเชฃ เชเซ.
เช เชฒเซเช เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เชฆเซเชตเชพเชฐเชพ เชญเชฒเชพเชฎเชฃ เชเชฐเชพเชฏเซเชฒ เชเชฐเซเชเชฟเชเซเชเซเชเชฐเชจเซ เชเชฐเซเชเชพ เชเชฐเชถเซ, เชเซ เชเชพเชฎเซ เชธเชนเชฟเชทเซเชฃเซเชคเชพ เช เชจเซ เชฎเชพเชชเชจเซเชฏเชคเชพ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ.
เชเชจเซเชเซเชเชฐ เชเซเช เชตเชฃเซ
เชธเซเชฅเซ เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชฎเซเชฒเซเชฏ - เชกเซเชเชพ - เชฎเชพเช เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเซเชฐเซ เช เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ เช เชฎเชจเซ เชเชฐเซเชฐ เชเซ:
- เชกเซเชเชพ เชธเซเชคเซเชฐเซเชค, เชเซ เชตเชฐเซเชเชจ 5.7, PostgreSQL 9.6+, MongoDB 3.2+ เชฅเซ เชถเชฐเซ เชเชฐเซเชจเซ MySQL เชนเซเช เชถเชเซ เชเซ (
เชธเชเชชเซเชฐเซเชฃ เชธเซเชเชฟ ); - เช เชชเชพเชเซ เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐ;
- เชเชพเชซเชเชพ เชเชจเซเชเซเช เชเชฆเชพเชนเชฐเชฃ (เชธเชเชธเซเชเชฐเชฃ 1.x, 2.x);
- เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชกเซเชฌเซเชเชฟเชฏเชฎ เชเชจเซเชเซเชเชฐ.
เชชเซเชฐเชฅเชฎ เชฌเซ เชฎเซเชฆเซเชฆเชพเช เชชเชฐ เชเชพเชฎ เชเชฐเซ, เชเชเชฒเซ เชเซ. DBMS เช
เชจเซ Apache Kafka เชจเซ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฒเซเชเชจเชพ เช
เชตเชเชพเชถเชจเซ เชฌเชนเชพเชฐ เชเซ. เชเซ เชเซ, เชเซเช เชธเซเชจเซเชกเชฌเซเชเซเชธเชฎเชพเช เชฌเชงเซเช เชเชฎเชพเชตเชตเชพ เชฎเชพเชเชเซ เชเซ, เชคเซเชฎเชจเชพ เชฎเชพเชเซ เชเชฆเชพเชนเชฐเชฃเซ เชธเชพเชฅเซเชจเชพ เชธเชคเซเชคเชพเชตเชพเชฐ เชญเชเชกเชพเชฐเชฎเชพเช เชคเซเชฏเชพเชฐ เชเซ.
เช เชฎเซ เชเซเชฒเซเชฒเชพ เชฌเซ เชฎเซเชฆเซเชฆเชพเช เชชเชฐ เชตเชงเซ เชตเชฟเชเชคเชตเชพเชฐ เชงเซเชฏเชพเชจ เชเชชเซเชถเซเช.
0. เชเชพเชซเชเชพ เชเชจเซเชเซเช
เช เชนเซเช เช เชจเซ เชเชเชณ เชฒเซเชเชฎเชพเช, เชฌเชงเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชฆเชพเชนเชฐเชฃเซเชจเซ เชเชฐเซเชเชพ เชกเซเชฌเซเชเชฟเชฏเชฎ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เชฆเซเชตเชพเชฐเชพ เชตเชฟเชคเชฐเชฟเชค เชกเซเชเชฐ เชเชฌเซเชจเชพ เชธเชเชฆเชฐเซเชญเชฎเชพเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเซ เชคเชฎเชพเชฎ เชเชฐเซเชฐเซ เชชเซเชฒเชเชเชจ เชซเชพเชเชฒเซ (เชเชจเซเชเซเชเชฐ) เชงเชฐเชพเชตเซ เชเซ เช เชจเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเซเชฐเซเชเชฌเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชพเชซเชเชพ เชเชจเซเชเซเชเชจเซเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชชเซเชฐเซเช เชชเชพเชกเซ เชเซ.
เชเซ เชคเชฎเซ เชเชจเซเชซเซเชฒเซเช
เชจเซเชเชฎเชพเชเชฅเซ เชเชพเชซเชเชพ เชเชจเซเชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเชฐเชพเชฆเซ เชงเชฐเชพเชตเซ เชเซ, เชคเซ เชคเชฎเชพเชฐเซ เชเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชเชฐเซเชฐเซ เชเชจเซเชเซเชเชฐเซเชธเชจเชพ เชชเซเชฒเชเชฟเชจเซเชธเชจเซ เชธเซเชตเชคเชเชคเซเชฐ เชฐเซเชคเซ เชเชฎเซเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. plugin.path
เช
เชฅเชตเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเซเชฐเซเชเชฌเชฒ เชฆเซเชตเชพเชฐเชพ เชธเซเช เชเชฐเซ CLASSPATH
. เชเชพเชซเชเชพ เชเชจเซเชเซเช เชตเชฐเซเชเชฐ เช
เชจเซ เชเชจเซเชเซเชเชฐเซเชธ เชฎเชพเชเซเชจเซ เชธเซเชเชฟเชเชเซเชธ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเซ เชฆเซเชตเชพเชฐเชพ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซ เชเชพเชฐเซเชฏเชเชฐ เชฒเซเชจเซเช เชเชฆเซเชถเชจเซ เชฆเชฒเซเชฒเซ เชคเชฐเซเชเซ เชชเชธเชพเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชตเชงเซ เชตเชฟเชเชคเซ เชฎเชพเชเซ, เชเซเช
เชเชจเซเชเซเชเชฐ เชธเชเชธเซเชเชฐเชฃเชฎเชพเช เชกเซเชฌเซเชเชฎ เชธเซเช เชเชฐเชตเชพเชจเซ เชธเชฎเชเซเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฌเซ เชคเชฌเชเซเชเชพเชฎเชพเช เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชพเชฒเซ เชคเซเชฎเชพเชเชจเชพ เชฆเชฐเซเชเชจเซ เชเซเชเช:
1. เชเชพเชซเชเชพ เชเชจเซเชเซเช เชซเซเชฐเซเชฎเชตเชฐเซเช เชธเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เช เชชเชพเชเซ เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชกเซเชเชพ เชธเซเชเซเชฐเซเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชพเชซเชเชพ เชเชจเซเชเซเช เชซเซเชฐเซเชฎเชตเชฐเซเชเชฎเชพเช เชเซเชเซเชเชธ เชชเชฐเชฟเชฎเชพเชฃเซ เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ, เชเซเชฎ เชเซ:
- เชเซเชฒเชธเซเชเชฐ เชธเชพเชฅเซ เชเซเชกเชพเชตเชพ เชฎเชพเชเซเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ,
- เชตเชฟเชทเชฏเซเชจเชพ เชจเชพเชฎ เชเซเชฎเชพเช เชเชจเซเชเซเชเชฐเชจเซเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเซเชงเซเช เช เชธเชเชเซเชฐเชนเชฟเชค เชฅเชถเซ,
- เชเซเชฅเชจเซเช เชจเชพเชฎ เชเซเชฎเชพเช เชเชจเซเชเซเชเชฐ เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชเซ (เชเซ เชตเชฟเชคเชฐเชฟเชค เชฎเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซ).
เชชเซเชฐเซเชเซเชเซเชเชจเซ เช เชงเชฟเชเซเชค เชกเซเชเชฐ เชเชฎเซเช เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเช เชตเชฃเซเชจเซ เชธเชฎเชฐเซเชฅเชจ เชเชชเซ เชเซ - เช เชคเซ เชเซ เชเซเชจเซ เชเชชเชฃเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เชคเซเชฅเซ, เชเชฌเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซ:
docker pull debezium/connect
เชเชจเซเชเซเชเชฐเชจเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซเชจเซ เชจเซเชฏเซเชจเชคเชฎ เชธเซเช เชจเซเชเซ เชฎเซเชเชฌ เชเซ:
-
BOOTSTRAP_SERVERS=kafka-1:9092,kafka-2:9092,kafka-3:9092
- เชเซเชฒเชธเซเชเชฐ เชธเชญเซเชฏเซเชจเซ เชธเชเชชเซเชฐเซเชฃ เชธเซเชเชฟ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐ เชธเชฐเซเชตเชฐเชจเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชธเซเชเชฟ; -
OFFSET_STORAGE_TOPIC=connector-offsets
โ เชเซเชฏเชพเช เชเชจเซเชเซเชเชฐ เชนเชพเชฒเชฎเชพเช เชธเซเชฅเชฟเชค เชเซ เชคเซ เชธเซเชฅเชพเชจเซเชจเซ เชธเซเชเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชตเชฟเชทเชฏ; -
CONNECT_STATUS_STORAGE_TOPIC=connector-status
- เชเชจเซเชเซเชเชฐเชจเซ เชธเซเชฅเชฟเชคเชฟ เช เชจเซ เชคเซเชจเชพ เชเชพเชฐเซเชฏเซเชจเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชตเชฟเชทเชฏ; -
CONFIG_STORAGE_TOPIC=connector-config
โ เชเชจเซเชเซเชเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชกเซเชเชพ เช เชจเซ เชคเซเชจเชพ เชเชพเชฐเซเชฏเซเชจเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชตเชฟเชทเชฏ; -
GROUP_ID=1
โ เชเชพเชฎเชฆเชพเชฐเซเชจเชพ เชเซเชฅเชจเซ เชเชณเชเชเชฐเซเชคเชพ เชเซ เชเซเชจเชพ เชชเชฐ เชเชจเซเชเซเชเชฐ เชเชพเชฐเซเชฏ เชเชฒเชพเชตเซ เชถเชเชพเชฏ เชเซ; เชตเชฟเชคเชฐเชฟเชค เชเชชเชฏเซเช เชเชฐเชคเซ เชตเชเชคเซ เชเชฐเซเชฐเซ (เชตเชฟเชคเชฐเชฟเชค) เชถเชพเชธเชจ
เช เชฎเซ เช เชเชฒเซ เชธเชพเชฅเซ เชเชจเซเชเซเชจเชฐ เชฒเซเชเช เชเชฐเซเช เชเซเช:
docker run
-e BOOTSTRAP_SERVERS='kafka-1:9092,kafka-2:9092,kafka-3:9092'
-e GROUP_ID=1
-e CONFIG_STORAGE_TOPIC=my_connect_configs
-e OFFSET_STORAGE_TOPIC=my_connect_offsets
-e STATUS_STORAGE_TOPIC=my_connect_statuses debezium/connect:1.2
เชเชตเชฐเซ เชตเชฟเชถเซ เชจเซเชเชง
เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ, เชกเซเชฌเซเชเชฟเชฏเชฎ JSON เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชกเซเชเชพ เชฒเชเซ เชเซ, เชเซ เชธเซเชจเซเชกเชฌเซเชเซเชธ เช
เชจเซ เชเชเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชกเซเชเชพ เชฎเชพเชเซ เชธเซเชตเซเชเชพเชฐเซเชฏ เชเซ, เชชเชฐเชเชคเซ เช
เชคเซเชฏเชเชค เชฒเซเชก เชฅเชฏเซเชฒ เชกเซเชเชพเชฌเซเชเชฎเชพเช เชธเชฎเชธเซเชฏเชพ เชฌเชจเซ เชถเชเซ เชเซ. JSON เชเชจเซเชตเชฐเซเชเชฐเชจเซ เชตเชฟเชเชฒเซเชช เช เชเซ เชเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเชเชฆเซเชถเชพเชเชจเซ เชถเซเชฐเซเชฃเซเชฌเชฆเซเชง เชเชฐเชตเซเช
เชเชตเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เชเช เช
เชฒเช เชคเซเชจเชพเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ
name: CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL
value: http://kafka-registry-01:8081/
name: CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL
value: http://kafka-registry-01:8081/
name: VALUE_CONVERTER
value: io.confluent.connect.avro.AvroConverter
เชเชตเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เช เชจเซ เชคเซเชจเชพ เชฎเชพเชเซ เชฐเชเชฟเชธเซเชเซเชฐเซ เชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชตเชฟเชเชคเซ เช เชฒเซเชเชจเชพ เช เชตเชเชพเชถเชจเซ เชฌเชนเชพเชฐ เชเซ - เชเชเชณ, เชธเซเชชเชทเซเชเชคเชพ เชฎเชพเชเซ, เช เชฎเซ JSON เชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช.
2. เชเชจเซเชเซเชเชฐเชจเซ เช เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชนเชตเซ เชคเชฎเซ เชธเซเชงเชพ เช เชเชจเซเชเซเชเชฐเชจเซ เชเซเช เชตเชฃเซ เชชเชฐ เชเช เชถเชเซ เชเซ, เชเซ เชธเซเชฐเซเชคเชฎเชพเชเชฅเซ เชกเซเชเชพ เชตเชพเชเชเชถเซ.
เชเชพเชฒเซ เชฌเซ DBMSs เชฎเชพเชเซ เชเชจเซเชเซเชเชฐเซเชธเชจเซเช เชเชฆเชพเชนเชฐเชฃ เชเซเชเช: PostgreSQL เช เชจเซ MongoDB, เชเซเชฎเชพเช เชฎเชจเซ เช เชจเซเชญเชต เชเซ เช เชจเซ เชเซเชฎเชพเช เชคเชซเชพเชตเชคเซ เชเซ (เชจเชพเชจเชพ เชนเซเชตเชพ เชเชคเชพเช, เชชเชฐเชเชคเซ เชเซเชเชฒเชพเช เชเชฟเชธเซเชธเชพเชเชฎเชพเช เชจเซเชเชงเชชเชพเชคเซเชฐ!).
เชฐเซเชชเชฐเซเชเชพเชเชเชจ JSON เชจเซเชเซเชถเชจเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซ เช เชจเซ POST เชตเชฟเชจเชเชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชพเชซเชเชพ เชเชจเซเชเซเช เชชเชฐ เช เชชเชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
2.1. PostgreSQL
PostgreSQL เชฎเชพเชเซ เชเชจเซเชเซเชเชฐ เชเซเช เชตเชฃเซเชจเซเช เชเชฆเชพเชนเชฐเชฃ:
{
"name": "pg-connector",
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector",
"plugin.name": "pgoutput",
"database.hostname": "127.0.0.1",
"database.port": "5432",
"database.user": "debezium",
"database.password": "definitelynotpassword",
"database.dbname" : "dbname",
"database.server.name": "pg-dev",
"table.include.list": "public.(.*)",
"heartbeat.interval.ms": "5000",
"slot.name": "dbname_debezium",
"publication.name": "dbname_publication",
"transforms": "AddPrefix",
"transforms.AddPrefix.type": "org.apache.kafka.connect.transforms.RegexRouter",
"transforms.AddPrefix.regex": "pg-dev.public.(.*)",
"transforms.AddPrefix.replacement": "data.cdc.dbname"
}
}
เช เชธเซเชเช เชช เชชเชเซ เชเชจเซเชเซเชเชฐเชจเซ เชเชพเชฎเชเซเชฐเซเชจเซ เชธเชฟเชฆเซเชงเชพเชเชค เชเชเชฆเชฎ เชธเชฐเชณ เชเซ:
- เชเซเชฏเชพเชฐเซ เชชเซเชฐเชฅเชฎ เชตเชเชค เชฒเซเชจเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชกเซเชเชพเชฌเซเช เชธเชพเชฅเซ เชเซเชกเชพเชฏ เชเซ เช
เชจเซ เชฎเซเชกเชฎเชพเช เชถเชฐเซ เชฅเชพเชฏ เชเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชธเซเชจเซเชชเชถเซเช, เชเชเชกเซเชถเชจเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฎเซเชณเชตเซเชฒ เชกเซเชเชพเชจเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชธเซเช เชเชพเชซเชเชพเชจเซ เชฎเซเชเชฒเซ เชฐเชนเซเชฏเซ เชเซ
SELECT * FROM table_name
. - เชชเซเชฐเชพเชฐเชเชญ เชชเซเชฐเซเชฃ เชฅเชฏเชพ เชชเชเซ, เชเชจเซเชเซเชเชฐ PostgreSQL WAL เชซเชพเชเชฒเซเชฎเชพเชเชฅเซ เชซเซเชฐเชซเชพเชฐเซ เชตเชพเชเชเชตเชพ เชฎเชพเชเซ เชฎเซเชกเชฎเชพเช เชเชพเชฏ เชเซ.
เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเชพ เชตเชฟเชเชฒเซเชชเซ เชตเชฟเชถเซ:
-
name
โ เชเชจเซเชเซเชเชฐเชจเซเช เชจเชพเชฎ เชเซ เชเซเชจเชพ เชฎเชพเชเซ เชจเซเชเซ เชตเชฐเซเชฃเชตเซเชฒ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ; เชญเชตเชฟเชทเซเชฏเชฎเชพเช, เช เชจเชพเชฎเชจเซ เชเชชเชฏเซเช เชเชจเซเชเซเชเชฐ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ (เชเชเชฒเซ โโเชเซ, เชเชพเชซเชเชพ เชเชจเซเชเซเช REST API เชฆเซเชตเชพเชฐเชพ เชธเซเชเซเชเชธ เชเซเช/เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ/เชฐเซเชชเชฐเซเชเชพเชเชเชจ เช เชชเชกเซเช เชเชฐเซ); -
connector.class
โ DBMS เชเชจเซเชเซเชเชฐ เชเซเชฒเชพเชธ เชเซ เชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชจเซเชเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชถเซ; -
plugin.name
โ WAL เชซเชพเชเชฒเซเชฎเชพเชเชฅเซ เชกเซเชเชพเชจเชพ เชฒเซเชเชฟเชเชฒ เชกเซเชเซเชกเชฟเชเช เชฎเชพเชเซ เชชเซเชฒเชเชเชจเชจเซเช เชจเชพเชฎ. เชชเชธเชเชฆ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชชเชฒเชฌเซเชง เชเซwal2json
,decoderbuffs
ะธpgoutput
. เชชเซเชฐเชฅเชฎ เชฌเซเชจเซ DBMS เชฎเชพเช เชฏเซเชเซเชฏ เชเชเซเชธเซเชเซเชเชถเชจ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เช เชจเซpgoutput
PostgreSQL เชธเชเชธเซเชเชฐเชฃ 10 เช เชจเซ เชเชเซเช เชฎเชพเชเซ เชตเชงเชพเชฐเชพเชจเชพ เชฎเซเชจเชฟเชชเซเชฏเซเชฒเซเชถเชจเชจเซ เชเชฐเซเชฐ เชจเชฅเซ; -
database.*
โ เชกเซเชเชพเชฌเซเช เชธเชพเชฅเซ เชเซเชกเชพเชตเชพ เชฎเชพเชเซเชจเชพ เชตเชฟเชเชฒเซเชชเซ, เชเซเชฏเชพเชdatabase.server.name
โ เชชเซเชธเซเชเชเซเชฐเซเชเชธเชเซเชฏเซเชเชฒ เชเชจเซเชธเซเชเชจเซเชธ เชจเชพเชฎเชจเซ เชเชชเชฏเซเช เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชตเชฟเชทเชฏเชจเซเช เชจเชพเชฎ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ; -
table.include.list
- เชเซเชทเซเชเชเซเชจเซ เชธเซเชเชฟ เชเซเชฎเชพเช เชเชชเชฃเซ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเซเชฐเซ เช เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช; เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชเซschema.table_name
; เชธเชพเชฅเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซtable.exclude.list
; -
heartbeat.interval.ms
- เช เชเชคเชฐเชพเชฒ (เชฎเชฟเชฒเชฟเชธเซเชเชเชกเชฎเชพเช) เชเซเชจเซ เชธเชพเชฅเซ เชเชจเซเชเซเชเชฐ เชเชพเชธ เชตเชฟเชทเชฏ เชชเชฐ เชนเซเชฆเชฏเชจเชพ เชงเชฌเชเชพเชฐเชพ เชธเชเชฆเซเชถเชพเช เชฎเซเชเชฒเซ เชเซ; -
heartbeat.action.query
โ เชเช เชตเชฟเชจเชเชคเซ เชเซ เชเซ เชฆเชฐเซเช เชนเชพเชฐเซเชเชฌเซเช เชฎเซเชธเซเช เชฎเซเชเชฒเชคเซ เชตเชเชคเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเชถเซ (เชตเชฟเชเชฒเซเชช เชธเชเชธเซเชเชฐเชฃ 1.1 เชฎเชพเช เชฆเซเชเชพเชฏเซ); -
slot.name
โ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชธเซเชฒเซเชเชจเซเช เชจเชพเชฎ เชเซเชจเซ เชเชชเชฏเซเช เชเชจเซเชเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ; publication.name
- เชจเชพเชฎเชชเซเชฐเชเชพเชถเชจเซ PostgreSQL เชฎเชพเช, เชเซ เชเชจเซเชเซเชเชฐ เชตเชพเชชเชฐเซ เชเซ. เชเซ เชคเซ เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจเชฅเซ, เชคเซ Debezium เชคเซเชจเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชถเซ. เชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซ เชเซเชจเชพ เชนเซเช เชณ เชเชจเซเชเซเชถเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ เชคเซเชจเซ เชชเชพเชธเซ เช เชเซเชฐเชฟเชฏเชพ เชฎเชพเชเซ เชชเซเชฐเชคเชพ เช เชงเชฟเชเชพเชฐเซ เชจเชฅเซ, เชคเซ เชเชจเซเชเซเชเชฐ เชญเซเชฒ เชธเชพเชฅเซ เชธเชฎเชพเชชเซเชค เชฅเชถเซ;-
transforms
เชฒเชเซเชทเซเชฏ เชตเชฟเชทเชฏเชจเซเช เชจเชพเชฎ เชเซเชตเซ เชฐเซเชคเซ เชฌเชฆเชฒเชตเซเช เชคเซ เชฌเชฐเชพเชฌเชฐ เชจเชเซเชเซ เชเชฐเซ เชเซ:-
transforms.AddPrefix.type
เชธเซเชเชตเซ เชเซ เชเซ เช เชฎเซ เชจเชฟเชฏเชฎเชฟเชค เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช; -
transforms.AddPrefix.regex
โ เชเช เชฎเชพเชธเซเช เชเซ เชเซ เชฒเชเซเชทเซเชฏ เชตเชฟเชทเชฏเชจเซเช เชจเชพเชฎ เชซเชฐเซเชฅเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ เชเซ; -
transforms.AddPrefix.replacement
- เชเชชเชฃเซ เชเซ เชซเชฐเซเชฅเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซเช เชเซเช เชคเซ เชธเซเชงเซเช.
-
เชนเซเชฆเชฏเชจเชพ เชงเชฌเชเชพเชฐเชพ เช เชจเซ เชชเชฐเชฟเชตเชฐเซเชคเชจ เชตเชฟเชถเซ เชตเชงเซ
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชเชจเซเชเซเชเชฐ เชฆเชฐเซเช เชชเซเชฐเชคเชฟเชฌเชฆเซเชง เชตเซเชฏเชตเชนเชพเชฐ เชฎเชพเชเซ เชเชพเชซเซเชเชพเชจเซ เชกเซเชเชพ เชฎเซเชเชฒเซ เชเซ, เช
เชจเซ เชคเซเชจเซ LSN (เชฒเซเช เชธเชฟเชเซเชตเชจเซเชธ เชจเชเชฌเชฐ) เชธเซเชตเชพ เชตเชฟเชทเชฏเชฎเชพเช เชฐเซเชเซเชฐเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. offset
. เชชเชฐเชเชคเซ เชเซ เชเชจเซเชเซเชเชฐ เชธเชฎเชเซเชฐ เชกเซเชเชพเชฌเซเชเชจเซ เชจเชนเซเช, เชชเชฐเชเชคเซ เชคเซเชจเชพ เชเซเชทเซเชเชเซเชจเซ เชฎเชพเชคเซเชฐ เชเช เชญเชพเช เชตเชพเชเชเชตเชพ เชฎเชพเชเซ เชเซเช เชตเชพเชฏเซเชฒ เชนเซเชฏ เชคเซ เชถเซเช เชฅเชพเชฏ เชเซ (เชเซเชฎเชพเช เชกเซเชเชพ เช
เชชเชกเซเช เชตเชพเชฐเชเชตเชพเชฐ เชฅเชคเชพ เชจเชฅเซ)?
- เชเชจเซเชเซเชเชฐ WAL เชซเชพเชเชฒเซ เชตเชพเชเชเชถเซ เช เชจเซ เชคเซ เชเซ เชเซเชฌเชฒ เชชเชฐ เชฆเซเชเชฐเซเช เชฐเชพเชเซ เชเซ เชคเซเชจเชพ เชชเชฐเชจเชพ เชเซเชเชชเชฃ เชตเซเชฏเชตเชนเชพเชฐเชจเซ เชถเซเชงเซ เชถเชเชถเซ เชจเชนเซเช.
- เชคเซเชฅเซ, เชคเซ เชตเชฟเชทเชฏ เช เชฅเชตเชพ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชธเซเชฒเซเชเชฎเชพเช เชคเซเชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟเชจเซ เช เชชเชกเซเช เชเชฐเชถเซ เชจเชนเซเช.
- เชเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ, WAL เชซเชพเชเชฒเซ เชกเชฟเชธเซเช เชชเชฐ เชฐเชพเชเชตเชพเชฎเชพเช เชเชตเชถเซ เช เชจเซ เชธเชเชญเชตเชคเช เชกเชฟเชธเซเช เชเชเซเชฏเชพ เชธเชฎเชพเชชเซเชค เชฅเช เชเชถเซ.
เช
เชจเซ เช เชคเซ เชเซ เชเซเชฏเชพเช เชตเชฟเชเชฒเซเชชเซ เชฌเชเชพเชตเชฎเชพเช เชเชตเซ เชเซ. heartbeat.interval.ms
ะธ heartbeat.action.query
. เชเซเชกเซเชฎเชพเช เช เชตเชฟเชเชฒเซเชชเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฅเซ เชฆเชฐเซเช เชตเชเชคเซ เชนเซเชฆเชฏเชจเชพ เชงเชฌเชเชพเชฐเชพเชจเซ เชธเชเชฆเซเชถ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เช
เชฒเช เชเซเชทเซเชเชเชฎเชพเช เชกเซเชเชพ เชฌเชฆเชฒเชตเชพเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเชตเชพเชจเซเช เชถเชเซเชฏ เชฌเชจเซ เชเซ. เชเชฎ, LSN เชเซ เชเซเชจเชพ เชชเชฐ เชเชจเซเชเซเชเชฐ เชนเชพเชฒเชฎเชพเช เชธเซเชฅเชฟเชค เชเซ (เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชธเซเชฒเซเชเชฎเชพเช) เชธเชคเชค เช
เชชเชกเซเช เชฅเชพเชฏ เชเซ. เช DBMS เชจเซ WAL เชซเชพเชเชฒเซเชจเซ เชฆเซเชฐ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เชเซเชจเซ เชนเชตเซ เชเชฐเซเชฐ เชจเชฅเซ. เชคเชฎเซ เชตเชฟเชเชฒเซเชชเซ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เชคเซ เชตเชฟเชถเซ เชตเชงเซ เชเชพเชฃเซ เชถเชเซ เชเซ
เชจเชเซเชเชฅเซ เชงเซเชฏเชพเชจ เชเชชเชตเชพ เชฏเซเชเซเชฏ เชฌเซเชเซ เชตเชฟเชเชฒเซเชช เชเซ transforms
. เชเซ เชเซ เชคเซ เชธเชเชตเชก เช
เชจเซ เชธเซเชเชฆเชฐเชคเชพ เชตเชฟเชถเซ เชตเชงเซ เชเซ ...
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, Debezium เชจเซเชเซเชจเซ เชจเชพเชฎเชเชฐเชฃ เชจเซเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเชฟเชทเชฏเซ เชฌเชจเชพเชตเซ เชเซ: serverName.schemaName.tableName
. เช เชนเชเชฎเซเชถเชพ เช
เชจเซเชเซเชณ เชจ เชนเซเช เชถเชเซ. เชตเชฟเชเชฒเซเชชเซ transforms
เชคเชฎเซ เชเซเชทเซเชเชเซเชจเซ เชธเซเชเชฟเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชจเชฟเชฏเชฎเชฟเชค เช
เชญเชฟเชตเซเชฏเชเซเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ, เชเชตเซเชจเซเช เชเซ เชเซเชฎเชพเชเชฅเซ เชเซเชเซเชเชธ เชจเชพเชฎ เชธเชพเชฅเซ เชตเชฟเชทเชฏ เชชเชฐ เชฐเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เช
เชฎเชพเชฐเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชฎเชพเช เชเชญเชพเชฐ transforms
เชจเซเชเซ เชฎเซเชเชฌ เชฅเชพเชฏ เชเซ: เชฎเซเชจเชฟเชเชฐ เชเชฐเซเชฒ เชกเซเชเชพเชฌเซเชเชฎเชพเชเชฅเซ เชคเชฎเชพเชฎ เชธเซเชกเซเชธเซ เชเชตเซเชจเซเช เชจเชพเชฎ เชธเชพเชฅเซเชจเชพ เชตเชฟเชทเชฏ เชชเชฐ เชเชถเซ data.cdc.dbname
. เชจเชนเชฟเชเชคเชฐ (เช เชธเซเชเชฟเชเชเซเชธ เชตเชฟเชจเชพ), Debezium เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชฆเชฐเซเช เชเซเชทเซเชเช เชฎเชพเชเซ เชเช เชตเชฟเชทเชฏ เชฌเชจเชพเชตเชถเซ เชเซเชฎ เชเซ: pg-dev.public.<table_name>
.
เชเชจเซเชเซเชเชฐ เชฎเชฐเซเชฏเชพเชฆเชพเช
PostgreSQL เชฎเชพเชเซ เชเชจเซเชเซเชเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซเช เชตเชฐเซเชฃเชจ เชชเซเชฐเซเชฃ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเซเชจเชพ เชเชชเชฐเซเชถเชจเชจเซ เชจเซเชเซเชจเซ เชธเซเชตเชฟเชงเชพเช/เชฎเชฐเซเชฏเชพเชฆเชพเช เชตเชฟเชถเซ เชตเชพเชค เชเชฐเชตเซ เชฏเซเชเซเชฏ เชเซ:
- PostgreSQL เชฎเชพเชเซ เชเชจเซเชเซเชเชฐเชจเซ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชฒเซเชเชฟเชเชฒ เชกเซเชเซเชกเชฟเชเชเชจเซ เชตเชฟเชญเชพเชตเชจเชพ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ. เชคเซเชฅเซ เชคเซเชฎเชฃเซ เชกเซเชเชพเชฌเซเช เชฎเชพเชณเชเซเช เชฌเชฆเชฒเชตเชพเชจเซ เชตเชฟเชจเชเชคเซเชเชจเซ เชเซเชฐเซ เช เชเชฐเชคเซเช เชจเชฅเซ (DDL) - เชคเชฆเชจเซเชธเชพเชฐ, เช เชกเซเชเชพ เชตเชฟเชทเชฏเซเชฎเชพเช เชฐเชนเซเชถเซ เชจเชนเซเช.
- เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชธเซเชฒเซเชเชจเซ เชเชชเชฏเซเช เชฅเชคเซ เชนเซเชตเชพเชฅเซ, เชเชจเซเชเซเชเชฐเชจเซ เชเชจเซเชเซเช เชเชฐเชตเซเช เชถเชเซเชฏ เชเซ เชฎเชพเชคเซเชฐ เช เชเซเชฐเชฃเซ DBMS เชเชฆเชพเชนเชฐเชฃ เชฎเชพเชเซ.
- เชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซ เชเซเชจเชพ เชนเซเช เชณ เชเชจเซเชเซเชเชฐ เชกเซเชเชพเชฌเซเช เชธเชพเชฅเซ เชเซเชกเชพเชฏ เชเซ เชคเซเชจเซ เชชเชพเชธเซ เชซเชเซเชค เชตเชพเชเชเชตเชพเชจเชพ เช เชงเชฟเชเชพเชฐเซ เชเซ, เชคเซ เชชเชเซ เชชเซเชฐเชฅเชฎ เชฒเซเชจเซเช เชชเชนเซเชฒเชพเช เชคเชฎเชพเชฐเซ เชฎเซเชจเซเชฏเซเช เชฒเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชธเซเชฒเซเช เชฌเชจเชพเชตเชตเชพเชจเซ เช เชจเซ เชกเซเชเชพเชฌเซเช เชชเชฐ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ.
เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฒเชพเชเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชคเซ, เชเชพเชฒเซ เชเชชเชฃเซเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชจเซเชเซเชเชฐเชฎเชพเช เชฒเซเชก เชเชฐเซเช:
curl -i -X POST -H "Accept:application/json"
-H "Content-Type:application/json" http://localhost:8083/connectors/
-d @pg-con.json
เช เชฎเซ เชคเชชเชพเชธเซเช เชเซเช เชเซ เชกเชพเชเชจเชฒเซเชก เชธเชซเชณ เชฅเชฏเซเช เช เชจเซ เชเชจเซเชเซเชเชฐ เชถเชฐเซ เชฅเชฏเซเช:
$ curl -i http://localhost:8083/connectors/pg-connector/status
HTTP/1.1 200 OK
Date: Thu, 17 Sep 2020 20:19:40 GMT
Content-Type: application/json
Content-Length: 175
Server: Jetty(9.4.20.v20190813)
{"name":"pg-connector","connector":{"state":"RUNNING","worker_id":"172.24.0.5:8083"},"tasks":[{"id":0,"state":"RUNNING","worker_id":"172.24.0.5:8083"}],"type":"source"}
เชธเชฐเชธ: เชคเซ เชธเซเช เชฅเช เชเชฏเซเช เชเซ เช เชจเซ เชเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซ. เชนเชตเซ เชเชพเชฒเซ เชเชชเชญเซเชเซเชคเชพ เชนเซเชตเชพเชจเซ เชกเซเชณ เชเชฐเซเช เช เชจเซ เชเชพเชซเชเชพ เชธเชพเชฅเซ เชเชจเซเชเซเช เชฅเชเช, เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชเชชเชฃเซ เชเซเชทเซเชเชเชฎเชพเช เชเช เชเชจเซเชเซเชฐเซ เชเชฎเซเชฐเซเชถเซเช เช เชจเซ เชฌเชฆเชฒเซเชถเซเช:
$ kafka/bin/kafka-console-consumer.sh
--bootstrap-server kafka:9092
--from-beginning
--property print.key=true
--topic data.cdc.dbname
postgres=# insert into customers (id, first_name, last_name, email) values (1005, 'foo', 'bar', '[email protected]');
INSERT 0 1
postgres=# update customers set first_name = 'egg' where id = 1005;
UPDATE 1
เช เชฎเชพเชฐเชพ เชตเชฟเชทเชฏเชฎเชพเช เชคเซ เชจเซเชเซ เชฎเซเชเชฌ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ:
เช เชฎเชพเชฐเชพ เชซเซเชฐเชซเชพเชฐเซ เชธเชพเชฅเซ เชเซเชฌ เช เชฒเชพเชเชฌเซ JSON
{
"schema":{
"type":"struct",
"fields":[
{
"type":"int32",
"optional":false,
"field":"id"
}
],
"optional":false,
"name":"data.cdc.dbname.Key"
},
"payload":{
"id":1005
}
}{
"schema":{
"type":"struct",
"fields":[
{
"type":"struct",
"fields":[
{
"type":"int32",
"optional":false,
"field":"id"
},
{
"type":"string",
"optional":false,
"field":"first_name"
},
{
"type":"string",
"optional":false,
"field":"last_name"
},
{
"type":"string",
"optional":false,
"field":"email"
}
],
"optional":true,
"name":"data.cdc.dbname.Value",
"field":"before"
},
{
"type":"struct",
"fields":[
{
"type":"int32",
"optional":false,
"field":"id"
},
{
"type":"string",
"optional":false,
"field":"first_name"
},
{
"type":"string",
"optional":false,
"field":"last_name"
},
{
"type":"string",
"optional":false,
"field":"email"
}
],
"optional":true,
"name":"data.cdc.dbname.Value",
"field":"after"
},
{
"type":"struct",
"fields":[
{
"type":"string",
"optional":false,
"field":"version"
},
{
"type":"string",
"optional":false,
"field":"connector"
},
{
"type":"string",
"optional":false,
"field":"name"
},
{
"type":"int64",
"optional":false,
"field":"ts_ms"
},
{
"type":"string",
"optional":true,
"name":"io.debezium.data.Enum",
"version":1,
"parameters":{
"allowed":"true,last,false"
},
"default":"false",
"field":"snapshot"
},
{
"type":"string",
"optional":false,
"field":"db"
},
{
"type":"string",
"optional":false,
"field":"schema"
},
{
"type":"string",
"optional":false,
"field":"table"
},
{
"type":"int64",
"optional":true,
"field":"txId"
},
{
"type":"int64",
"optional":true,
"field":"lsn"
},
{
"type":"int64",
"optional":true,
"field":"xmin"
}
],
"optional":false,
"name":"io.debezium.connector.postgresql.Source",
"field":"source"
},
{
"type":"string",
"optional":false,
"field":"op"
},
{
"type":"int64",
"optional":true,
"field":"ts_ms"
},
{
"type":"struct",
"fields":[
{
"type":"string",
"optional":false,
"field":"id"
},
{
"type":"int64",
"optional":false,
"field":"total_order"
},
{
"type":"int64",
"optional":false,
"field":"data_collection_order"
}
],
"optional":true,
"field":"transaction"
}
],
"optional":false,
"name":"data.cdc.dbname.Envelope"
},
"payload":{
"before":null,
"after":{
"id":1005,
"first_name":"foo",
"last_name":"bar",
"email":"[email protected]"
},
"source":{
"version":"1.2.3.Final",
"connector":"postgresql",
"name":"dbserver1",
"ts_ms":1600374991648,
"snapshot":"false",
"db":"postgres",
"schema":"public",
"table":"customers",
"txId":602,
"lsn":34088472,
"xmin":null
},
"op":"c",
"ts_ms":1600374991762,
"transaction":null
}
}{
"schema":{
"type":"struct",
"fields":[
{
"type":"int32",
"optional":false,
"field":"id"
}
],
"optional":false,
"name":"data.cdc.dbname.Key"
},
"payload":{
"id":1005
}
}{
"schema":{
"type":"struct",
"fields":[
{
"type":"struct",
"fields":[
{
"type":"int32",
"optional":false,
"field":"id"
},
{
"type":"string",
"optional":false,
"field":"first_name"
},
{
"type":"string",
"optional":false,
"field":"last_name"
},
{
"type":"string",
"optional":false,
"field":"email"
}
],
"optional":true,
"name":"data.cdc.dbname.Value",
"field":"before"
},
{
"type":"struct",
"fields":[
{
"type":"int32",
"optional":false,
"field":"id"
},
{
"type":"string",
"optional":false,
"field":"first_name"
},
{
"type":"string",
"optional":false,
"field":"last_name"
},
{
"type":"string",
"optional":false,
"field":"email"
}
],
"optional":true,
"name":"data.cdc.dbname.Value",
"field":"after"
},
{
"type":"struct",
"fields":[
{
"type":"string",
"optional":false,
"field":"version"
},
{
"type":"string",
"optional":false,
"field":"connector"
},
{
"type":"string",
"optional":false,
"field":"name"
},
{
"type":"int64",
"optional":false,
"field":"ts_ms"
},
{
"type":"string",
"optional":true,
"name":"io.debezium.data.Enum",
"version":1,
"parameters":{
"allowed":"true,last,false"
},
"default":"false",
"field":"snapshot"
},
{
"type":"string",
"optional":false,
"field":"db"
},
{
"type":"string",
"optional":false,
"field":"schema"
},
{
"type":"string",
"optional":false,
"field":"table"
},
{
"type":"int64",
"optional":true,
"field":"txId"
},
{
"type":"int64",
"optional":true,
"field":"lsn"
},
{
"type":"int64",
"optional":true,
"field":"xmin"
}
],
"optional":false,
"name":"io.debezium.connector.postgresql.Source",
"field":"source"
},
{
"type":"string",
"optional":false,
"field":"op"
},
{
"type":"int64",
"optional":true,
"field":"ts_ms"
},
{
"type":"struct",
"fields":[
{
"type":"string",
"optional":false,
"field":"id"
},
{
"type":"int64",
"optional":false,
"field":"total_order"
},
{
"type":"int64",
"optional":false,
"field":"data_collection_order"
}
],
"optional":true,
"field":"transaction"
}
],
"optional":false,
"name":"data.cdc.dbname.Envelope"
},
"payload":{
"before":{
"id":1005,
"first_name":"foo",
"last_name":"bar",
"email":"[email protected]"
},
"after":{
"id":1005,
"first_name":"egg",
"last_name":"bar",
"email":"[email protected]"
},
"source":{
"version":"1.2.3.Final",
"connector":"postgresql",
"name":"dbserver1",
"ts_ms":1600375609365,
"snapshot":"false",
"db":"postgres",
"schema":"public",
"table":"customers",
"txId":603,
"lsn":34089688,
"xmin":null
},
"op":"u",
"ts_ms":1600375609778,
"transaction":null
}
}
เชฌเชเชจเซ เชเชฟเชธเซเชธเชพเชเชฎเชพเช, เชฐเซเชเซเชฐเซเชกเซเชธเชฎเชพเช เชฌเชฆเชฒเชพเชฏเซเชฒ เชฐเซเชเซเชฐเซเชกเชจเซ เชเซ (PK) เช เชจเซ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเซเชฌ เช เชธเชพเชฐ เชนเซเชฏ เชเซ: เชฐเซเชเซเชฐเซเชก เชชเชนเซเชฒเชพ เชถเซเช เชนเชคเซ เช เชจเซ เชคเซ เชชเชเซ เชถเซเช เชฌเชจเซเชฏเซเช.
- เชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช
INSERT
: เชฎเซเชฒเซเชฏ เชชเชนเซเชฒเชพ (before
) เชฌเชฐเชพเชฌเชฐnull
, เช เชจเซ เชชเชเซ - เชเซ เชฒเชพเชเชจ เชฆเชพเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ. - เชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช
UPDATE
: เช เชเชคเซpayload.before
เชฒเชพเชเชจเชจเซ เชชเชพเชเชฒเซ เชธเซเชฅเชฟเชคเชฟ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เชเซ, เช เชจเซ เชฎเชพเชpayload.after
- เชซเซเชฐเชซเชพเชฐเซเชจเชพ เชธเชพเชฐ เชธเชพเชฅเซ เชจเชตเซเช.
2.2 เชฎเซเชเชเซเชกเซเชฌเซ
เช เชเชจเซเชเซเชเชฐ เชชเซเชฐเชฎเชพเชฃเชญเซเชค MongoDB เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ, เชชเซเชฐเชพเชฅเชฎเชฟเช DBMS เชจเซเชกเชจเชพ เชเชชเชฒเซเชเชฎเชพเชเชฅเซ เชฎเชพเชนเชฟเชคเซ เชตเชพเชเชเซ เชเซ.
PgSQL เชฎเชพเชเซ เชชเชนเซเชฒเซเชฅเซ เช เชตเชฐเซเชฃเชตเซเชฒ เชเชจเซเชเซเชเชฐเชจเซ เชเซเชฎ, เช เชนเซเช เชชเชฃ, เชชเซเชฐเชฅเชฎ เชถเชฐเซเชเชคเชฎเชพเช, เชชเซเชฐเชพเชฅเชฎเชฟเช เชกเซเชเชพ เชธเซเชจเซเชชเชถเซเช เชฒเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ เชชเชเซ เชเชจเซเชเซเชเชฐ เชเชชเชฒเซเช เชฐเซเชกเชฟเชเช เชฎเซเชก เชชเชฐ เชธเซเชตเชฟเช เชเชฐเซ เชเซ.
เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชฆเชพเชนเชฐเชฃ:
{
"name": "mp-k8s-mongo-connector",
"config": {
"connector.class": "io.debezium.connector.mongodb.MongoDbConnector",
"tasks.max": "1",
"mongodb.hosts": "MainRepSet/mongo:27017",
"mongodb.name": "mongo",
"mongodb.user": "debezium",
"mongodb.password": "dbname",
"database.whitelist": "db_1,db_2",
"transforms": "AddPrefix",
"transforms.AddPrefix.type": "org.apache.kafka.connect.transforms.RegexRouter",
"transforms.AddPrefix.regex": "mongo.([a-zA-Z_0-9]*).([a-zA-Z_0-9]*)",
"transforms.AddPrefix.replacement": "data.cdc.mongo_$1"
}
}
เชเซเชฎ เชคเชฎเซ เชเซเช เชถเชเซ เชเซ, เช เชเชพเชเชจเชพ เชเชฆเชพเชนเชฐเชฃเชจเซ เชธเชฐเชเชพเชฎเชฃเซเชฎเชพเช เช เชนเซเช เชเซเช เชจเชตเชพ เชตเชฟเชเชฒเซเชชเซ เชจเชฅเซ, เชชเชฐเชเชคเซ เชฎเชพเชคเซเชฐ เชกเซเชเชพเชฌเซเช เช เชจเซ เชคเซเชฎเชจเชพ เชเชชเชธเชฐเซเชเชจเซ เชเชจเซเชเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชตเชฟเชเชฒเซเชชเซเชจเซ เชธเชเชเซเชฏเชพ เชเชเชพเชกเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชธเซเชเชฟเชเชเซเชธ transforms
เช เชตเชเชคเซ เชคเซเช เชจเซเชเซ เชฎเซเชเชฌ เชเชฐเซ เชเซ: เชคเซเช เชธเซเชเซเชฎเชพเชฎเชพเชเชฅเซ เชฒเชเซเชทเซเชฏ เชตเชฟเชทเชฏเชจเซเช เชจเชพเชฎ เชฐเซเชชเชพเชเชคเชฐเชฟเชค เชเชฐเซ เชเซ <server_name>.<db_name>.<collection_name>
ะฒ data.cdc.mongo_<db_name>
.
เชธเชนเชจเชถเซเชฒเชคเชพ เชฆเซเชท
เช เชฎเชพเชฐเชพ เชธเชฎเชฏเชฎเชพเช เชเชพเชฎเซ เชธเชนเชฟเชทเซเชฃเซเชคเชพ เช เชจเซ เชเชเซเช เชเชชเชฒเชฌเซเชงเชคเชพเชจเซ เชฎเซเชฆเซเชฆเซ เชชเชนเซเชฒเชพ เชเชฐเชคเชพเช เชตเชงเซ เชคเซเชตเซเชฐ เชเซ - เชเชพเชธ เชเชฐเซเชจเซ เชเซเชฏเชพเชฐเซ เชเชชเชฃเซ เชกเซเชเชพ เช เชจเซ เชตเซเชฏเชตเชนเชพเชฐเซ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช, เช เชจเซ เชกเซเชเชพเชจเชพ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเซเชฐเซ เช เชเชฐเชตเชพเชจเซเช เช เชฎเซเชฆเซเชฆเชพเชฎเชพเช เชฌเชพเชเซ เชชเชฐ เชฐเชนเซเชคเซเช เชจเชฅเซ. เชเชพเชฒเซ เชเซเชเช เชเซ เชธเชฟเชฆเซเชงเชพเชเชคเชฎเชพเช เชถเซเช เชเซเชเซเช เชฅเช เชถเชเซ เชเซ เช เชจเซ เชฆเชฐเซเช เชเชฟเชธเซเชธเชพเชฎเชพเช เชกเซเชฌเซเชเชฟเชฏเชฎเชจเซเช เชถเซเช เชฅเชถเซ.
เชคเซเชฏเชพเช เชคเซเชฐเชฃ เชจเชพเชชเชธเชเชฆ เชตเชฟเชเชฒเซเชชเซ เชเซ:
- เชเชพเชซเชเชพ เชเชจเซเชเซเช เชจเชฟเชทเซเชซเชณเชคเชพ. เชเซ เชเชจเซเชเซเชเชจเซ เชตเชฟเชคเชฐเชฟเชค เชฎเซเชกเชฎเชพเช เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเช เชตเซเชฒเซเช เชนเซเชฏ, เชคเซ เช เชฎเชพเชเซ เชฌเชนเซเชตเชฟเชง เชเชพเชฎเชฆเชพเชฐเซเชจเซ เชธเชฎเชพเชจ group.id เชธเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชชเชเซ, เชเซ เชคเซเชฎเชพเชเชฅเซ เชเช เชจเชฟเชทเซเชซเชณ เชเชพเชฏ, เชคเซ เชเชจเซเชเซเชเชฐ เชฌเซเชเชพ เชเชพเชฐเซเชฏเชเชฐ เชชเชฐ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชฅเชถเซ เช เชจเซ เชเชพเชซเชเชพเชฎเชพเช เชตเชฟเชทเชฏเชฎเชพเช เชเซเชฒเซเชฒเซ เชชเซเชฐเชคเชฟเชฌเชฆเซเชง เชธเซเชฅเชฟเชคเชฟเชฎเชพเชเชฅเซ เชตเชพเชเชเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเชถเซ.
- เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐ เชธเชพเชฅเซ เชเซเชกเชพเชฃ เชเซเชฎเชพเชตเชตเซเช. เชเชจเซเชเซเชเชฐ เชซเชเซเชค เชคเซ เชธเซเชฅเชพเชจ เชชเชฐ เชตเชพเชเชเชตเชพเชจเซเช เชฌเชเชง เชเชฐเชถเซ เชเซ เชเชพเชซเซเชเชพเชจเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชจเชฟเชทเซเชซเชณ เชเชฏเซเช เชเซ, เช เชจเซ เชชเซเชฐเชฏเชพเชธ เชธเชซเชณ เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ เชธเชฎเชฏเชพเชเชคเชฐเซ เชคเซเชจเซ เชซเชฐเซเชฅเซ เชฎเซเชเชฒเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชถเซ.
- เชกเซเชเชพ เชธเซเชคเซเชฐเซเชค เช
เชจเซเชชเชฒเชฌเซเชงเชคเชพ. เชเชจเซเชเซเชเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเซเชฏเชพ เชฎเซเชเชฌ เชธเซเชฐเซเชค เชธเชพเชฅเซ เชซเชฐเซเชฅเซ เชเชจเซเชเซเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชถเซ. เชกเชฟเชซเซเชฒเซเช 16 เชชเซเชฐเชฏเชพเชธเซ เชเซ
เชเชพเชคเชพเชเชเซเชฏ เชฌเซเชเชเชซ . 16เชฎเชพ เช เชธเชซเชณ เชชเซเชฐเชฏเชพเชธ เชชเชเซ, เชเชพเชฐเซเชฏ เชคเชฐเซเชเซ เชเชฟเชนเซเชจเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชฟเชทเซเชซเชณ เช เชจเซ เชคเชฎเชพเชฐเซ เชคเซเชจเซ เชเชพเชซเชเชพ เชเชจเซเชเซเช REST เชเชจเซเชเชฐเชซเซเชธ เชฆเซเชตเชพเชฐเชพ เชฎเซเชจเซเชฏเซเช เชฒเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ.- เชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชชเซเชธเซเชเชเซเชฐเซ เชเชธเชเซเชฏเซเชเชฒ เชกเซเชเชพ เชเซเชตเชพเช เชเชถเซ เชจเชนเซเช, เชเชพเชฐเชฃ เชเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชธเซเชฒเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชคเชฎเชจเซ เชเชจเซเชเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชตเชพเชเชเชตเชพเชฎเชพเช เชเชตเชคเซ เชจ เชนเซเชฏ เชคเซเชตเซ WAL เชซเชพเชเชฒเซเชจเซ เชเชพเชขเซ เชจเชพเชเชตเชพเชฅเซ เช เชเชเชพเชตเชถเซ. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชธเชฟเชเซเชเชพเชจเซเช เชจเซเชเชธเชพเชจ เชชเชฃ เชเซ: เชเซ เชเชจเซเชเซเชเชฐ เช เชจเซ DBMS เชตเชเซเชเซเชจเซ เชจเซเชเชตเชฐเซเช เชเชจเซเชเซเชเชฟเชตเชฟเชเซ เชฒเชพเชเชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ เชตเชฟเชเซเชทเซเชชเชฟเชค เชฅเชพเชฏ เชเซ, เชคเซ เชกเชฟเชธเซเช เชธเซเชชเซเชธ เชธเชฎเชพเชชเซเชค เชฅเชตเชพเชจเซ เชธเชเชญเชพเชตเชจเชพ เชเซ, เช เชจเซ เช เชจเชฟเชทเซเชซเชณเชคเชพ เชคเชฐเชซ เชฆเซเชฐเซ เชถเชเซ เชเซ. เชธเชฎเชเซเชฐ DBMS.
- เชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช MySQL เชเชจเซเชเซเชเชฟเชตเชฟเชเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชฅเชพเชฏ เชคเซ เชชเชนเซเชฒเชพเช binlog เชซเชพเชเชฒเซเชจเซ DBMS เชฆเซเชตเชพเชฐเชพ เช เชซเซเชฐเชตเซ เชถเชเชพเชฏ เชเซ. เชเชจเชพเชฅเซ เชเชจเซเชเซเชเชฐ เชจเชฟเชทเซเชซเชณ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช เชเชถเซ, เช เชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชเชพเชฎเชเซเชฐเซเชจเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชฌเชฟเชจเชฒเซเชเซเชธเชฎเชพเชเชฅเซ เชตเชพเชเชเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชธเซเชจเซเชชเชถเซเช เชฎเซเชกเชฎเชพเช เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ.
- เชชเชฐ MongoDB. เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เชเชฃเชพเชตเซ เชเซ: เชฒเซเช/เชเชชเชฒเซเช เชซเชพเชเชฒเซ เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซ เชนเซเชฏ เช
เชจเซ เชเชจเซเชเซเชเชฐ เชเซเชฏเชพเชเชฅเซ เชเซเชกเซ เชฆเซเชงเซเช เชนเซเชฏ เชคเซเชฏเชพเชเชฅเซ เชตเชพเชเชเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเซ เชถเชเชคเซเช เชจเชฅเซ เชคเซ เชเชเชจเชพเชฎเชพเช เชเชจเซเชเซเชเชฐเชจเซเช เชตเชฐเซเชคเชจ เชคเชฎเชพเชฎ DBMS เชฎเชพเชเซ เชธเชฎเชพเชจ เชเซ. เชคเซเชจเซ เช
เชฐเซเชฅ เช เชเซ เชเซ เชเชจเซเชเซเชเชฐ เชฐเชพเชเซเชฏเชฎเชพเช เชเชถเซ เชจเชฟเชทเซเชซเชณ เช
เชจเซ เชฎเซเชกเชฎเชพเช เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชธเซเชจเซเชชเชถเซเช.
เชเซ เชเซ, เชคเซเชฏเชพเช เช เชชเชตเชพเชฆเซ เชเซ. เชเซ เชเชจเซเชเซเชเชฐ เชฒเชพเชเชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ เชกเชฟเชธเซเชเชจเซเชเซเช เชฅเชฏเซเชฒเซเช เชนเชคเซเช (เช เชฅเชตเชพ MongoDB เชฆเชพเชเชฒเชพ เชธเซเชงเซ เชชเชนเซเชเชเซ เชถเชเซเชฏเซเช เชจ เชนเชคเซเช), เช เชจเซ เช เชธเชฎเชฏ เชฆเชฐเชฎเชฟเชฏเชพเชจ oplog เชชเชฐเชฟเชญเซเชฐเชฎเชฃเชฎเชพเชเชฅเซ เชชเชธเชพเชฐ เชฅเชฏเซเช เชนเชคเซเช, เชคเซ เชชเชเซ เชเซเชฏเชพเชฐเซ เชเชจเซเชเซเชถเชจ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชเชจเซเชเซเชเชฐ เชถเชพเชเชคเชฟเชฅเซ เชชเซเชฐเชฅเชฎ เชเชชเชฒเชฌเซเชง เชธเซเชฅเชฟเชคเชฟเชฎเชพเชเชฅเซ เชกเซเชเชพ เชตเชพเชเชเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเชถเซ, เชคเซเชฅเซ เช เชเชพเชซเชเชพเชจเชพ เชเซเชเชฒเชพเช เชกเซเชเชพ เชจเชฅเซ เชซเชเชเซ เชชเชกเชถเซ.
เชจเชฟเชทเซเชเชฐเซเชท
เชกเซเชฌเซเชเชฟเชฏเชฎ เช เชธเซเชกเซเชธเซ เชธเชฟเชธเซเชเชฎเซเชธ เชธเชพเชฅเซเชจเซ เชฎเชพเชฐเซ เชชเซเชฐเชฅเชฎ เช
เชจเซเชญเชต เชเซ เช
เชจเซ เชเชเชเชฆเชฐเซ เชเซเชฌ เช เชธเชเชพเชฐเชพเชคเซเชฎเช เชเซ. เชฎเซเชเซเชฏ DBMS, เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชธเชฐเชณเชคเชพ, เชเซเชฒเชธเซเชเชฐเชฟเชเช เชธเชชเซเชฐเซเช เช
เชจเซ เชธเชเซเชฐเชฟเชฏ เชธเชฎเซเชฆเชพเชฏ เชฎเชพเชเซ เชคเซเชจเชพ เชธเชฎเชฐเซเชฅเชจ เชธเชพเชฅเซ เชชเซเชฐเซเชเซเชเซเช เชเซเชคเซเชฏเซ. เชชเซเชฐเซเชเซเชเชฟเชธเชฎเชพเช เชฐเชธ เชงเชฐเชพเชตเชคเชพ เชฒเซเชเซ เชฎเชพเชเซ, เชนเซเช เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช เชเซ เชคเชฎเซ เชฎเชพเชเซ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพเช เชตเชพเชเชเซ
เชเชพเชซเชเชพ เชเชจเซเชเซเช เชฎเชพเชเซเชจเชพ JDBC เชเชจเซเชเซเชเชฐเชจเซ เชคเซเชฒเชจเชพเชฎเชพเช, เชกเซเชฌเซเชเชฟเชฏเชฎเชจเซ เชฎเซเชเซเชฏ เชซเชพเชฏเชฆเซ เช เชเซ เชเซ เชซเซเชฐเชซเชพเชฐเซเชจเซ DBMS เชฒเซเชเซเชธเชฎเชพเชเชฅเซ เชตเชพเชเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ เชจเซเชฏเซเชจเชคเชฎ เชฒเซเชเชจเซเชธเซ เชธเชพเชฅเซ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. JDBC เชเชจเซเชเซเชเชฐ (เชเชพเชซเซเชเชพ เชเชจเซเชเซเชเชฎเชพเชเชฅเซ) เชเช เชจเชฟเชถเซเชเชฟเชค เช เชเชคเชฐเชพเชฒ เชชเชฐ เชฎเซเชจเชฟเชเชฐ เชเชฐเซเชฒ เชเซเชทเซเชเชเชจเซ เชเซเชตเซเชฐเซ เชเชฐเซ เชเซ เช เชจเซ (เชคเซ เช เชเชพเชฐเชฃเชธเชฐ) เชเซเชฏเชพเชฐเซ เชกเซเชเชพ เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชธเชเชฆเซเชถเชพ เชเชจเชฐเซเช เชเชฐเชคเซเช เชจเชฅเซ (เชคเชฎเซ เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจ เชนเซเชฏ เชคเซเชตเชพ เชกเซเชเชพเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชเซเชตเซเชฐเซ เชเชฐเซ เชถเชเซ?).
เชธเชฎเชพเชจ เชธเชฎเชธเซเชฏเชพเช เชนเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ เชจเซเชเซเชจเชพ เชเชเซเชฒเซ เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซ เชถเชเซ เชเซ (เชกเซเชฌเซเชเชฟเชฏเชฎ เชเชชเชฐเชพเชเชค):
-
JDBC เชเชจเซเชเซเชเชฐ เชเชพเชซเชเชพ เชเชจเซเชเซเช; - เชฎเชพเชคเซเชฐ MySQL เชฎเชพเชเซ เชเซเชเชฒเชพเช เชเชเซเชฒเซ:
-
เชเชฐเซเชเชฒ เชเซเชฒเซเชกเชจเชเซเช , เชชเชฐเชเชคเซ เช เชเช เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เช เชฒเช "เชตเชเชจ เชถเซเชฐเซเชฃเซ" เชเซ.
PS
เช เชฎเชพเชฐเชพ เชฌเซเชฒเซเช เชชเชฐ เชชเชฃ เชตเชพเชเชเซ:
- ยซ
เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช เชเชพเชซเชเชพ เชเซเชฒเชธเซเชเชฐ เชฎเชพเชเซ เชฏเซเชเซเชฏ เชเชฆ เชจเชเซเชเซ เชเชฐเชตเซเช ยป; - ยซ
เช เชฎเชพเชฐเชพ SRE เชฐเซเชเชฟเชเชฆเชพ เชเซเชตเชจเชฎเชพเชเชฅเซ เชตเซเชฏเชตเชนเชพเชฐเซ เชตเชพเชฐเซเชคเชพเช. เชญเชพเช 2 ยป; - ยซ
เชเซเชฌเชฐเชจเซเชเซเชธ, เช เชฎเชพเชฐเซ เชชเชธเชเชฆเชเซเช เช เชจเซ เช เชจเซเชญเชตเซ เชฎเชพเชเซ เชชเซเชธเซเชเชเซเชฐเซเชเชธเชเซเชฏเซเชเชฒ เชจเชฟเชตเซเชฆเชจเซเชจเซ เชธเชเชเซเชทเชฟเชชเซเชค เชเชพเชเชเซ ยป.
เชธเซเชฐเซเชธ: www.habr.com