Đang xử lý.....

DATA LAKE XU HƯỚNG CÔNG NGHỆ CHO DỮ LIỆU LỚN  

Data Lake (hồ dữ liệu) hiện nay được coi là một trong bẩy xu hướng đối với dữ liệu lớn (Big data). Data Lake là một hệ thống hoặc một kho để lưu trữ dữ liệu dưới dạng thô được lưu trữ và sử dụng khi cần thiết. Một khối lượng dữ liệu khổng lồ được lưu trữ và tồn tại một cách tự nhiên được ví như một cái hồ đầy dữ liệu.
Thứ Hai, 22/10/2018 8972
|

Data lake là một khái niệm mới được coi là một sự thay đổi cho các doanh nghiệp trong việc tiếp cận và sử dụng dữ liệu. Bài viết này sẽ giới thiệu một số các vấn đề các đặc điểm của công nghệ data lake và so sánh sự khác biệt của nó với một công nghệ đã tồn tại từ là đó là Data warehouse (kho dữ liệu), cũng như mục đích sử dụng của data lake trong thực tế.

Data Lake là gì?

Data lake là một thuật ngữ được đưa ra bởi Pentaho CTO James Dixon vào năm 2011 để chỉ một kho dữ liệu lớn ở dạng tự nhiên, không có cấu trúc [1]. Dữ liệu thô được đưa vào lưu trữ trong data lake và người dùng có thể biến đổi, phân loại hay phân tích các phần dữ liệu khác nhau dựa trên nhu cầu của họ và các dữ liệu này cần được xử lý thêm khi có nhu cầu sử dụng. Trong Data lake, tất cả các loại dữ liệu (dữ liệu thô) từ các nguồn của hệ thống đều được lưu trữ. Bao gồm các nguồn dữ liệu có thể bị từ chối lưu trữ trong Data warehouse, chẳng hạn như nhật ký web server, dữ liệu cảm biến, hoạt động trên mạng xã hội, văn bản và hình ảnh, v.v…

Data lake thậm chí có thể lưu trữ các dữ liệu hiện không được sử dụng nhưng lại có thể cần thiết trong tương lai mà tại thời điểm hiện tại chúng ta chưa thể nhận ra hoặc xác định. Điều này được hiện thực hóa bởi các giải pháp lưu trữ chi phí thấp như nền tảng Hadoop của Apache.

Một số khía cạnh và đặc điểm quan trọng của data lake:

1) Một data lake chấp nhận và hỗ trợ dữ liệu từ bất kề nguồn thông tin nào. Data lake không từ chối bất kỳ loại định dạng dữ liệu nào bởi vì theo định nghĩa một data lake tốt cho phép lưu trữ bất kỳ dữ liệu phi cấu trúc nào.

2) Data lake hỗ trợ cho tất cả người dùng từ người sử dụng bao gồm cả những chuyên gia về dữ liệu, tất cả đều có thể sử dụng các dữ liệu lưu trữ trong data lake mà họ cần để phục vụ cho các nhu cầu và mục đích khác nhau như phân tích dữ liệu, khai phá dữ liệu, thu thập số liệu v.v...

3) Data lake thích ứng dễ dàng với các thay đổi, điều này là một điểm khác biệt lớn so với data warehouse. Trong data lake dữ liệu được cập nhật theo thời gian thực hoặc theo lô, còn trong data warehouse nó được cập nhật theo dạng định kỳ, vì vậy nó có thể ảnh hướng đến việc ra quyết định của một doanh nghiệp.

4) Data lake dựa trên các tùy chọn lưu trữ chi phí thấp để lưu trữ dữ liệu, đây cũng là một điểm khác biệt so với công nghệ data warehouse. Trong data warehouse dữ liệu phải được làm sạch và trích xuất một cách thống nhất bất kể nguồn dữ liệu từ đâu. Nhưng trong Data Lake chúng ta không cần làm việc này, chúng ta chỉ cần sử dụng các công cụ lưu trữ đơn giản để lưu trữ các loại dữ liệu này.

Khác biệt giữa Data warehouse và Data Lake là gì

Qua những giới thiệu về đặc điểm của Data Lake chúng ta có thể nhận ra một số khác biệt cơ bản giữa Data Lake với Data warehouse qua các phân tích và đánh giá ở dưới đây.

