Tomorrow Marketers – Dữ liệu tồn tại ở khắp mọi nơi trong doanh nghiệp: từ digital ads, thông tin đăng ký khách hàng để lại, cho đến giao dịch tại nhiều điểm chạm của khách hàng với doanh nghiệp,… Để thuận tiện trong việc sử dụng dữ liệu, data integration (tích hợp dữ liệu từ nhiều nguồn tập trung tại một vị trí) là một bước thiết yếu trong quy trình xây dựng hệ thống dữ liệu.
Trong đó, có nhiều kiến trúc dữ liệu có thể giúp bạn xử lý bài toán kho lưu trữ dữ liệu này: data warehouse, data lake, data mart. Vậy ba kiến trúc này có gì khác nhau, và việc lựa chọn ba kiến trúc dữ liệu này có gì ảnh hưởng tới cách thức sử dụng dữ liệu? Cùng Tomorrow Marketers tìm hiểu trong bài viết dưới đây nhé!
Đọc thêm: Data architecture là gì? Tìm hiểu về các loại kiến trúc dữ liệu phổ biến hiện nay
1. Data Lake là gì?
Image source: Renta
Khái niệm Data lake
Data lake là kho lưu trữ dữ liệu bao gồm cả dữ liệu có cấu trúc (structured data), dữ liệu bán cấu trúc (semi-structured data) và dữ liệu không cấu trúc (unstructured data).
Data lake được thiết kế cho mục đích tổng hợp dữ liệu nhiều nguồn thông qua data pipeline và lưu trữ dữ liệu thô chưa qua xử lý, nhằm đảm bảo sự linh hoạt trong phân tích hoặc training model.
Đặc điểm của data lake:
- Tổng hợp, đổ tất cả dữ liệu thô vào một chỗ trước khi thực hiện các quy trình xử lý, chuyển đổi và cấu trúc.
- Lưu trữ nhiều data type: dữ liệu có cấu trúc (structured data), dữ liệu bán cấu trúc (semi-structured data) và dữ liệu không cấu trúc (unstructured data).
- Hỗ trợ nhiều loại data source với khả năng full transform và incremental. Dữ liệu lịch sử được bảo mật và không bị xóa ngay cả khi dữ liệu mới được thêm vào hoặc sửa đổi. Trường hợp sau khi tổng hợp dữ liệu mà dữ liệu ở trong nguồn bị thay đổi, khi đó doanh nghiệp cần thực hiện lại quá trình full transform để tải lại dữ liệu từ lake. Đặc điểm này nhằm bảo tồn historical data, phản ánh chính xác những gì đã xảy ra trong quá trình vận hành.
Đọc thêm: Dữ liệu chuỗi thời gian (time series) là gì? Phân tích dữ liệu chuỗi thời gian như thế nào?
- Data loading không theo một schema đặc biệt nào.
- Data lake giúp dễ dàng trong việc quản lý cũng như cung cấp metadata (dữ liệu về dữ liệu) từ nhiều data source nhờ khả năng lưu trữ thông tin về định dạng nguyên bản và cấp quyền truy cập.
- Data lake có khả năng hỗ trợ kiểm soát toàn bộ vòng đời dữ liệu (data lifecycle) nhờ tổng hợp và lưu trữ dữ liệu thô từ đầu, từ đó dữ liệu sẽ qua nhiều bước làm sạch, transform và mapping để tạo ra các bảng dữ liệu thuận tiện để người dùng dữ liệu khám phá.
- Data lake đáp ứng nhu cầu mở rộng cấu trúc dữ liệu, đảm bảo tính linh hoạt trong các kế hoạch tái cấu trúc trong quá trình doanh nghiệp mở rộng quy mô hoạt động.
2. Data Warehouse là gì?
Image source: Renta
Khái niệm Data warehouse
Data warehouse cũng là kho tổng hợp và lưu trữ dữ liệu từ nhiều nguồn. Data warehouse thường được sử dụng để lưu trữ dữ liệu lịch sử (historical data) cho mục đích phân tích. Data warehouse thường được chuẩn hóa và lưu trữ dữ liệu có cấu trúc, phục vụ cho việc truy vấn một cách sẵn sàng, nhanh chóng và dễ dàng.
Quy trình xây dựng nhà kho dữ liệu – Khóa học Data System
Đặc điểm của data warehouse:
- Data warehouse lưu trữ dữ liệu đã được làm sạch, transform, xử lý và sắp xếp cho các mục đích cụ thể như phân tích kinh doanh hoặc các mục tiêu BI.
- Dữ liệu được tích hợp từ nhiều nguồn data và lưu trữ theo một schema được thiết kế.
- Dữ liệu đi theo quy trình ETL trước khi được đưa vào data warehouse, khác với quy trình ELT trong kiến trúc data lake.
Đọc thêm: Data Warehouse là gì? 6 yếu tố cân nhắc khi lựa chọn Data Warehouse
3. Data Mart là gì?
Khái niệm Data mart
Data mart là một tập con của data warehouse, được thiết kế theo nhu cầu của một bộ phận, phòng ban hoặc domain cụ thể. Data mart thường lưu trữ ít dữ liệu và tập trung hơn so với Data warehouse. Và thường được sử dụng để truy xuất dữ liệu báo cáo và phân tích vận hành nội bộ hàng ngày.
Ví dụ, data mart có thể lưu trữ dữ liệu về tình hình kinh doanh của các cửa hàng, chi nhánh phục vụ bộ phận Kế toán thực hiện các nghiệp vụ đối soát. Mặc dù các nhân viên Kế toán có thể truy cập dữ liệu từ Data warehouse, nhưng Data mart sẽ tối ưu hóa quy trình truy xuất dữ liệu nhờ được thiết kế tinh gọn riêng cho domain đó.
Đặc điểm của Data mart:
- Data mart lưu trữ dữ liệu liên quan đến một domain hoặc phục vụ riêng một bộ phận, giúp end user nhanh chóng tiếp cận tới dữ liệu nghiệp vụ chuyên môn.
- Dữ liệu được lưu trữ trong Data mart đã được làm sạch và transform, làm giàu dữ liệu từ việc kết hợp các field của nhiều bảng dữ liệu, giúp tối ưu thời gian phản hồi truy vấn.
- Data mart đảm bảo tính bảo mật và hạn chế quyền truy cập dữ liệu mật và dữ liệu lưu hành nội bộ của bộ phận đó.
- Người dùng không cần phải có kiến thức chuyên sâu về SQL để truy vấn dữ liệu.
4. Phân biệt Data lake, Data warehouse và Data mart
Điểm tương đồng giữa Data lake, Data warehouse và Data mart
Data lake, Data warehouse và Data mart đều là những giải pháp tổng hợp và lưu trữ dữ liệu từ nhiều nguồn. Điểm tương đồng của ba giải pháp này là:
- Tích hợp dữ liệu từ nhiều data source thông qua data pipeline và lưu trữ nó trong một kho lưu trữ duy nhất.
Cách xây dựng đường ống để dẫn truyền dữ liệu về nhà kho dữ liệu – Khóa học Data System
- Lưu trữ dữ liệu lịch sử (historical data) đồng thời cho phép sửa đổi và lưu trữ dữ liệu mới.
- Có thể truy vấn dữ liệu thông qua query SQL để trích xuất dữ liệu cho các mục đích cụ thể.
- Cung cấp quyền truy cập metadata (dữ liệu của dữ liệu được lưu trữ).
- Đảm bảo khả năng tương thích với các quy định về dữ liệu và bảo vệ dữ liệu nội bộ thông qua nhiều phương thức bảo mật như mã hóa, xác thực, cấp quyền truy cập,…
- Có khả năng mở rộng linh hoạt theo khối lượng dữ liệu, cấu trúc dữ liệu và quy mô hoạt động của doanh nghiệp.
Điểm khác nhau giữa Data lake, Data warehouse và Data mart
Điểm khác biệt cơ bản của ba giải pháp này chính là:
- Data lake đơn giản là một nơi tổng hợp tất cả dữ liệu thô, nguyên vẹn và chưa được xử lý
- Data warehouse lưu trữ dữ liệu đã được xử lý và có cấu trúc
- Data mart lưu trữ dữ liệu đã được xử lý và có cấu trúc nhưng của một domain cụ thể
Data Warehouse và Data Mart khác gì nhau?
Data mart thường được hiểu như một tập hợp con của Data Warehouse. Dưới đây là một số khác biệt để phân biệt Data warehouse và Data mart:
Data Warehouse | Data Mart | |
Đối tượng lưu trữ | Dữ liệu của nhiều domain khác nhau | Dữ liệu của một đối tượng, quy trình hoặc một lĩnh vực cụ thể |
Đối tượng sử dụng và quyền truy cập | Nhân sự ở nhiều bộ phận, domain khác nhau trong doanh nghiệp | Phục vụ phòng ban chức năng hoặc nhân sự trong một số nhiệm vụ cụ thể, giúp nâng cao tính bảo mật dữ liệu cho dữ liệu nội bộ |
Quy mô | Lớn và có thể lưu trữ khối lượng dữ liệu lớn lên tới 100TB hoặc hơn | Nhỏ và thường từ 10GB và vượt quá 100GB. |
Thiết kế | Top-down, tập trung cho việc tổng hợp dữ liệu từ nhiều nguồn khác nhau, sau đó mới xử lý dữ liệu để giải quyết đa dạng nhu cầu của người dùng | Bottom-up, xác định nhu cầu của người dùng và bài toán cần giải quyết, sau đó truy vấn dữ liệu từ nguồn dữ liệu tổng hợp và đã được xử lý |
Schema | Thiết kế với nhiều dimensions, ví dụ star schema hoặc snowflake schema | Có thể sử dụng các data model đã được thiết kế mối quan hệ nhưng thường chứa cấu trúc dữ liệu đơn giản hóa |
Xử lý | Thời gian xử lý dài hơn do phải xử lý một khối lượng lớn dữ liệu | Xử lý nhanh chóng và gần như sát với thời gian thực |
Data Lake và Data Warehouse có gì khác nhau?
Data warehouse và Data lake lại có sự khác nhau trong loại dữ liệu lưu trữ và được ứng dụng trong các mục đích khác nhau. Một số điểm khác nhau nổi bật:
Data Warehouse | Data Lake | |
Mục đích | Phân tích và các mục đích BI | Lưu trữ dữ liệu nguyên bản nhất nhằm sử dụng cho linh hoạt mục đích như phân tích, dự đoán,… |
Loại dữ liệu | Lưu trữ dữ liệu đã được xử lý, sắp xếp và có cấu trúc | Lưu trữ dữ liệu thô, nguyên bản và bất kể là dữ liệu có cấu trúc, không có cấu trúc hay bán cấu trúc. |
Schema | Schema-on-write, cấu trúc được thiết kế trước khi load dữ liệu | Schema-on-read, cấu trúc được xác định trong quá trình query |
Loading | Dữ liệu trải qua quy trình ETL trước khi được đưa vào data warehouse | Data lake không có phương pháp cụ thể về data loading |
Quality | Đảm bảo chất lượng bởi dữ liệu đã được làm sạch và sắp xếp có cấu trúc trước khi được đưa vào lưu trữ | Không đảm chất lượng bởi Data Lake không yêu cầu xử lý dữ liệu nhằm đảm bảo tính toàn vẹn nhất của dữ liệu. |
Governance | Tuân thủ các quy định về quản trị dữ liệu (data governance) và bảo mật thông tin (security) | Không có nhiều quy định gắt gao về quản trị dữ liệu bởi tính chất lưu trữ dữ liệu thô. |
Chi phí | Đắt đỏ hơn do có methodology phức tạp và yêu cầu phải duy trì hệ thống | Chi phí thấp hơn nhờ tối giản các quy trình xử lý và giảm thiểu các yêu cầu duy trì |
Mức độ sẵn sàng | Data đã được xử lý và sẵn sàng để end user sử dụng | Có độ trễ do cần có thêm bước xử lý và transform dữ liệu |
5. Khi nào thì chọn Data lake, Data warehouse và Data mart?
Nhìn chung, trước khi đưa ra quyết định, doanh nghiệp cần đánh giá một số tiêu chí quan trọng sau:
- Nhu cầu: Quyết định lựa chọn hệ thống lưu trữ dữ liệu nào sẽ phụ thuộc vào nhu cầu – nếu cần lưu trữ và phân tích một lượng lớn dữ liệu lịch sử, data warehouse là lựa chọn phù hợp nhất; trong khi nếu cần lưu trữ và phân tích dữ liệu cho một bộ phận riêng biệt với tính bảo mật cao, bạn nên lựa chọn data mart. Ngoài ra, nếu cần lưu trữ tất cả loại dữ liệu và mong muốn dữ liệu chưa được xử lý để đảm bảo tính nguyên vẹn cho các mô hình machine learning để dự đoán và tự động phân loại, scoring thì doanh nghiệp nên lựa chọn data lake.
- Chi phí và kinh phí: Data warehouse có thể xử lý dữ liệu quy mô lớn nhưng với chi phí cao hơn, trong khi nếu doanh nghiệp của bạn có quy mô nhỏ và ít phòng ban thì data mart sẽ tiết kiệm hơn.
- Cân đối khối lượng dữ liệu và hiệu suất truy vấn: Bạn muốn truy cập bao nhiêu dữ liệu và quy mô dữ liệu mà các hệ thống lưu trữ dữ liệu có thể hỗ trợ. Bạn có thể muốn xem xét các kho chứa dữ liệu scales như nào trong thời gian có nhu cầu cao. Ví dụ: Redshift có thể hỗ trợ lượng lớn dữ liệu nhưng sẽ yêu cầu bạn tăng nodes để tăng dung lượng lưu trữ và sức mạnh tính toán. Trong khi đó, Snowflake cung cấp tính năng auto-scale để xoay cluster một cách linh hoạt.
Nếu bạn muốn lưu trữ khối lượng dữ liệu lớn có hoặc không cần xử lý, data lake sẽ là lựa chọn phù hợp.
Hiệu suất và quy mô có mối liên hệ chặt chẽ với nhau. Hiệu suất sẽ tăng khi bạn mở rộng quy mô kho dữ liệu hoặc thêm các nodes (Ví dụ Redshift)
- Tính linh hoạt: Bạn cũng cần đánh giá tới mức độ linh hoạt, khả năng duy trì, khả năng chịu tải cao khi doanh nghiệp mở rộng quy mô, có thêm nhiều nhân viên cũng như khả năng tương thích với hệ thống công nghệ hiện có.
Doanh nghiệp cũng cần linh hoạt vận dụng các đặc điểm của các cấu trúc lưu trữ dữ liệu để thiết kế cấu trúc dữ liệu tùy thuộc mô hình kinh doanh, đặc điểm dữ liệu của doanh nghiệp, nhu cầu và chi phí dành cho hạ tầng dữ liệu.
Ví dụ, doanh nghiệp có thể kết hợp Data warehouse và Data lake, tạo thành hệ thống Data lakehouse như mô hình dưới đây.
Image source: Renta
Tạm kết
Để biết đâu là giải pháp lưu trữ dữ liệu phù hợp nhất với doanh nghiệp, bạn cần hiểu mỗi kho lưu trữ dữ liệu có gì khác nhau và được ứng dụng như nào. Chủ doanh nghiệp cũng cần nắm vững các đặc điểm chính của các hệ thống, cấu trúc của hệ thống dữ liệu nội bộ, hiểu rõ các thành phần của một hệ thống dữ liệu hoàn chỉnh, và quan trọng nhất là tư duy xây dựng, thiết kế quy trình và chuẩn hóa dữ liệu từ sớm.
Tham khảo ngay khóa học Data System – Trang bị tư duy chuyển đổi và xây dựng hệ thống dữ liệu. Khóa học sẽ giúp bạn hiểu phương pháp xây dựng một hệ thống dữ liệu nội bộ, dựa trên nhu cầu và bài toán cụ thể của doanh nghiệp, hiểu cơ bản các công cụ hỗ trợ và hiểu các thách thức trong xây dựng/ vận hành hệ thống dữ liệu đó.
Đọc thêm: Data không phải đặc quyền của các công ty công nghệ
Bắt đầu từ sheet Excel, khi dữ liệu ngày càng mở rộng, doanh nghiệp cũng cần tìm tới những giải pháp làm việc với dữ liệu lớn, đòi hỏi nhân sự trang bị tư duy và kỹ năng làm việc với dữ liệu. Khóa học Data Analysis tại Tomorrow Marketers sẽ trang bị kỹ năng cần thiết phải có trong tương lai – kỹ năng làm sạch, xử lý data và trực quan hóa dữ liệu với Power BI và đặc biệt là tư duy đưa ra quyết định từ phân tích các chỉ số kinh doanh quan trọng.