Skip to main content

Lakehouse Architecture: Kiến trúc dữ liệu hợp nhất cho BI, AI và Big Data

Trong hơn hai thập kỷ qua, kiến trúc dữ liệu doanh nghiệp đã trải qua nhiều bước tiến quan trọng. Từ thời kỳ Data Warehouse thống trị các hệ thống báo cáo kinh doanh, đến sự xuất hiện của Data Lake nhằm giải quyết bài toán Big Data và AI, mỗi thế hệ công nghệ đều ra đời để khắc phục những hạn chế của thế hệ trước.

Tuy nhiên, khi dữ liệu ngày càng đa dạng và nhu cầu khai thác dữ liệu cho cả Business Intelligence (BI), Machine Learning (ML) và AI ngày càng tăng, việc duy trì đồng thời Data Warehouse và Data Lake trở nên phức tạp, tốn kém và khó quản lý.

Đó là lý do kiến trúc Lakehouse xuất hiện. Lakehouse kết hợp khả năng lưu trữ linh hoạt, chi phí thấp của Data Lake với tính quản trị, hiệu năng và độ tin cậy của Data Warehouse, tạo nên một nền tảng dữ liệu hợp nhất phù hợp với kỷ nguyên Cloud và AI.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu hành trình tiến hóa từ Data Warehouse đến Lakehouse, những vấn đề mà từng kiến trúc gặp phải và lý do Lakehouse đang trở thành xu hướng chủ đạo của ngành dữ liệu hiện đại.

1. Kho dữ liệu (Data Warehouse) – “Tiêu chuẩn vàng” một thời

  • Nó là gì? Hãy tưởng tượng đây là một cửa hàng thực phẩm cao cấp, nơi mọi thứ đều được làm sạch, đóng gói và sắp xếp ngăn nắp trên kệ theo cấu trúc nghiêm ngặt (dữ liệu có cấu trúc).

  • Điểm mạnh: Nó cực kỳ mạnh mẽ trong việc chạy các báo cáo kinh doanh (BI) nhanh chóng và hỗ trợ tính chất ACID (đảm bảo các giao dịch dữ liệu luôn chính xác, không bị lỗi nửa chừng).

  • Điểm yếu: Nó rất đắt đỏcứng nhắc. Nó chỉ chấp nhận dữ liệu dạng bảng và không biết xử lý những thứ như hình ảnh, video hay âm thanh (dữ liệu phi cấu trúc) – vốn là “nguyên liệu” quan trọng cho trí tuệ nhân tạo (AI/ML) hiện nay.

Data Warehouse

2. Hồ dữ liệu (Data Lake) – “Hồ chứa khổng lồ”

Đến khoảng năm 2010, khi “Dữ liệu lớn” (Big Data) bùng nổ, Hồ dữ liệu (Data Lake) ra đời để khắc phục điểm yếu của Kho dữ liệu.

  • Nó là gì? Nó giống như một cái hồ khổng lồ, nơi bạn có thể ném mọi loại dữ liệu (cấu trúc, bán cấu trúc, phi cấu trúc) vào đó với chi phí cực rẻ.

  • Điểm mạnh: Rất lý tưởng cho các nhà khoa học dữ liệu làm thí nghiệm và xây dựng mô hình AI vì nó chứa được mọi thứ.

  • Điểm yếu: Vì quá tự do, nó dễ trở thành một “Đầm lầy dữ liệu” (Data Swamp) – nơi dữ liệu bị đổ đống hỗn độn, không được kiểm soát chất lượng và rất khó để tìm kiếm hay chạy báo cáo nhanh. Đặc biệt, nó thiếu các tính năng bảo vệ giao dịch (ACID) như Kho dữ liệu.

Data Lake

3. Nền tảng dữ liệu hiện đại trên Đám mây (Cloud)

