+11

Chưa phân biệt được Database, Data warehouse và Data lake?

Tiếp nối series Data Science với các bài học đầu tiên về các khái niệm, kiến thức cơ bản, trong bài viết hôm nay, chúng ta sẽ cùng nhau phân biệt giữa Database, Data warehouse và Data lake.

Database

Đây chắc hẳn là một khái niệm khá quen thuộc đối với các bạn IT.

  • Database (cơ sở dữ liệu) là một bộ sưu tập dữ liệu được tổ chức bày bản và thường được truy cập từ hệ thống máy tính hoặc tồn tại dưới dạng tập tin trong hệ quản trị cơ sở dữ liệu.
  • Database được sử dụng để lưu trữ, tìm kiếm và báo cáo về dữ liệu có cấu trúc từ một nguồn duy nhất
  • Một số mô hình database phổ biến hiện nay
    • Cơ sở dữ liệu dạng file:
      • Thường gặp nhất, dữ liệu được lưu trữ dưới dạng file
      • Dễ dàng truy xuất
      • Đơn giản trong việc tổ chức dữ liệu
    • Cơ sở dữ liệu quan hệ:
      • Các nguồn dữ liệu khác nhau sẽ cùng được quy hợp, lưu trữ cùng một bảng dữ liệu
      • Các dữ liệu này phải có quan hệ với nhau
      • Một số cơ sở dữ liệu có hỗ trợ Database quan hệ: Oracle, MS SQL Server, MySQL
    • Cơ sở dữ liệu hướng đối tượng:
      • Cũng là một bảng dữ liệu thuần
      • Bổ sung thêm các trường hướng đối tượng khác như hành vi đối tượng
      • Các đối tượng này được phân cấp rõ ràng, mỗi cấp được gọi là một lớp dữ liệu
      • Tập hợp các nhóm đối tượng trong cùng 1 bảng và thể hiện bằng dòng dữ liệu
    • Cơ sở dữ liệu bán cấu trúc:
      • Có thể lưu trữ nhiều dạng dữ liệu khác nhau
      • Thường được lưu trữ dưới định dạng XML
      • Các thông tin mô tả dữ liệu và đối tượng đều được trinhg bày trong các thẻ tag
      • Vừa có thể dễ dạng mở rộng, vừa tiện lợi giúp người dùng có thể dễ dàng truy xuất những thông tin cần thiết

Data warehouse

  • Data warehouse (có thể dịch là Kho dữ liệu) ban đầu được định nghĩa là một tập dữ liệu được dùng để hỗ trợ quy trình ra quyết định. Theo quá trình phát triển, Data warehouse được định nghĩa là một môi trường thông tin (information environment) (từ môi trường thông tin thể hiện nó không phải là một sản phẩm (product)), có các chức năng:

    • Cung cấp một góc nhìn toàn diện về doanh nghiệp
    • Cung cấp đầy đủ thông tin hiện tại và lịch sử của doanh nghiệp, và sẵn sàng cho việc khai thác, sử dụng cho việc hỗ trợ ra quyết định chiến lược
    • Đảm báo thông tin có tính nhất quán
    • Là nguồn thông tin mềm dẻo và có tính tương tác, tức là người dùng có thể lấy các thông tin khác nhau của cùng 1 đối tượng, với nhiều thao tác thay vì trả lại một danh sách tĩnh
  • Những đặc tính của Data Warehouse

    • Hướng chủ đề (Subject-oriented): thông tin trong Data warehouse sẽ được tổ chức và sắp xếp theo một chủ đề nhất định
    • Được tích hợp (Integrated): khả năng tổng hợp dữ liệu từ nhiều nguồn vào một kho dữ liệu
    • Có gán nhãn thời gian (Time variant): Việc gán thời gian sẽ giúp dễ dàng so sánh dữ liệu với nhau để biết được các thay đổi đang đi theo chiều hướng tích cực hay tiêu cực
    • Bất biến (non-volatile): Dữ liệu trong Data warehouse có chức năng báo cáo lại các chỉ số về hoạt động kinh doanh thực tế đã xảy ra do đó không thể cập nhật, thay đổi vì nó sẽ không phản ánh đúng thực tế. Với Data warehouse sẽ chỉ có 2 thao tác chính là tải dữ liệu vào kho và đọc dữ liệu từ kho

Database system và Data Warehouse

Database là nền tảng xây dựng Data Warehouse: Database là một phần quan trọng trong việc xây dựng Data Warehouse. Trong quá trình xây dựng Data Warehouse, các tập dữ liệu từ nhiều nguồn khác nhau sẽ được thu thập, tối ưu hóa, và lưu trữ trong các Database. Dữ liệu trong Database sẽ được xử lý và tích hợp lại với nhau để tạo ra các tập dữ liệu liên quan đến các chủ đề hoặc mục tiêu phân tích.

