Thắc Mắc - Cách Sử Dụng Hệ Thống Data Change Capture (CDC) Cho ...

VOZ
  • Forums New posts
  • Latests Featured content New posts New profile posts Latest activity
  • pik.vn
Log in Register What's new
  • New posts
Menu Log in Register Install the app Install How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

  • Forums
  • Học tập & Sự nghiệp
  • Lập trình / CNTT
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. thắc mắcCách sử dụng hệ thống data change capture (CDC) cho hệ thống SaaS multi tenant
  • Thread starter Thread starter TomorrowNeverDie
  • Start date Start date Feb 6, 2022
TomorrowNeverDie

TomorrowNeverDie

Senior Member
Chào các Thím, em đang tìm hiểu về giải pháp đồng bộ dữ liệu giữa các hệ thống bằng cách sử dụng CDC. Bài toán của em là: Hai hệ thống SaaS đồng bộ dữ liệu với nhau. Hệ thống A có bảng dữ liệu A.table1 và hệ thống B có mong muốn bắt được sự kiện thay đổi dữ liệu ở bảng A.table1 theo teant (hai hệ thống cùng tập tenant). Hiện tại thì em đang tìm hiểu thằng Debezium và cũng chạy thử 1 số case của nó -> thấy khá OK. Nhưng khi tính toán để áp dụng cho hệ thống SaaS multi tenant (50k tenant) trên thì gặp một số vấn đề:
  • Do hệ thống thiết kế mỗi tenant 1 db -> Cấu hình, giám sát Debezium thế nào cho hiệu quả?
  • Số topic trên Kafka tăng lên theo số cấu hình connectors -> có rủi ro về hiệu năng và dung lượng lưu trữ trong quá trình vận hành Kafka ko?
  • Việc lưu trữ lịch sử thay đổi bảng ở trên Kafka -> sau 1 thời gian dung lượng phình lên -> có giải pháp nào để xử lý vấn đề này để vẫn đảm bảo được các hệ thống tích hợp sau này đồng bộ được lần đầu.
Hiện tại em vẫn đang trong quá trình tìm hiểu và áp dụng, nếu có giải pháp khác hay hơn, hoặc mô hình nào tốt hơn thì nhờ các Thím cho em xin gợi ý. Em cảm ơn. Chúc các Thím năm mới mạnh khỏe :) Honda Support

Honda Support

Senior Member
1. Monitor thì monitor Kafka Connect thôi, cái này có sẵn exporter hết rồi, setup rồi visualize lên Grafana thôi 2. Số lượng 50k topic hay 100k topic vẫn không ảnh hưởng gì tới Kafka vì con số này chưa lớn 3. Lần đầu tạo connector nó tạo snapshot chứ không phải có sẵn 1 triệu row thì nó tạo ra 1 triệu message Kafka nên không lo, chắc bạn chưa đọc tài liệu Debezium nên mới thắc mắc cái này Donald Trump USA_No1

Donald Trump USA_No1

Senior Member
Chủ topic cho em hỏi em hay đọc docs về Azure cũng có từ multi tenant, nhưng em k thực sự hiểu ý của multi tenant muốn nói về cái gì ? Em gg dịch thì nó là ng thuê nhà bác giải thích giúp em với @Honda Support @TomorrowNeverDie TomorrowNeverDie

TomorrowNeverDie

Senior Member
Honda Support said: 1. Monitor thì monitor Kafka Connect thôi, cái này có sẵn exporter hết rồi, setup rồi visualize lên Grafana thôi 2. Số lượng 50k topic hay 100k topic vẫn không ảnh hưởng gì tới Kafka vì con số này chưa lớn 3. Lần đầu tạo connector nó tạo snapshot chứ không phải có sẵn 1 triệu row thì nó tạo ra 1 triệu message Kafka nên không lo, chắc bạn chưa đọc tài liệu Debezium nên mới thắc mắc cái này Click to expand...
Tks Thím, 2 vấn đề trên thì em sẽ tim hiểu thêm. Cái thứ 3 thì em đã thử, mỗi row nó thêm 1 message vào trong topic của Kafka và để thông tin snapshot = true trong message đó. Em thấy 1 vấn đề là: Mọi thông tin về bảng đều được đẩy lên topic tương ứng ở Kafka (tương ứng với mỗi (khi snapshot), nhiều (khi row đó có sự thay đổi - insert, update, delete) message trong topic) -> dung lượng của topic có thể ít, nhưng trong bài toán này thì dung lượng của Kafka khi có khoảng 50-100k topic lưu thông tin đủ để các Consumer tạo được bảng đó lần đầu sẽ rất lớn theo thời gian. => Em đã thử xoá topic dể Debezium tạo lại theo snapshot -> nhằm loại bỏ các message lịch sử thay đổi của các row thì chưa thấy Debezium tự động dựng lại snapshot mà sẽ đẩy lịch sử thay đổi row vào đó luôn -> có thể em sẽ xem lại cấu hình chỗ này để có thể tự động tạo lại snapshot -> cơ mà theo cách này thì dung lượng chắc vẫn rất lớn. Có giải pháp thực tế nào cho trường hợp này ko Thím?
Donald Trump USA_No1 said: Chủ topic cho em hỏi em hay đọc docs về Azure cũng có từ multi tenant, nhưng em k thực sự hiểu ý của multi tenant muốn nói về cái gì ? Em gg dịch thì nó là ng thuê nhà bác giải thích giúp em với @Honda Support @TomorrowNeverDie Click to expand...
Thím cứ tưởng tưởng là mình dựng 1 hệ thống cung cấp dịch vụ. Dịch vụ đó cho phép người thuê (tenant) có thể tạo tài khoản, quản ly người dùng, sử dụng các chức năng như là Thím dựng hệ thống riêng cho người đó vậy. Thường sẽ theo mô hình: Mỗi tenant 1 database (đảm bảo hiệu năng và ranh giới giữa các tenant), và dùng chung Service. Như hình bên dưới: 1644146160881.png M