Một data warehouse cũng là một kho lưu trữ dữ liệu cho các doanh nghiệp, với mục đích chính là cung cấp báo cáo và phân tích dữ liệu [2]. Các dữ liệu được lưu trữ đôi khi phải trải qua quá trình trích xuất, chuyển đổi và xử lý qua quy trình ETL (Extract – Transform – Load) trước khi nhập vào kho lưu trữ.

Nói theo một cách đơn giản thì Data warehouse biến đổi và phân loại dữ liệu từ các nguồn khác nhau của doanh nghiệp. Dữ liệu này sẽ sẵn sàng để phục vụ cho các mục đích khác, đặc biệt là báo cáo và phân tích. Data lake lưu trữ dữ liệu chưa qua phân tích và giữ trong trạng thái thô. Những dữ liệu này cần được xử lý  và phân tích thêm khi có nhu cầu sử dụng tùy theo nhu cầu trong thực tế. Mỗi công nghệ đều có phương pháp xử lý dữ liệu riêng và cung cấp kết quả khác nhau, chúng ta sẽ cùng xem các khác biệt được phân tích theo các góc độ như trình bày dưới đây:

  1. Cấu trúc dữ liệu

Như đã đề cập, Data warehouse gồm các dữ liệu được trích từ hệ thống giao dịch và các số liệu định lượng để hỗ trợ quá trình phân tích hiệu suất và tình trạng kinh doanh. Data warehouse cần một mô hình dữ liệu có cấu trúc rõ ràng giúp xác định các dữ liệu được lưu vào cũng như loại bỏ các dữ liệu không cần thiết.

Trong Data lake, tất cả các loại dữ liệu từ các nguồn của hệ thống đều được lưu trữ. Data lake như dã nói thậm chí có thể lưu trữ các dữ liệu hiện không được sử dụng nhưng lại có thể cần thiết trong tương lai. Điều này được hiện thực hóa bởi các giải pháp lưu trữ chi phí thấp như Hadoop của Apache. Như đã biết giải pháp Hadoop là một trong những công nghệ liên quan chặt chẽ nhất với dữ liệu[3].

Hadoop là một trong những công nghệ liên quan chặt chẽ nhất với big data. Dự án Apache Hadoop phát triển phần mềm mã nguồn mở cho máy tính có khả năng mở rộng và phân tán.

Thư viện phần mềm Hadoop là một khuôn mẫu cho phép xử lý phân tán các bộ dữ liệu lớn trên các nhóm máy tính sử dụng các mô hình lập trình đơn giản. Nó được thiết kế để mở rộng từ một máy chủ duy nhất sang hàng ngàn máy khác, mỗi máy cung cấp tính toán và lưu trữ cục bộ.[4]

  1. Hình thức Schema

Data warehouse áp dụng phương pháp "Schema on Write", nghĩa là mô hình được thiết kế cho mục đích chính là cung cấp báo cáo. Quá trình này đòi hỏi đầu tư thời gian đáng kể để phân tích các nguồn dữ liệu, thấu hiểu các quy trình nghiệp vụ, phân loại dữ liệu, và hình thành một hệ thống xác định để lưu trữ dữ liệu.

Data lake giữ dữ liệu ở trạng thái nguyên bản; khi có nhu cầu sử dụng dữ liệu để giải quyết các vấn đề kinh doanh, chỉ có những dữ liệu liên quan được chọn lọc và phân tích để đưa ra đáp án. Cách tiếp cận này được gọi là "Schema on Read", giúp tiết kiệm thời gian và chi phí cho doanh nghiệp [4].

  1. Tính linh hoạt và khả năng thích ứng

Vì một Data warehouse là một kho dữ liệu có cấu trúc chặt chẽ nên việc thay đổi cấu trúc theo nhu cầu của công ty rất tốn kém. Nền tảng phân tích dữ liệu của bạn có thể thích ứng với các thay đổi tổ chức mới thay đổi một cách nhanh chóng không. Một trong những hạn chế chính của data warehouse là thời gian cần thiết để thay đổi cấu trúc của chúng để phản ánh nhu cầu thay đổi của tổ chức. Mặc dù data warehouse mạnh mẽ có khả năng thay đổi nhanh chóng để thích ứng với các kịch bản khác nhau, độ phức tạp của công việc trả trước yêu cầu thời gian và tài nguyên của nhà phát triển.

