Trước sự lên ngôi của thời đại khoa học kỹ thuật số, người dùng đứng trước một thách thức lớn đó là làm thế nào để lưu trữ dữ liệu đặc biệt là dữ liệu thô. Thế nhưng điều lo ngại đó đã được giải quyết khi Data lake ra đời. Bài viết dưới đây chúng tôi sẽ thông tin từ A-> Z những kiến thức liên quan đến Data lake để bạn được rõ.
Data lake là gì?
Data lake là một kho lưu trữ dữ liệu thô ở định dạng gốc để cung cấp cho nhà phân tích khi cần thiết. Data lake sử dụng kiến trúc phẳng để lưu trữ dữ liệu, cách thức này khác với việc lưu trữ theo kích thước và bảng phân cấp ở data warehouse. Điểm đặc biệt đó giúp người dùng linh hoạt hơn trong quá trình quản lý, lưu trữ và sử dụng dữ liệu.
Data lake được liên kết chặt chẽ với hệ thống Hadoop (Apache framework mã nguồn mở để phát triển các ứng dụng phân tán). Khi thực hiện các triển khai dựa trên khung xử lý phân tán thì dữ liệu sẽ được tải vào HDFS (hệ thống tệp phân tán Hadoop) và được bố trí ở các nút máy tính khác nhau trong một cụm Hadoop. Tuy nhiên hiện nay trong nhiều trường hợp dịch vụ lưu trữ đối tượng đám mây và NoSQL được lựa chọn để làm nền tảng cho data lake thay vì Hadoop.
Tại sao các tổ chức sử dụng Data lake?
Data lake lưu trữ dữ liệu có cấu trúc, phi cấu trúc và bán cấu trúc ở bất cứ quy mô nào. Đặc biệt nó lưu trữ dữ liệu ở định dạng gốc mà không đưa ra những yêu cầu khắt khe cũng không giới hạn số dung lượng, bản ghi hay số file. Điều này cho phép người dùng thỏa sức sử dụng đa dạng các loại dữ liệu với định dạng khác nhau và làm tăng khả năng phân tích ở trên nhiều nền tảng.
Data lake được nhiều tổ chức lựa chọn bởi thế mạnh mà nó sở hữu. Phần lớn các công ty sử dụng nó để làm nền tảng cho phân tích big data (dữ liệu lớn) và ứng dụng vào lĩnh vực khoa học dữ liệu đòi hỏi khối lượng dữ liệu khổng lồ và kỹ thuật phân tích tiên tiến chẳng hạn như machine learning (học máy), mô hình dự đoán và khai thác dữ liệu.
Kiến trúc Data lake
Rất nhiều công nghệ được sử dụng trong Data lake do đó một Data lake có thể có nhiều kiểu kiến trúc vật lý khác nhau. Điều đó có nghĩa là mỗi tổ chức sẽ có một Data lake khác nhau.
Bên cạnh lưu trữ dữ liệu thô thì Data lake còn tích hợp tính năng lọc và xử lý một số dữ liệu khi chúng được nhập vào. Để làm được điều đó kiến trúc Data lake phải đủ dung lượng lưu trữ loại dữ liệu đó. Nhiều Data lake còn có không gian lưu trữ chuyên dụng để các nhà phân tích sử dụng. Dù có nhiều dạng nhưng chung quy lại Data lake sẽ gồm ba nguyên tắc chính như sau:
- Không cần chuyển đổi dữ liệu: Tất cả dữ liệu được thu thập từ hệ thống nguồn đều có thể được tải và giữ lại ở Data lake nếu muốn.
- Lưu trữ dữ liệu gốc: Sau khi nhận dữ liệu từ nguồn, dữ liệu sẽ được giữ nguyên trạng thái và không chịu bất cứ tác động chuyển đổi hay xử lý nào.
- Dữ liệu được chuyển đổi: Dữ liệu sau đó sẽ được chuyển đổi để phù hợp với yêu cầu phân tích hay truy vấn.
Để đảm bảo Data lake hoạt động tốt và dữ liệu lưu trữ không bị lãng quên thì rất cần tới những yếu tố sau:
- Data lake nên thống nhất quy ước đặt tên cho các file.
- Dữ liệu cần được phân loại theo từng loại dữ liệu, nội dung, trường hợp sử dụng và nhóm người dùng.
- Các công cụ cung cấp thông tin chi tiết phục vụ việc phân loại dữ liệu và nhận định chất lượng dữ liệu.
- Áp dụng biện pháp bảo vệ dữ liệu như mã hóa, giám sát tự động việc sử dụng dữ liệu.
- Các doanh nghiệp phải đào tạo nhân viên cách điều hướng và sử dụng Data lake, đưa ra các chính sách quản trị rõ ràng, minh bạch.
Phân biệt Data lake với Data warehouse
Với Data warehouse chủ yếu lưu trữ dữ liệu có cấu trúc và áp dụng một lược đồ xác định cho dữ liệu trước khi lưu trữ. Ngoài ra Data warehouse còn lên kế hoạch để xử lý và chuyển đổi dữ liệu trước khi chúng được chuyển vào kho lưu trữ.
Data lake hoàn toàn ngược lại, nó có thể chứa tất cả mọi dữ liệu khác nhau và không cần một lược đồ xác định trước đồng thời không có bất cứ kế hoạch nào được xây dựng trước khi dữ liệu được nhập vào.
Bạn có thể liên tưởng tới một nhà kho thực tế và so sánh với một cái hồ để thấy được sự khác biệt nói trên. Nhà kho là cấu trúc có các kệ, bộ phận để lưu trữ các mặt hàng tùy theo mục đích sử dụng. Trong khi đó hồ là chất lòng giao động tự do, vô định và tiếp nhận mọi nguồn nước từ sông, suối và các nơi chưa qua thanh lọc. Dưới đây là chi tiết của sự khác biệt giữa Data lake và Data warehouse:
- Nền tảng công nghệ: Một kiến trúc Data warehouse bao gồm một relational database (cơ sở dữ liệu quan hệ) chạy trên một server thông thường. Thế nhưng với một Data lake lại khác, nó thường được triển khai trong một cụm Hadoop hoặc một data big khác.
- Nguồn dữ liệu: Dữ liệu được lưu trữ ở Data warehouse phần lớn đến từ các hệ thống giao dịch hoặc dòng ứng dụng kinh doanh. Với Data lake thì dữ liệu đến từ các nguồn bên trong và bên ngoài chẳng hạn như website, thiết bị IoT, thiết bị di động và phương tiện truyền thông xã hội.
- Người dùng: Data warehouse phù hợp với nhà phân tích kinh doanh còn Data lake lại là phù hợp với các nhà khoa học dữ liệu.
- Chất lượng dữ liệu: Dữ liệu ở Data ware đã được xử lý trước khi nhập vào kho nên đây là nguồn dữ liệu sạch, đáng tin cậy. Dữ liệu ở Data lake lại kém trung thực và không an toàn bởi chúng ở trạng thái thô và đến từ nhiều nguồn khác nhau.
- Nhanh nhẹn và khả năng mở rộng: Các Data lake hoạt động nhanh nhẹn, hiệu suất cao trong khi đó Data warehouse lại kém linh hoạt hơn.
- Vấn đề bảo mật: Data warehouse có các biện pháp an ninh chặt chẽ và hoàn thiện, riêng với Data lake thì các phương pháp bảo mật đang dần được cải thiện.
On-premises Data lakes vs Cloud
Khi mới ra đời phần lớn Data lake được triển khai trong các trung tâm dữ liệu tại chỗ, tuy nhiên qua quá trình phát triển thì hiện tại chúng là một phần của kiến trúc dữ liệu đám mây ở nhiều tổ chức.
Sự thay đổi đó bắt nguồn khi các nền tảng lớn dựa trên đám mây, các công nghệ khác và các dịch vụ có sự kết hợp giữa Hadoop và Spark xuất hiện. Một số công ty dẫn đầu thị trường nền tảng đám mây có thể kể đến như AWS, Microsoft và Google.
Việc triển khai các Data lake trên nền tảng đám mây không tốn quá nhiều chi phí vì thế thu hút nhiều tổ chức sử dụng. Ngoài ra các nhà cung cấp đám mây cũng bổ sung phát triển Data lake, tích hợp dữ liệu đồng thời xây dựng dịch vụ quản lý dữ liệu để việc triển khai được tự động hóa.
Lợi ích của Data lake là gì?
Các Data lake mang lại nhiều lợi ích to lớn cho người dùng nhất là trong lĩnh vực kinh doanh. Chúng cung cấp nền tảng cho khoa học dữ liệu và các ứng dụng phân tích để giúp doanh nghiệp quản lý hoạt động kinh doanh hiệu quả và xác định được thời cơ, xu hướng.
Bằng cách kết hợp các tập dữ liệu đến từ nhiều hệ thống khác nhau trong kho lưu trữ duy nhất Data lake giúp chia nhỏ data silos. Tính năng đó tạo điều kiện để các nhóm khoa học dữ liệu có cái nhìn tổng quan về dữ liệu có sẵn và đơn giản hóa việc tìm kiếm những dữ liệu cần thiết. Dưới đây là những lợi ích thiết thực nhất của Data lake:
- Cho phép nhà khoa học dữ liệu và người dùng xây dựng mô hình dữ liệu đồng thời ứng dụng phân tích, truy vấn nhanh, hiệu quả.
- Khả năng mở rộng ở Data lake rất cao và giúp doanh nghiệp tiết kiệm chi phí.
- Thiết kế lược đồ hay chuyển đổi và chuẩn bị dữ liệu có thể được trì hoãn cho tới khi làm rõ được mục đích, nhu cầu kinh doanh.
- Data lake tương thích với các phương pháp phân tích khác nhau bao gồm phân tích thống kê, machine learning (học máy), khai thác văn bản, mô hình dự đoán, truy vấn SQL…
Tổng kết về Data lake
Bài viết trên chúng tôi đã cung cấp thông tin chi tiết về Data lake. Hy vọng với những gì tham khảo được bạn sẽ hiểu rõ hơn về Data lake và lựa chọn nó để lưu trữ dữ liệu cho tổ chức của mình.
Nếu bạn có thắc mắc về Data lake hay muốn tìm hiểu thêm những kho dữ liệu khác, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.
- data lake vs data warehouse
- data lake là gì