[ad_1]
Bây giờ, giả sử bạn đã trích xuất một loạt bản ghi bằng cách thực hiện các yêu cầu API với các thông số được đề cập ở trên, đã đến lúc bạn quyết định cách bạn muốn ghi chúng vào bảng đích.
👉 Trả lời: Chế độ Merge/Detup (khuyến khích)
Câu hỏi này liên quan đến việc lựa chọn Viết bố cục hoặc Chế độ đồng bộ. Câu trả lời ngay lập tức là, do bạn đang muốn tải dữ liệu của mình tăng dần, bạn có thể sẽ chọn ghi dữ liệu đã trích xuất của mình ở chế độ chắp thêm hoặc chế độ hợp nhất (còn được gọi là chế độ loại bỏ trùng lặp).
Tuy nhiên, hãy quay lại để kiểm tra các tùy chọn của chúng tôi kỹ hơn và xác định phương pháp nào phù hợp nhất để tải tăng dần.
Dưới đây là các bố trí viết phổ biến.
- 🟪 ghi đè/thay thế: thả tất cả các bản ghi hiện có vào bảng đích và sau đó chèn các bản ghi được trích xuất.
- 🟪 thêm vào: chỉ cần thêm các bản ghi đã trích xuất vào các bảng đích.
- 🟪 hợp nhất / loại bỏ trùng lặp: chèn mới
ghi lại và cập nhật(**) các bản ghi hiện có. merge_key
primary_key
Làm cách nào để biết bản ghi nào là mới?: Thông thường, chúng tôi sẽ sử dụng khóa chính để xác định điều đó. Nếu bạn sử dụng dlt, chiến lược hợp nhất của họ có thể phức tạp hơn thế, bao gồm cả sự phân biệt giữa Và dedup_sort
(một cái dùng để hợp nhất và một cái dùng để loại bỏ trùng lặp trước khi hợp nhất)hoặc
(những bản ghi nào sẽ bị xóa bằng cùng một khóa trong quá trình loại bỏ trùng lặp) . Tôi sẽ để phần đó cho một hướng dẫn khác.(**) Đây là lời giải thích đơn giản, nếu bạn muốn tìm hiểu thêm về cách dlt xử lý chiến lược hợp nhất này, hãy đọc thêm
đây
. 👁️👁️ Sau đây là một ví dụ giúp chúng ta hiểu được kết quả của các cách sắp xếp ghi khác nhau.
↪️ Vào ngày 19/06/2024: Chúng tôi thực hiện lần đồng bộ hóa đầu tiên. supply utility
🅰️
️️Hình ảnh của tác giả vacation spot database
🅱️ ️ Dữ liệu được tải vào Cho dù bạn chọn chiến lược đồng bộ hóa nào, bàn ở đích vẫn là
của bảng nguồn. updated_at
Hình ảnh của tác giả updated_at
Trạng thái đã lưu của
= 2024–06–03, là thời điểm muộn nhất trong số 2 bản ghi chúng tôi đã đồng bộ hóa.
↪️ supply utility
🅰️ ️️️️️️️Dữ liệu trong
- Hình ảnh của tác giả
- ✍️ Những thay đổi trong bảng nguồn:
- Bản ghi id=1 đã được cập nhật (số liệu bán hàng).
Bản ghi id=2 đã bị xóa. updated_at
Bản ghi id=3 đã được chèn vào.
Tại đồng bộ này, chúng tôi CHỈ trích xuất các bản ghi với
> 2024–06–03 (trạng thái được lưu từ lần đồng bộ hóa gần đây nhất). Vì vậy, chúng ta sẽ chỉ trích xuất bản ghi id=1 và id=3. Vì bản ghi id=2 đã bị xóa khỏi dữ liệu nguồn nên chúng tôi không có cách nào để nhận ra sự thay đổi này. Với lần đồng bộ thứ hai, bây giờ bạn sẽ thấy sự khác biệt giữa các chiến lược ghi. vacation spot database
🅱️ Dữ liệu được tải vào
Tình huống 1: Ghi đè
Hình ảnh của tác giả Bảng đích sẽ bị ghi đè bởi 2 bản ghi được trích xuất lần này.
Kịch bản 2: Nối thêm
Hình ảnh của tác giả 2 bản ghi được trích xuất sẽ được thêm vào bảng đích, các bản ghi hiện có không bị ảnh hưởng.
Kịch bản 3: Sáp nhập hoặc loại bỏ trùng lặp
Hình ảnh của tác giả 2 bản ghi được trích xuất có id=1 và 3 sẽ thay thế các bản ghi hiện có tại đích. Quá trình xử lý này được gọi là hợp nhất hoặc loại bỏ trùng lặp. Bản ghi id=2 trong bảng đích vẫn còn nguyên vẹn. 🟢
Takeaways:Chiến lược hợp nhất (loại bỏ chồng chéo) có thể hiệu quả trong quy trình tải dữ liệu gia tăng, nhưng nếu bảng của bạn rất lớn, quá trình loại bỏ chồng chéo này có thể mất khá nhiều thời gian.
[ad_2]
Source link