Ngược lại, một data lake lại tương tác nhanh hơn nhiều để thích ứng với các yêu cầu thay đổi do thực tế, đơn giản là tất cả dữ liệu vẫn ở dạng không có cấu trúc hoặc thô. Dữ liệu phi cấu trúc này có sẵn cho người dùng có quyền truy cập và sử dụng dữ liệu đó để tạo phân tích dự trên nhu cầu của họ

  1. Hiệu suất

Data warehouse được xây dựng để xử lý, phân tích nhanh chóng và dễ dàng. Các công nghệ lưu trữ của nó cung cấp hiệu suất và khả năng tăng tốc được tối ưu hóa cho xử lý truy vấn hoặc phân tích. Điều này bao gồm các phép nối phức tạp, tốc độ cao v.v… Chúng ta hoàn toàn có thể mong đợi hệ thống trả về kết quả truy vấn trong vài giây hoặc ít hơn.

Data lake thì không được quan tâm và tối ưu hóa hiệu suất do mục đích sử dụng của nó hoàn toàn khác biệt so với data warehouse. Những người có quyền truy cập vào nó có thể tự mình khám phá dữ liệu, thường dẫn đến cách tiếp cận dữ liệu không thống nhất cho các bên liên quan gồm cả bên trong hoặc bên ngoài. Vì họ đang làm việc trên một tập dữ liệu phi cấu trúc, nên sẽ mất nhiều thời gian để truy vấn thông tin có ý nghĩa một cách nhanh chóng. Với Data Lake người dùng phải có phương án để xử lý, khai thác thông tin được lưu trữ [5].

Data Lake phù hợp với đối tượng nào

Dựa trên tính chất và khả năng của từng loại như đã phân tích sơ bộ trong bài viết, Data warehouse dường như là sự lựa chọn tốt hơn cho các doanh nghiệp muốn tận dụng dữ liệu phục vụ cho công tác báo cáo. Trong khi đó, Data lake cho phép người dùng khai thác tối đa các khả năng mà dữ liệu có thể mang lại, tuy nhiên, đây có thể là một nhiệm vụ khó khăn cho các người dùng thông thường với kỹ năng không đủ chuyên sâu.

Data lake phù hợp hơn với những chuyên gia dữ liệu đây là những người dùng sẽ thực hiện phân tích chuyên sâu đối với các loại dữ liệu thô lưu trữ trong Data Lake. Với nhiều loại dữ liệu đa dạng trong data lake, họ có khả năng kết hợp nhiều loại dữ liệu khác nhau và đưa ra các kết quả đặc biệt.

Kết luận

Xu hướng dữ liệu lớn đang ngày càng bùng nổ và phát triển cũng như kéo theo sự thay đổi về các xu hướng công nghệ khác liên quan trong đó có Data Lake. Tuy nhiên chúng ta cần phải xác định rõ mục đích sử dụng cũng như nắm rõ các thế mạnh của các giải pháp này trong đó có Data Lake để có thể áp dụng trong tổ chức của mình một cách phù hợp. Chắc chắn là cả hai công nghệ lưu trữ dữ liệu này sẽ tiếp tục phát triển. Cũng như khả năng để các nhà cung cấp phát triển một giải pháp kết hợp nhằm mục đích giúp việc sử dụng dữ liệu trở nên nhanh hơn, linh hoạt hơn và đáng tin cậy hơn.

 

Tài liệu tham khảo

[1]   Dixon, James. "Pentaho, Hadoop, and Data Lakes". James Dixon’s Blog. James

[2] Paulraj, Ponniah, (2010). Data warehousing fundamentals for IT professionals. Ponniah, Paulraj. (2nd ed.). Hoboken, N.J.: John Wiley & Sons. ISBN 9780470462072. OCLC 662453070.

[3]  Chris Campbell, (2015). Data lake in Modern  Data Architecture.

[4] https://blog.trginternational.com (truy cập ngày 07 tháng 9 năm 2018)

[5] https://blog.trginternational.com (truy cập ngày 08 tháng 9 năm 2018)

[6] https://datafloq.com/ (truy cập ngày 10 tháng 9 năm 2018)

Đặng Tùng Anh