Khi công nghệ Đám mây phát triển, các tổ chức bắt đầu đưa dữ liệu lên Cloud để tận dụng khả năng mở rộng vô hạn và tiết kiệm chi phí vận hành. Có hai cách tiếp cận chính:

  • Cách tiếp cận đơn lẻ (Standalone): Chỉ dùng duy nhất một Kho dữ liệu đám mây hoặc một Hồ dữ liệu đám mây. Tuy nhiên, bạn vẫn sẽ gặp phải những hạn chế cố hữu của từng loại như đã nêu ở trên.

  • Cách tiếp cận kết hợp (Combined Architecture): Đây là mô hình phổ biến nhất hiện nay, nơi doanh nghiệp dùng cả hai: Hồ dữ liệu để chứa dữ liệu thô/AI và Kho dữ liệu để chạy báo cáo BI.

    • Vấn đề là gì? Mô hình này cực kỳ phức tạp và tốn kém. Dữ liệu bị sao chép chồng chéo giữa hai nơi, gây lãng phí bộ nhớ và khiến việc quản lý quyền truy cập trở nên đau đầu.

Cloud Data Lake

4. Lakehouse là gì? "Sự kết hợp hoàn hảo của hai thế giới"

Kiến trúc Lakehouse được xây dựng trên một khung tư duy hợp nhất: "Kết hợp những gì tốt nhất của hai thế giới". Nó lấy khả năng lưu trữ linh hoạt, quy mô lớn và chi phí thấp của Data Lake cộng với khả năng quản lý giao dịch ACID và hiệu suất BI cao của Data Warehouse.

Về cốt lõi, một Lakehouse là một Hồ dữ liệu (Data Lake) có thêm một lớp giao dịch (transactional layer) và một lớp tính toán hiệu năng cao.

Lakehouse Compute Layer

Lớp lưu trữ (Storage Layer)

Giống như data lake, lakehouse sử dụng dịch vụ lưu trữ đối tượng đám mây (Cloud Object Storage) như Amazon S3, ADLS hoặc GCS và lưu trữ dữ liệu ở các định dạng tệp mở như Apache Parquet, Apache Avro hoặc Apache ORC. Điều này cho phép lakehouse có được tất cả các tính năng tốt nhất của data lake, như tính khả dụng cao, độ bền cao, hiệu quả chi phí, khả năng mở rộng, hỗ trợ tất cả các loại dữ liệu (có cấu trúc, bán cấu trúc, phicấu trúc) và hỗ trợ các trường hợp sử dụng AI và ML.

Lớp giao dịch (Open Table Formats)

So với data lake, lakehouse có thêm một thành phần: lớp giao dịch (transactional layer), là một lớp bổ sung nằm trên các định dạng tệp. Lớp bổ sung này phân biệt lakehouse với data lake. Nó cho phép lakehouse có được các khả năng của kho dữ liệu như tuân thủ ACID, hỗ trợ cập nhật và xóa, hiệu suất BI tốt hơn và kiểm soát truy cập chi tiết. Công nghệ được sử dụng để triển khai lớp giao dịch này được gọi là “định dạng bảng mở” (open table formats) như Apache Iceberg, Apache Hudi hoặc Delta Lake.

Lớp tính toán (Compute Layer)

Cho phép truy cập trực tiếp bằng các engine mã nguồn mở (Spark, Presto, Trino) hoặc các công cụ thương mại hiệu suất cao (Databricks, Dremio, Snowflake).

Lakehouse Architecture

5. Tại sao nên quan tâm đến Lakehouse?

Lakehouse mang lại những lợi ích sau:

Kiến trúc tách rời (Decoupled Architecture)

Lưu trữ và tính toán được tách biệt hoàn toàn, cho phép mỗi thành phần mở rộng độc lập (independent scaling) tùy theo nhu cầu thực tế. Bạn có thể dễ dàng tăng thêm dung lượng lưu trữ mà không cần phải tăng năng lực tính toán, và ngược lại.

Lakehouse Decoupled Architecture

Đơn giản hóa

Bạn chỉ cần một nơi duy nhất để chứa mọi thứ, không cần phải sao chép dữ liệu đi khắp nơi. Vì vậy không cần kho dữ liệu riêng biệt cho báo cáo BI; tất cả người dùng truy vấn trực tiếp từ Hồ dữ liệu.

Không bị bó buộc (No vendor lock-in)

Nhờ sử dụng các định dạng tệp mở, bạn có thể đổi engine tính toán bất cứ lúc nào mà không sợ bị “nhốt” vào một nhà cung cấp duy nhất.

Điều này có nghĩa là bạn có sự tự do lựa chọn các định dạng dữ liệu mã nguồn mở và các engine tính toán mã nguồn mở cho nền tảng dữ liệu của mình. Lakehouse cho phép bạn sử dụng bất kỳ engine xử lý phân tán nào miễn là tương thích với các định dạng lưu trữ bên dưới.