microvn2012

Đã tốn tiền
Mình k làm về lập trình có cái thắc mắc này mấy thím dev rành chỉ giúp. Vì dụ như việc sync 2 database hoặc view data lên giao diện app hoặc web là phía application request theo schedule hay ở phía source viết thêm 1 app để schedule push data đấy lên app/web nhỉ. Hay có 1 cơ chế nào khác? Donald Trump USA_No1

Donald Trump USA_No1

Senior Member
Tức là ví dụ Azure chẳng hạn, xong Nastech, Viettel, Fsoft thuê dịch vụ của Azure thì Nastech, Viettel, Fsoft sẽ là tenant của Azure đúng ko bác @TomorrowNeverDie

TomorrowNeverDie

TomorrowNeverDie

Senior Member
Donald Trump USA_No1 said: Tức là ví dụ Azure chẳng hạn, xong Nastech, Viettel, Fsoft thuê dịch vụ của Azure thì Nastech, Viettel, Fsoft sẽ là tenant của Azure đúng ko bác @TomorrowNeverDie

Click to expand...
Nếu đứng ở góc độ sử dụng dịch vụ thì Thím có thể hiểu như thế. Còn ở góc độ kỹ thuật thì mình ko rành bên Azure lắm ghXpJrI.png TomorrowNeverDie

TomorrowNeverDie

Senior Member
microvn2012 said: Mình k làm về lập trình có cái thắc mắc này mấy thím dev rành chỉ giúp. Vì dụ như việc sync 2 database hoặc view data lên giao diện app hoặc web là phía application request theo schedule hay ở phía source viết thêm 1 app để schedule push data đấy lên app/web nhỉ. Hay có 1 cơ chế nào khác? Click to expand...
Thím có thể tham khảo pattern này: https://docs.microsoft.com/en-us/azure/architecture/patterns/materialized-view Còn việc cơ chế thì tùy vào việc Thím tự code, dùng trigger, sử dụng chức năng của database, hoặc như bài viết của mình: sử dụng CDC để tạo ra các dữ liệu view. You must log in or register to reply here.

Similar threads

Man Thien Hoa Vu Từ 1/3, ai được xem “căn cước công dân” của bất động sản?
  • Man Thien Hoa Vu
  • Feb 28, 2026
  • Điểm báo
Replies 7 Views 606 Feb 28, 2026 matrix103dpi matrix103dpi Level up! Lỗ hổng trong Looker của Google có thể khiến doanh nghiệp bị chiếm quyền hệ thống
  • Level up!
  • Feb 10, 2026
  • Điểm báo
Replies 0 Views 197 Feb 10, 2026 Level up! Level up! CoinGecko Mỹ yêu cầu Anthropic cho quân đội sử dụng AI không hạn chế
  • CoinGecko
  • Feb 25, 2026
  • Điểm báo
2 Replies 26 Views 4K Feb 28, 2026 rfcclub2011 R Bing AI (Mỹ) ChatGPT đối diện làn sóng tẩy chay
  • Bing AI
  • Tuesday at 3:09 PM
  • Điểm báo
2 3 Replies 46 Views 4K Wednesday at 4:10 PM luaviet_2007 luaviet_2007 IllianS Tất cả bất động sản của người dân sẽ có mã định danh sau 3 ngày tới
  • IllianS
  • Feb 26, 2026
  • Điểm báo
5 6 7 Replies 124 Views 15K Tuesday at 12:49 PM naratun N Share: Facebook X Bluesky LinkedIn Reddit Pinterest WhatsApp Share Link

Thread statistics

Created TomorrowNeverDie, Feb 6, 2022 Last reply from TomorrowNeverDie, Feb 6, 2022 Replies 7 Views 1,897

Share this page

Facebook X Bluesky LinkedIn Reddit Pinterest WhatsApp Share Link
  • Forums
  • Học tập & Sự nghiệp
  • Lập trình / CNTT
Back Top

Từ khóa » Debezium Là Gì