Database system Data Warehouse
Quản lý và lưu trữ dữ liệu cho các ứng dụng phần mềm
Mục đích sử dụng
Lưu trữ dữ liệu lớn, phân tích và báo cáo
Kiến trúc đơn giản, dễ quản lý với các bảng dữ liệu được thiết kế để hỗ trợ các ứng dụng cụ thể
Thiết kế cơ sở dữ liệu
Kiến trúc phức tạp hơn với các phân vùng dữ liệu và các kỹ thuật phân tích dữ liệu phức tạp
Dữ liệu giao dịch (dữ liệu được thêm mới, cập nhật hoặc xóa bỏ thường xuyên)
Tính chất dữ liệu
Dữ liệu phân tích (dữ liệu đã được xử lý, tổng hợp và tối ưu phục vụ phân tích và báo cáo)
Nhanh hơn
Tốc độ truy vấn
Chậm hơn
  • Ví dụ: Các sàn thương mại điện tử: Tiki, Shopee, Lazada
    • Thông tin sản phẩm, người mua hàng, đơn hàng, đánh giá, … được lưu trong Database
    • Sếp cần báo cáo hàng tháng về doanh thu, hàng tồn:
      • Trích xuất dữ liệu từ Database
      • Xử lý, transform dữ liệu
      • Lưu trữ vào Data Warehouse
      • Team Analyst tạo báo cáo từ dữ liệu trong Data Warehouse bằng Power BI, Tauble, …

Data lake

  • Data Lake (hay Hồ dữ liệu) là một kho lưu trữ tập trung được thiết kế để lưu trữ, xử lý và bảo mật một lượng lớn dữ liệu có cấu trúc, bán cấu trúc và phi cấu trúc.

  • Nó có thể lưu trữ dữ liệu ở định dạng gốc và xử lý mọi loại dữ liệu khác nhau, bỏ qua các giới hạn về kích thước. Điều này cho phép người dùng sử dụng nhiều định dạng dữ liệu khác nhau, đồng thời làm tăng khả năng phân tích trên các nền tảng.

  • Nó cung cấp số lượng dữ liệu cao để tăng hiệu suất phân tích và tích hợp gốc.

  • Data Lake và Data Warehouse đều được sử dụng rộng rãi để lưu trữ dữ liệu lớn, nhưng chúng không phải là những thuật ngữ có thể thay thế cho nhau.

    • Data Lake là một Data Warehouse thô rộng lớn, mục đích của nó vẫn chưa được xác định.
    • Data Warehouse là một kho lưu trữ dữ liệu có cấu trúc, đã được lọc, đã được xử lý cho một mục đích cụ thể.
  • Một vài so sánh giữa Data Lake và Data warehouse

Data Lake Data warehouse
Loại dữ liệu Dữ liệu có cấu trúc, bán cấu trúc và phi cấu trúc Dữ liệu có cấu trúc
Xử lý Dữ liệu chủ yếu chưa được xử lý Dữ liệu được xử lý cao
Nhiệm vụ Chia sẻ quyền quản lý dữ liệu Tối ưu hóa để truy xuất dữ liệu
Độ phức tạp khi thay đổi Ít phức tạp hơn Phức tạp
Mục đích của dữ liệu Có thể chưa rõ ràng Đã biết
Bảo mật Cung cấp khả năng kiểm soát thấp hơn Cho phép kiểm soát dữ liệu tốt hơn

Xu hướng: Data Lakehouse

image.png

Vòng đời của 1 dự án về Data warehouse

Vòng đời của một dự án về Data warehouse có thể chi làm 3 phần chính: Planning, Implementation và Support/Maintenance

  • Planning: Nhóm bắt đầu lập kế hoạch thiết kế Data warehouse như thế nào để đáp ứng nhu cầu của tổ chức
    • Business Requirements: Mục tiêu là hiểu nhu cầu: ai sử dụng dữ liệu và sẽ sử dụng dữ liệu như thế nào?
    • Data modeling: Lập kế hoạch dựa trên các yêu cầu đã xác định, từ đó hiểu và liên kết các bộ dữ liệu có liên quan.
  • Implementation: Xây dựng Data warehouse
    • ETL Design & Development: Thiết kế và xây dựng các đường ống trích xuất dữ liệu (data pipelines), biến đổi và tải dữ liệu từ các nguồn khác nhau vào Data warehouse
    • BI (Business intelligence) application development: Thiết lập BI hoặc các công cụ kinh doanh thông minh khác để tương tác với Data Warehouse và xuất ra các bản báo cáo cần thiết cho tổ chức. BI ở đây có thể kể tới như Tableau, Power BI hay Google's Looker
  • Support/Maintenance:
    • Maintenance: Cập nhật các thiết kế bảng trong Data Wảehouse hoặc các thay đổi cần thiết khác
    • Test & Deploy: Kiểm tra hệ thống xem đáp ứng được các yêu cầu của tổ chức hay chưa, sau đó triển khai. Sau cùng, mọi thay đổi quan trọng sẽ bắt đầu thực hiện lần lượt theo các bước từ việc lập kế hoạch (Planning)

Tài liệu tham khảo


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.