Hỗ trợ giao dịch ACID

Nhờ lớp định dạng bảng mở sử dụng các công nghệ như Apache Iceberg, Apache Hudi hoặc Delta Lake để mang lại khả năng quản lý giống như Kho dữ liệu cho Hồ dữ liệu

Khả năng “Du hành thời gian” (Time Travel)

Cho phép các kỹ sư dữ liệu truy vấn các phiên bản dữ liệu cũ hơn dựa trên nhãn thời gian hoặc số phiên bản. Điều này cực kỳ hữu ích để đối soát dữ liệu hoặc sửa lỗi sau các lần nạp dữ liệu sai.

Hỗ trợ đa dạng

Xử lý được mọi loại dữ liệu (cấu trúc đến phi cấu trúc) và hỗ trợ đa dạng khối lượng công việc (từ BI đến AI).

Xây dựng nền tảng hợp nhất cho Batch và Streaming

Lakehouse hỗ trợ thực thi cả công việc định kỳ (batch) và luồng dữ liệu thời gian thực (streaming) trên cùng một nền tảng mã nguồn (code base) giảm bớt sự phức tạp của kiến trúc Lambda truyền thống (Kiến trúc Lambda có hai lớp khác nhau để xử lý dữ liệu theo lô và dữ liệu luồng. Điều này dẫn đến một kiến ​​trúc dữ liệu phức tạp với những nỗ lực bổ sung để duy trì các cơ sở mã khác nhau cho các lớp khác nhau)

Chia sẻ dữ liệu mở (Open Data Sharing)

Áp dụng các giao thức như Delta Sharing để chia sẻ dữ liệu trực tiếp từ Cloud Storage cho các đối tác bên ngoài mà không cần sao chép dữ liệu vật lý hoặc gửi các tệp trích xuất thủ công.

Quản trị và bảo mật thống nhất

Triển khai kiểm soát truy cập chi tiết (fine-grained access control) và quản lý siêu dữ liệu tập trung (Metadata management) cho cả tài sản dữ liệu và AI.

Kiểm soát chất lượng bằng Schema Enforcement và Schema Evolution

  • Sử dụng Schema Enforcement để ngăn chặn dữ liệu rác nạp vào bảng khi sai định dạng.

  • Sử dụng Schema Evolution để hệ thống tự động thích ứng khi các hệ thống nguồn thay đổi cấu trúc mà không làm gián đoạn quy trình.

Hiệu năng cấp Kho dữ liệu (Warehouse-like Performance)

Lakehouse sử dụng các kỹ thuật tối ưu hóa như duy trì thống kê dữ liệu, nén tệp (compaction) và Z-ordering để đạt hiệu suất cao cho các truy vấn BI ngay trên Cloud Storage.

Lakehouse best of both worlds

Bên cạnh các nhà cung cấp dịch vụ đám mây hàng đầu, nhiều nhà cung cấp sản phẩm thương mại cũng cung cấp các dịch vụ SaaS hoặc PaaS để hỗ trợ triển khai kiến ​​trúc Lakehouse dựa trên nền tảng dữ liệu. Các sản phẩm này bao gồm sản phẩm của Databricks, Snowflake, Dremio và Onehouse.

Kết luận

Data Warehouse, Data Lake và Lakehouse không phải là những công nghệ cạnh tranh trực tiếp mà là các giai đoạn tiến hóa của kiến trúc dữ liệu doanh nghiệp.

Nếu Data Warehouse mang lại khả năng phân tích đáng tin cậy và Data Lake cung cấp môi trường lưu trữ linh hoạt cho Big Data, thì Lakehouse là nỗ lực hợp nhất những ưu điểm tốt nhất của cả hai thế giới. Nhờ khả năng hỗ trợ đồng thời BI, Analytics, Data Engineering, Machine Learning và AI trên cùng một nền tảng dữ liệu, Lakehouse đang dần trở thành lựa chọn ưu tiên của nhiều tổ chức hiện đại.

Trong bối cảnh dữ liệu tiếp tục tăng trưởng theo cấp số nhân và AI ngày càng đóng vai trò quan trọng trong hoạt động kinh doanh, việc hiểu và áp dụng kiến trúc Lakehouse sẽ giúp doanh nghiệp xây dựng một nền tảng dữ liệu linh hoạt, hiệu quả và sẵn sàng cho tương lai.

