

Mục tiêu của phần hướng dẫn này là giúp bạn hiểu rõ hơn về những tiến bộ mới nhất trong ngành Big Data – những yếu tố đang đưa Big Data tiến tới giai đoạn trưởng thành.
Cho đến hiện tại, để giải quyết các bài toán thực tế, chúng ta thường phải sử dụng nhiều framework (các công cụ chuyên biệt), điều này vừa phức tạp vừa tốn kém. Ngày nay, ngành công nghiệp cần một nền tảng hợp nhất như Apache Flink – chỉ một nền tảng nhưng có thể giải quyết đa dạng các vấn đề về Big Data.
Big Data vẫn đang là một trong những “từ khóa nóng” nhất của ngành công nghệ. Theo Gartner:
“Dữ liệu lớn là loại dầu mỏ mới của thời đại số.”
Big Data đã được thừa nhận trong hầu hết các lĩnh vực như Viễn thông, Bán lẻ, Tài chính, Y tế, Ngân hàng,... như một yếu tố bắt buộc để xử lý khối lượng dữ liệu tăng trưởng chóng mặt và nhu cầu phân tích ngày càng cao. Có thể nói, Big Data là nền tảng sống còn để các doanh nghiệp tồn tại và phát triển.
Big Data thực sự bắt đầu được chú ý khi Google công bố một bài báo vào năm 2004 về MapReduce – một mô hình lập trình giúp họ xử lý khối lượng lớn dữ liệu để lập chỉ mục web.
Chỉ một năm sau đó, ngành công nghiệp đã có công cụ Big Data đầu tiên – Hadoop. (Nếu bạn chưa quen với Hadoop, có thể tìm hiểu thêm trong bài viết riêng.)
Vấn đề hiện tại của ngành Big Data là: gần như mỗi ngày lại có thêm một công cụ hay công nghệ mới ra đời, hứa hẹn những tính năng mới mẻ và “đột phá”. Nhưng điều này lại vô tình tạo ra một thách thức lớn:
Làm sao để những người làm Big Data (developer, admin, analyst, trưởng nhóm, kiến trúc sư...) có thể học và làm chủ một công nghệ mới liên tục? Và làm sao để doanh nghiệp triển khai, duy trì hàng chục công cụ khác nhau mà vẫn đảm bảo hiệu quả và tối ưu chi phí?
Trong hệ sinh thái Big Data hiện tại, mỗi framework thường được thiết kế để giải quyết một nhóm bài toán cụ thể, ví dụ:
Việc sử dụng nhiều công cụ giúp mở rộng khả năng xử lý, nhưng tích hợp và vận hành cùng lúc nhiều framework là một việc phức tạp, tốn kém và dễ lỗi.
Mỗi công cụ lại có ngôn ngữ trừu tượng riêng, thư viện riêng, runtime riêng. Để làm việc hiệu quả, người dùng phải thành thạo từng framework – điều rất khó khăn và tốn thời gian. Với các doanh nghiệp, chi phí đào tạo, vận hành, bảo trì hệ thống nhiều công cụ cũng là một gánh nặng lớn.
Trước đây, khi Big Data còn đang ở giai đoạn phát triển ban đầu, việc sử dụng nhiều công cụ là điều dễ hiểu. Nhưng hiện nay, hệ sinh thái đã quá phức tạp và cần được tinh gọn.
Ngành công nghiệp đang tìm kiếm một nền tảng hợp nhất (unified platform) có thể xử lý được mọi loại hình tác vụ, bao gồm:
Bên cạnh đó, nền tảng lý tưởng còn cần:
Thời của các công cụ xử lý dữ liệu đơn lẻ đã qua. Hiện tại là lúc của những nền tảng hợp nhất, nơi một công cụ duy nhất có thể đảm nhận toàn bộ chu trình phân tích dữ liệu.
Lợi ích của việc dùng một nền tảng duy nhất:
Nhưng để làm được điều đó, nền tảng cần một mô hình trừu tượng (abstraction) chung cho tất cả các module, đồng thời hỗ trợ các thư viện và công cụ cấp cao một cách linh hoạt.
Tiêu chí | Nền tảng hợp nhất | Frameworks riêng lẻ |
|---|---|---|
| Lớp trừu tượng | Một lớp trừu tượng duy nhất | Mỗi framework có lớp trừu tượng riêng |
| Runtime | Một môi trường thực thi duy nhất | Mỗi framework có runtime riêng |
| Thư viện | Thư viện dùng chung | Mỗi framework có thư viện riêng |
| Tích hợp | Không cần tích hợp thêm | Gần như không thể tích hợp trơn tru |
| Phiên bản | Một phiên bản duy nhất | Phải nghiên cứu kỹ lưỡng khi làm việc với nhiều phiên bản khác nhau |
| Tương thích | Không cần lo về vấn đề tương thích | Dễ gặp lỗi tương thích khi triển khai |
| Dịch chuyển dữ liệu | Không cần dịch chuyển dữ liệu | Cần dịch chuyển và sao chép dữ liệu giữa các hệ thống khác nhau |
Apache Spark là một trong những nền tảng đầu tiên tiên phong theo hướng hợp nhất, nhưng vẫn bị hạn chế bởi mô hình micro-batch – xử lý dữ liệu theo từng lô nhỏ, không thực sự là streaming thời gian thực.
Micro-batch: là phương pháp chia dòng dữ liệu thành các phần nhỏ để xử lý tuần tự. Không thực sự là stream processing “real-time”.
Apache Flink là bước tiếp theo trên hành trình đó. Flink cung cấp một nền tảng thực sự thống nhất và mạnh mẽ:

Apache Flink được xem là nền tảng Big Data thế hệ thứ 4 – "4G của Big Data".
Flink sử dụng một kernel xử lý streaming làm trung tâm, với khả năng:
Tốc độ xử lý cực nhanh
Flink là nền tảng xử lý dữ liệu quy mô lớn có khả năng xử lý các dòng dữ liệu sinh ra với tốc độ cao – một nhu cầu không thể thiếu trong kỷ nguyên dữ liệu và AI hiện nay.
