Case study kiến trúc
Bài này hữu ích khi bạn muốn thấy các mảnh ghép lại thành một thiết kế và lý do của từng lựa chọn.
Đọc xong bạn hiểu gì
- Ghép đường đi, nơi phân tích, mức chi tiết, lớp dữ liệu và nhịp xử lý thành một phương án cho Sao Mai
- Giải thích được phần phải đánh đổi và điều kiện đổi từng lựa chọn chính
- Biết cần thử gì trước khi coi thiết kế là đáp ứng báo cáo sáng
- Dùng bản ghi quyết định và danh sách tự soát để trao đổi với nhóm nghiệp vụ, kỹ thuật
Khoảng 18 phút đọc.
Mục lục
- Bối cảnh
- Chốt nhu cầu trước khi ghép các mảnh
- Những khái niệm dùng trong thiết kế
- Ví dụ giải sẵn
- Tự làm
- Hiểu nhầm thường gặp
- Tóm tắt
Bối cảnh
Sao Mai là một chuỗi cửa hàng tạp hoá và đồ gia dụng. Chuỗi bắt đầu từ một cửa hàng và đang mở thêm cửa hàng mới. Mỗi cửa hàng bán hàng qua máy tính tiền; dữ liệu bán hàng được gửi về văn phòng để các phòng ban làm báo cáo. Tên chuỗi và mọi số liệu trong bài là giả lập.
Sao Mai cần một phương án kiến trúc cho chuỗi 50 cửa hàng. Phòng Kinh doanh muốn xem tiền hàng bán ra; phòng Kế toán cần báo cáo theo lúc ghi sổ. Các cửa hàng gửi dữ liệu về văn phòng để lập báo cáo sáng. Nhưng dữ liệu có lúc tới muộn, có giao dịch thiếu mã cửa hàng, và có batch (lô dữ liệu) được gửi lại sau khi sửa.
Nhóm cần chốt nơi lưu, bản dùng cho báo cáo, ý nghĩa từng dòng và cách xử lý gửi lại. Các lựa chọn phải khớp nhau để không cộng lặp hay bỏ qua phần thiếu.
Bài này ghép các bài trước về kiến trúc thành một phương án giả lập để trao đổi. Các bảng giao dịch là lát cắt minh hoạ, không dùng để tính doanh thu hay chứng minh khả năng xử lý của toàn chuỗi.
Chốt nhu cầu trước khi ghép các mảnh
Nhu cầu chính là báo cáo định kỳ từ dữ liệu bán hàng dạng bảng. Phương án giả định nhóm có người tổ chức bảng và vận hành nhận, xử lý dữ liệu; năng lực thực tế cần xác nhận. Bài chưa chọn sản phẩm hay dự toán đầu tư.
| Điểm cần chốt | Nhu cầu của phương án |
|---|---|
| Việc người dùng cần làm | Xem kết quả bán hàng của ngày đã kết thúc trong cuộc họp sáng; đối chiếu các báo cáo theo định nghĩa riêng |
| Kỳ minh hoạ | Dữ liệu bán ngày 14/09/2026, dùng sáng 15/09/2026 |
| Giờ cần báo cáo | 08:00 ngày 15/09/2026; hạn nhận đầu vào 06:00 để dành thời gian cho các khâu sau |
| Việc tại cửa hàng | Ghi và tra giao dịch bán hàng; việc lập báo cáo không được làm gián đoạn bán hàng |
| Phần chưa thuộc nhu cầu hiện tại | Phân tích ảnh và phản ứng với giao dịch ngay trong ca; nếu phát sinh thì xét riêng |
| Giới hạn cần người dùng biết | Kỳ dữ liệu, metric definition (định nghĩa chỉ số), giờ cập nhật, phần còn thiếu hoặc chờ xác nhận |
Nhận đúng hạn còn phải qua kiểm, tính và cập nhật báo cáo mới tới người dùng. Cần thử cả đường đi trước khi chốt lịch.
Những khái niệm dùng trong thiết kế
- Xử lý giao dịch trực tuyến (Online Transaction Processing, OLTP) phục vụ việc ghi và tra từng giao dịch, như lưu hoá đơn tại quầy.
- Xử lý phân tích trực tuyến (Online Analytical Processing, OLAP) phục vụ tổng hợp và so sánh, như xem bán hàng theo cửa hàng và ngày.
- Data warehouse (kho dữ liệu) tập hợp và tổ chức dữ liệu để dùng lại cho báo cáo, phân tích.
- Mức chi tiết (grain) nói mỗi dòng đại diện cho việc gì.
- Khoá nhận diện (key) là cột hoặc nhóm cột phân biệt từng dòng, vẫn nhận ra cùng sự kiện khi nguồn gửi lại.
- Bronze (lớp dữ liệu thô) giữ nội dung từng lần nhận.
- Silver (lớp dữ liệu đã kiểm) giữ phần đạt quy tắc đang áp dụng.
- Gold (lớp dữ liệu phục vụ báo cáo) tính kết quả theo mục đích báo cáo.
Các lớp phân biệt công việc và bản dữ liệu, không đòi mỗi lớp có một hệ thống riêng.
Ví dụ giải sẵn
Đường đi của phương án kiến trúc
- Nguồn: máy bán hàng ghi dòng hàng, hoá đơn và thanh toán tại cửa hàng.
- Thu nạp: nhận tệp ngày, ghi cửa hàng, kỳ, mã batch, mã lần nhận và lúc nhận; bản gửi lại có lần nhận riêng.
- Lưu trữ: giữ bản gốc để đối chiếu; tổ chức bảng phân tích trong data warehouse.
- Xử lý: kiểm, tách phần chờ, xử lý gửi lại theo khoá đã xác nhận. Giữ riêng dòng hàng và thanh toán; tính báo cáo từ phần được phép dùng theo định nghĩa, kỳ của từng phòng.
- Phục vụ: báo cáo đọc phần đã chuẩn bị, hiện định nghĩa, kỳ, giờ cập nhật và phần thiếu hoặc chờ xác nhận.
Việc xuất dữ liệu vẫn có thể dùng tài nguyên bán hàng nên cần thử ảnh hưởng tới quầy.
Bản ghi quyết định: nơi chạy báo cáo
| Mục | Nội dung |
|---|---|
| Lựa chọn đang xét | Báo cáo lặp lại đọc nơi phân tích, thay vì tổng hợp trực tiếp trên hệ thống bán hàng |
| Lý do và điều kiện | Nhiều người dùng lại bảng tổng; dữ liệu cần kiểm, đối chiếu. Đo ảnh hưởng nếu lo báo cáo làm chậm quầy |
| Đánh đổi | Vận hành chuyển, đối chiếu dữ liệu; bản phân tích có thể chậm hơn nguồn |
| Phương án thay thế | Báo cáo nhẹ ở nguồn hoặc dời lịch nếu vẫn đáp ứng; bảng tổng nhỏ ở nơi riêng nếu chưa cần data warehouse |
| Điều kiện xét lại | Ảnh hưởng bán hàng, chạy không kịp, hoặc nơi riêng tốn công mà không giúp nhu cầu đã chốt |
| Khi chưa cần tách | Báo cáo ít, nguồn chạy ổn qua thử nghiệm lúc có tải bán hàng phù hợp |
| Bằng chứng cần có | So bán hàng và báo cáo trước, trong lúc lấy dữ liệu; kiểm đủ phần đã chuyển và giờ có kết quả |
Bộ dữ liệu không có phép đo tải; bằng chứng về ảnh hưởng tới quầy cần lấy khi thử phương án.
Bản ghi quyết định: kiểu nền tảng
Data lake (hồ dữ liệu) giữ nhiều dạng dữ liệu để các nhóm xử lý theo nhu cầu. Data lakehouse (nền tảng kết hợp hồ và kho) tổ chức bảng phân tích trên nơi lưu trữ của data lake, cùng cách quản lý đọc và cập nhật bảng. Chỉ giữ tệp gốc chưa làm phương án thành data lake hay data lakehouse; cần xét cách tổ chức và dùng dữ liệu.
| Mục | Nội dung |
|---|---|
| Lựa chọn đang xét | Data warehouse cho bảng báo cáo dùng chung, kèm nơi giữ tệp gốc |
| Lý do và điều kiện | Báo cáo định kỳ từ bảng; có người chuẩn bị bảng và vận hành nhận, xử lý |
| Đánh đổi | Công thống nhất cách hiểu nguồn, sửa bảng và duy trì báo cáo; chưa có chi phí để xếp hạng nền tảng |
| Phương án thay thế | Tệp đã kiểm khi nhu cầu nhỏ; data lake khi chủ yếu khám phá nhiều dạng nguồn; data lakehouse khi khám phá và báo cáo cần dữ liệu liên quan, đội ngũ làm được |
| Điều kiện xét lại | Cần nhiều dạng dữ liệu, năng lực đội ngũ đổi, hoặc data warehouse không đáp ứng giờ dùng và công vận hành |
| Khi chưa cần data warehouse | Một nhóm dùng tệp cho việc ít lặp lại, vẫn kiểm và đối chiếu được |
| Bằng chứng cần có | Thử nhận, chuẩn bị, dùng bảng thực tế; so công chuyển, kiểm, sửa, vận hành cho cùng nhu cầu |
Bản ghi quyết định: mức chi tiết và cách ghép
Fact (bảng sự kiện) ghi sự kiện hoặc kết quả đo ở mức chi tiết đã chọn. Dimension (bảng chiều) cung cấp mô tả để đọc, lọc và gom nhóm, như tên cửa hàng.
| Mục | Nội dung |
|---|---|
| Lựa chọn đang xét | Bảng bán hàng giữ từng dòng hàng; bảng thanh toán giữ từng lần trả tiền. Dimension mô tả cửa hàng, sản phẩm |
| Lý do và điều kiện | Cần đối chiếu dòng gốc, xem theo món. Khoá dòng hàng gồm cửa hàng, mã hoá đơn, thứ tự dòng nếu nguồn xác nhận đủ phân biệt |
| Đánh đổi | Tốn công giữ chi tiết, kiểm cách ghép và xác nhận phạm vi duy nhất của mã |
| Phương án thay thế | Nhận tổng cửa hàng, ngày nếu chỉ cần tổng và nguồn giữ chi tiết để đối chiếu. So tiền hàng với thanh toán thì tổng hợp riêng về mức hoá đơn trước khi ghép |
| Điều kiện xét lại | Cần dòng nhưng chỉ có tổng; mã không ổn định; ghép làm lặp dòng gốc |
| Khi chưa cần chi tiết tại nơi phân tích | Chỉ dùng tổng ngày, không xem theo món, lấy lại được chi tiết từ nguồn |
| Bằng chứng cần có | Nguồn xác nhận “mỗi dòng là…” và khoá; tổng không tăng do ghép lặp; mô tả khớp đúng bản cần dùng |
HD3001 trong bài “Grain, fact và dimension” có nhiều dòng hàng và nhiều lần trả tiền. Ghép trực tiếp theo mã hoá đơn làm dòng hàng lặp theo từng lần trả. Khi ghép tên cửa hàng, mỗi mã cũng phải khớp đúng một bản mô tả phù hợp với thời điểm hoặc mục đích báo cáo.
L01 trong bài “Tổ chức lớp dữ liệu” ghi tổng từng giao dịch, khác mức dòng hàng của HD3001. Hai ví dụ không thể cộng chung để ra doanh thu.
Bản ghi quyết định: giữ các lớp dữ liệu
Vùng cách ly (quarantine) giữ riêng hoặc đánh dấu phần chưa đạt để không đi vào bảng dùng tiếp.
| Mục | Nội dung |
|---|---|
| Lựa chọn đang xét | Phân biệt bản gốc, phần đã kiểm và phần tính báo cáo; phần chưa đạt được đánh dấu chờ hoặc giữ riêng |
| Lý do và điều kiện | Có gửi lại; cần biết nguồn gửi gì, báo cáo dùng phần nào |
| Đánh đổi | Công lưu, ghi tình trạng, kiểm và đối chiếu; thống nhất quy tắc cho phép dùng tiếp |
| Phương án thay thế | Tệp gốc, tệp đã kiểm và bảng tổng cùng nơi lưu nếu nhóm nhỏ vẫn phân biệt được |
| Điều kiện xét lại | Hay lấy nhầm bản thô, phần chờ lẫn vào báo cáo, hoặc không tìm được bản đã dùng |
| Khi chưa cần tổ chức thành nhiều lớp riêng | Phân tích một lần, nguồn lấy lại được, nhóm giữ rõ đầu vào và kết quả; vẫn ghi đã kiểm gì |
| Bằng chứng cần có | Truy được bản nhận; phần chưa đạt không tự đi vào bảng dùng tiếp; xem được lỗi sau khi sửa |
L01 minh hoạ quy tắc thiếu mã cửa hàng; báo cáo thực tế còn cần kiểm các lỗi khác ảnh hưởng mục đích dùng. Giữ bản gốc để đối chiếu không đặt ra thời hạn lưu chung.
Bản ghi quyết định: nhận lại và tính lại
| Mục | Nội dung |
|---|---|
| Lựa chọn đang xét | Khoá ổn định nhận diện sự kiện; bản giống hệt không thêm giao dịch; bản sửa có căn cứ được kiểm lại. Tính lại cùng phạm vi rồi thay kết quả cũ |
| Lý do và điều kiện | Có gửi lại, sửa dữ liệu; nguồn xác nhận mã nhận diện không đổi giữa các lần gửi |
| Đánh đổi | Phân biệt bản lặp, bản sửa; giữ xác nhận và xác định báo cáo cần tính lại |
| Phương án thay thế | Thay phần đã kiểm của một cửa hàng, ngày nếu nguồn xác nhận bản đầy đủ và nhóm kiểm được phần thay; không cộng bản mới vào bản cũ |
| Điều kiện xét lại | Mã đổi; cùng khoá khác nội dung chưa có căn cứ; bản sửa đổi kỳ hoặc phạm vi báo cáo |
| Khi chưa cần cách nhận lại tự động | Nhóm nhỏ, ít gửi lại, đối chiếu tay được; vẫn ghi bản nào thay bản nào |
| Bằng chứng cần có | Chạy lại không tăng tổng; bản sửa thay đúng sự kiện có căn cứ; tính lại đủ phạm vi bị ảnh hưởng |
Trong L01, GD1 và GD2 giữ nguyên; GD3 được dùng sau khi CH01 xác nhận mã cửa hàng. Mã lần nhận phân biệt bản gửi, không phải giao dịch. Bỏ cả batch từng nhận sẽ làm mất bản sửa; cùng khoá nhưng nội dung khác thì phải xác minh trước khi thay.
Nếu sửa giao dịch chuyển sang cửa hàng khác, phải tính lại cả tổng của cửa hàng cũ và mới, cùng các báo cáo bị ảnh hưởng.
Bản ghi quyết định: cách lấy và nhịp xử lý
Giao diện lập trình ứng dụng (Application Programming Interface, API) cho phần mềm yêu cầu nguồn trả dữ liệu theo quy định sẵn. Thu nhận thay đổi dữ liệu (Change Data Capture, CDC) lấy phần thêm, sửa hoặc xoá ở nguồn để cập nhật nơi dùng tiếp.
Xử lý theo batch gom một phần dữ liệu để xử lý cùng lượt; batch là phần dữ liệu của lượt ấy. Streaming (xử lý liên tục) xử lý dữ liệu tới dần mà không chờ gom cả kỳ. Độ trễ (latency) là thời gian giữa các mốc đã chỉ rõ, như từ lúc nhận batch tới lúc mở được bản mới.
| Mục | Nội dung |
|---|---|
| Lựa chọn đang xét | Nhận tệp ngày, xử lý theo batch cho báo cáo sáng |
| Lý do và điều kiện | Nguồn xuất đủ; quyết định dùng ngày đã kết thúc; lịch nhận, kiểm, tính, phục vụ kịp giờ |
| Đánh đổi | Không cập nhật ngay khi giao dịch xảy ra; xử lý batch thiếu, trễ và gửi lại |
| Phương án thay thế | API theo lịch nếu trả đủ; CDC nếu cần theo thay đổi và nguồn hỗ trợ. CDC vẫn có thể đi với xử lý theo batch |
| Điều kiện xét lại | Tệp hay trễ do xuất, gửi; lấy lại toàn bộ tốn công; quyết định trong ca không chờ lượt kế tiếp |
| Khi chưa cần CDC hoặc streaming | Tệp đủ, kịp và kiểm được; nhu cầu không cần dữ liệu mới hơn báo cáo theo batch |
| Bằng chứng cần có | Nguồn cung cấp đủ, kể cả sửa, xoá liên quan; đo tới lúc người xem mở đúng bản |
Nếu có nhu cầu theo giờ, có thể tăng nhịp cho phần đó và giữ báo cáo ngày. Chỉ xét streaming khi quyết định không thể chờ lượt kế tiếp và nguồn, đội ngũ đáp ứng. Đổi cách lấy dữ liệu vẫn cần kiểm thời gian chờ ở các khâu sau.
Bản ghi quyết định: báo cáo khi còn thiếu
| Mục | Nội dung |
|---|---|
| Lựa chọn của lần minh hoạ | Theo bài “Hành trình của dữ liệu”: chờ CH03 rồi ra bản mới, ghi lỗi chưa xác nhận |
| Lý do và điều kiện | Người có quyền đã chọn chờ cho tình huống này, không áp dụng chung mọi cuộc họp |
| Đánh đổi | Muộn giờ dùng; có thêm dữ liệu nhưng lỗi còn chờ xác nhận |
| Phương án thay thế | Bản tạm ghi phần thiếu nếu vẫn phục vụ quyết định và được chấp thuận; hẹn bổ sung. Đổi giờ dùng nếu nghiệp vụ chấp nhận |
| Điều kiện xét lại | Chờ làm lỡ quyết định, hoặc phần thiếu khiến bản tạm không đủ căn cứ |
| Khi chưa cần hai bản tạm và bổ sung | Đầu vào đủ, đã kiểm, bản mới kịp giờ; hoặc người dùng chấp nhận chờ |
| Bằng chứng cần có | Người xem biết định nghĩa, kỳ, giờ cập nhật, phần thiếu và lỗi chờ; biết bản nào thay bản nào |
Hai mục đích có thể cần hai metric (chỉ số), dù dùng chung nơi phân tích. Báo cáo cần ghi tên và cách tính; người có quyền chốt việc dùng phần còn lỗi hoặc thiếu theo mục đích báo cáo.
Dùng lần trễ của CH03 để thử thiết kế
Ngày 15/09/2026, nguồn sẵn để gửi lúc 05:40 nhưng chưa có giờ gửi thực tế. Hạn nhận là 06:00; giờ dùng báo cáo là 08:00.
| Chặng | Dự kiến xong | Thực tế xong |
|---|---|---|
| Nguồn | 15/09/2026 05:40 | 15/09/2026 05:40 |
| Thu nạp | 15/09/2026 06:00 | 15/09/2026 07:10 |
| Lưu trữ | 15/09/2026 06:05 | 15/09/2026 07:15 |
| Xử lý | 15/09/2026 07:30 | 15/09/2026 08:05 |
| Phục vụ | 15/09/2026 08:00 | 15/09/2026 08:15 |
Thu nạp là chặng đầu tiên quá mốc: nhận lúc 07:10. Bảng kết quả sẵn lúc 08:05 và bản mới mở được lúc 08:15, nên lần này không kịp giờ báo cáo 08:00.
Để tìm nguyên nhân, cần biết giờ gửi, thời gian và lý do chờ ở từng khâu. Giữ bản thô, ngăn cộng lặp và tách tải không làm đầu vào tới sớm hơn.
Danh sách tự soát đã điền
| Nội dung cần tự soát | Việc đã có và cần xác nhận |
|---|---|
| Nhu cầu và giờ dùng | Kỳ 14/09/2026, dùng 08:00 ngày 15/09/2026; cần thử toàn chuỗi |
| Nguồn và nơi phân tích | Đã tách trong thiết kế; cần đo ảnh hưởng xuất dữ liệu tới bán hàng |
| Mỗi dòng và khoá | Đã đề xuất; nguồn cần xác nhận mã duy nhất và ổn định |
| Ngăn ghép gây cộng lặp | Giữ riêng, tổng hợp cùng mức; cần thử dữ liệu nguồn |
| Bản nhận và phần chờ | Đã phân biệt; L01 minh hoạ cách xử lý |
| Gửi lại | Có nhánh bản lặp, bản sửa có căn cứ và bản chờ xác minh |
| Nhịp xử lý tới người dùng | CH03 trễ; cần thử lịch mới |
| Metric và giới hạn | Cần người có quyền chốt định nghĩa, dùng phần thiếu và cách hiển thị |
| Phương án thay thế và xét lại | Có cho từng quyết định; cần chọn công cụ, so chi phí thực tế |
Thử các tình huống trên để kiểm kết quả và giờ mở báo cáo. Bài “Case study tích hợp” bổ sung trách nhiệm, quy tắc chất lượng và kiểm soát truy cập.
Khi nào nên làm, khi nào chưa cần
Nên làm: ghi từng quyết định khi nhiều nhóm cùng đưa dữ liệu tới báo cáo, sắp đầu tư nơi phân tích chung, hoặc lỗi gửi lại, thiếu dữ liệu và trễ báo cáo lặp lại. Lý do và điều kiện xét lại giúp người sau biết khi nào cần đổi.
Có cách khác: khi nhu cầu nhỏ, bắt đầu với một báo cáo, giữ tệp gốc và bảng đã kiểm, thử nhận lại để tìm vấn đề ở nguồn, cách ghép, lịch chạy hay nơi phân tích rồi ghi phần cần tách.
Chưa cần làm: thiết kế cả data warehouse khi chỉ phân tích một lần, nguồn đáp ứng và đối chiếu bằng tệp được. Báo cáo dùng đều đặn để quyết định thì cần rõ nguồn, cách tính, phần thiếu; đầu tư theo nhu cầu và bằng chứng đã thử.
Tự làm
Có người đề nghị dùng data lakehouse, lấy qua CDC và streaming vì Sao Mai có nhiều cửa hàng. Bạn sẽ cần làm rõ điều gì trước khi đồng ý?
Gợi ý
Xem đáp án
Cần rõ nhu cầu khám phá nhiều dạng nguồn hay báo cáo từ bảng; quyết định trong ca hay dùng ngày đã kết thúc; nguồn cung cấp thay đổi và nhóm vận hành được không. So công chuẩn bị, vận hành và thử tới lúc người dùng có kết quả, thay vì chọn theo quy mô cửa hàng.
Với báo cáo sáng, data warehouse cùng tệp theo batch có thể đủ. Cần theo thay đổi nhưng chấp nhận cập nhật theo giờ thì CDC có thể đi với xử lý theo batch. Data lakehouse và streaming hợp khi có nhu cầu tương ứng, nguồn và đội ngũ đáp ứng.
L01 được gửi lại sau khi sửa GD3. Nhóm muốn cộng toàn bộ tổng của bản mới vào tổng cũ và xoá bản nhận đầu để bớt rối. Phương án đó ảnh hưởng những phần nào của kiến trúc?
Gợi ý
Xem đáp án
Cộng bản mới làm GD1, GD2 góp tiền lần nữa; xoá bản đầu làm mất dấu GD3 từng thiếu mã. Nên giữ bản nhận, dùng khoá ổn định và chỉ đưa GD3 vào sau xác nhận. Tính lại từ phần được phép dùng rồi thay kết quả cũ của cùng phạm vi.
Nếu nguồn xác nhận bản gửi đầy đủ và nhóm kiểm được, có thể thay toàn bộ phần đã kiểm của đúng cửa hàng, ngày rồi tính lại; vẫn ghi bản đã dùng. Ít lần gửi lại thì đối chiếu tay có thể đủ, nhưng cần phân biệt bản nhận mới với giao dịch mới.
Batch của CH03 tới lúc 07:10, trước giờ báo cáo 08:00. Nhóm cho rằng có data warehouse riêng và Silver thì bản mới sẽ kịp. Bạn dùng bằng chứng nào để góp ý, và xét phương án nào khác?
Gợi ý
Xem đáp án
Bảng cho biết tính xong lúc 08:05, mở bản mới lúc 08:15, nên không kịp 08:00. Cần tìm giờ gửi, lý do chờ và thử lại cả đường đi trước khi chọn cách khắc phục.
Nếu cần đủ CH03, có thể chờ nhưng phải báo muộn và lỗi chưa xác nhận. Nếu phần thiếu vẫn cho phép quyết định, người có quyền có thể cho ra bản tạm ghi giới hạn rồi bổ sung. Nghiệp vụ chấp nhận muộn hơn thì có thể đổi giờ dùng. Khi sửa lịch gửi hoặc bàn giao đã đáp ứng, chưa cần đổi nền tảng hay nhịp xử lý.
Hiểu nhầm thường gặp
“Đủ các thành phần là kiến trúc đã tốt.” Data warehouse, lớp và CDC chỉ có ích khi nối được với nhau để đáp ứng nhu cầu, tránh báo cáo trễ hoặc cộng lặp.
“Có data warehouse dùng chung thì chỉ có một số doanh thu.” Hai mục đích có thể cần hai metric, với tên, cách tính và định nghĩa riêng.
“Giữ riêng các lớp thì dữ liệu đã đúng.” Độ đúng còn phụ thuộc nguồn, quy tắc, cách ghép và xác nhận phần có vấn đề.
“Thiết kế cho toàn chuỗi là đã có dữ liệu toàn chuỗi.” Phạm vi thiết kế, mẫu minh hoạ và phần đã nhận đủ là những phạm vi khác nhau.
Tóm tắt
- Bắt đầu từ quyết định người dùng cần đưa ra, phạm vi, định nghĩa và giờ phải có báo cáo. Sau đó mới ghép nơi phân tích, mức chi tiết, lớp dữ liệu và cách đồng bộ.
- Giữ riêng việc chọn nền tảng, cách lấy và nhịp xử lý. Data warehouse không tự sửa dữ liệu; CDC không đồng nghĩa streaming.
- Bản nhận khác sự kiện bán hàng. Khoá ổn định, xác nhận bản sửa và tính lại đúng phạm vi giúp nhận lại mà không cộng lặp; cách ghép cũng cần giữ đúng mức chi tiết.
- Mỗi lựa chọn có phần phải đánh đổi và điều kiện xét lại. Trước khi chốt, cần thử với batch đúng hạn, batch trễ và bản gửi lại.
Thuật ngữ trong bài
| Tiếng Việt | Tiếng Anh |
|---|---|
| Xử lý giao dịch trực tuyến | Online Transaction Processing — OLTP |
| Xử lý phân tích trực tuyến | Online Analytical Processing — OLAP |
| Kho dữ liệu | data warehouse |
| Hồ dữ liệu | data lake |
| Nền tảng kết hợp hồ và kho | data lakehouse |
| Mức chi tiết | Grain |
| Bảng sự kiện | fact |
| Bảng chiều | dimension |
| Khoá nhận diện | Key |
| Lớp dữ liệu thô | Bronze |
| Lớp dữ liệu đã kiểm | Silver |
| Lớp dữ liệu phục vụ báo cáo | Gold |
| Vùng cách ly | Quarantine |
| Giao diện lập trình ứng dụng | Application Programming Interface — API |
| Thu nhận thay đổi dữ liệu | Change Data Capture — CDC |
| Xử lý theo lô | batch processing |
| Lô dữ liệu | batch |
| Xử lý liên tục | streaming |
| Độ trễ | Latency |
Mẫu tải về: Bản ghi quyết định và danh sách tự soát (Word). Nội dung giống bảng đã điền ở mục Ví dụ giải sẵn, để trống cho bạn điền.
Bài liên quan: “Hành trình của dữ liệu”, “OLTP và OLAP”, “Grain, fact và dimension”, “Chọn kiểu nền tảng dữ liệu”, “Tổ chức lớp dữ liệu”, “Đồng bộ và độ trễ”, “Case study tích hợp”.