Comments

Popular posts from this blog

Cloud Native là gì? Tư duy thiết kế hệ thống hiện đại cho thời đại đám mây

Cloud Native đang trở thành nền tảng của hầu hết các hệ thống hiện đại từ Netflix, Amazon đến Google. Nhưng Cloud Native thực sự là gì? Liệu việc đưa ứng dụng lên AWS hay Google Cloud đã đủ để gọi là Cloud Native chưa? Trong bài viết này, chúng ta sẽ tìm hiểu nguồn gốc của khái niệm Cloud Native, bài học từ sự cố AWS năm 2015, và những đặc tính quan trọng giúp các hệ thống hiện đại đạt được khả năng mở rộng, chống chịu và triển khai liên tục. 1. Bài học từ sự cố AWS: Lỗi là “Luật”, không phải “Ngoại lệ” Vào năm 2015, Amazon Web Services (AWS) gặp sự cố sập mạng chấn động. Trong khi các “ông lớn” như Airbnb hay Nest đều bị tê liệt, thì Netflix chỉ bị ảnh hưởng rất nhỏ và phục hồi gần như ngay lập tức. AWS phân vùng các dịch vụ mà nó cung cấp thành các vùng (region) và vùng khả dụng (Availability Zone - AZ). Các vùng ánh xạ đến các khu vực địa lý (như Virginia, California, Oregon) và AZ cung cấp thêm dự phòng và cô lập trong một vùng duy nhất. Hình bên dưới hoàn toàn là giả định (nhưng v...

Kiến trúc cho xử lý dữ liệu luồng (Streaming Architecture) - Phần 3: Continuous Intelligence và AI thời gian thực

Khi hệ thống đã có khả năng thu thập dữ liệu liên tục và phân tích sự kiện theo thời gian thực, câu hỏi tiếp theo là: liệu máy tính có thể tự đưa ra quyết định thay con người hay không? Kiếntrúc cho xử lý dữ liệu luồng (Streaming Architecture) - Phần 1: Giá trị củaStreaming và Kiến trúc Streaming Ingest Kiếntrúc cho xử lý dữ liệu luồng (Streaming Architecture) - Phần 2: Real-timeDashboards và Stream Analytics Đó chính là mục tiêu của Continuous Intelligence – giai đoạn cao nhất trong kiến trúc xử lý dữ liệu luồng. Thay vì chỉ hiển thị cảnh báo trên dashboard, hệ thống có thể liên tục huấn luyện mô hình AI, thực hiện suy luận (Inference) ngay khi dữ liệu phát sinh và tự động kích hoạt các hành động phù hợp. Trong bài viết cuối cùng của series Kiến trúc cho xử lý dữ liệu luồng , chúng ta sẽ cùng khám phá cách xây dựng một hệ thống dữ liệu thông minh có khả năng học hỏi, thích nghi và phản ứng gần như theo thời gian thực. 5. Continuous Intelligence (Trí tuệ liên tục) Đây là cấp...

Reinforcement Learning (Học tăng cường) là gì? Hiểu bản chất qua giải thích về cách AI tự học

Nếu học có giám sát giúp AI học từ những đáp án đã biết trước, còn học không giám sát giúp AI tự khám phá cấu trúc của dữ liệu, thì học tăng cường (Reinforcement Learning - RL) lại đi theo một hướng hoàn toàn khác: AI học bằng chính trải nghiệm của mình. Deep Reinforcement Learning là gì? Vì sao AI cần kết hợp Học sâu với Học tăng cường Reinforcement Learning (Học tăng cường) hoạt động như thế nào? Dynamic Programming, Monte Carlo và các ứng dụng thực tế Thay vì được hướng dẫn từng bước, tác nhân (agent) liên tục tương tác với môi trường, thử nhiều hành động khác nhau và nhận phần thưởng hoặc hình phạt. Sau hàng nghìn, thậm chí hàng triệu lần thử nghiệm, AI dần học được chiến lược tối ưu để đạt mục tiêu. Trong bài viết này, chúng ta sẽ cùng tìm hiểu bản chất của học tăng cường, các thành phần quan trọng như Agent, Environment, Reward, Action và Observation, đồng thời minh họa bằng ví dụ trực quan để thấy AI thực sự "học" như thế nào. 1. Học có giám sát (Supervised learni...