Khả năng tích hợp với các framework bigdata khác

Một phần của tài liệu Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh (Trang 35 - 37)

3 Khảo sát và lựa chọn framework xử lý dữ liệu

3.2.4Khả năng tích hợp với các framework bigdata khác

Hình ảnh dưới đây sẽ cho chúng ta thấy được góc nhìn tổng quan về vị trí của các framework dữ liệu lớn hiện nay

HÌNH3.3: Top Big Data Frameworks

Có hai đường dữ liệu chính được quy ước bằng màu xanh và đỏ: tương ứng với dữ liệu Batch và dữ liệu Stream. Chúng ta sẽ cùng điểm qua một số thành phần chính và các đại diện tiêu của từng nhóm.

• Data Ingestion: là nhóm các framework có khả năng tự động hóa và quản lý

luồng dữ liệu giữa các hệ thống khác nhau, phân phối dữ liệu. Đại diện tiêu biểu: Nifi, Sqoop, Flume.

• Message Queue: các framework cung cấp bộ điệm tạm để lưu trữ các gói tin,

và ở cuối hàng đợi cho phép các phần mềm khác kết nối vào để gửi và nhận gói tin. Đại diện tiêu biểu: Kafka, RabbitMQ.

Chương 3. Khảo sát và lựa chọn framework xử lý dữ liệu 21

• Distributed Database and File System: Các hệ thống file phân tán nổi tiếng

gồm có Hadoop, Amazon S3. Ngoài ra còn có các hệ quản trị cơ sở dữ liệu phân tán gồm: Cassandra, Hbase.

• Query Interface: Là bộ công cụ giúp các phần mềm tương tác trực tiếp với hệ

thống file phân tán bằng các câu lệnh query.

• Streaming Processing: gồm nhóm các framework đã được giới thiệu trước đó,

gồm: Storm, Flink hay Spark Streaming

• Batch Processing: các framework tương tác với hệ thống file và cơ sở dữ liệu

phân tán có thể là: Drill, Presto, SparkSQL, Mapreduce.

• Java Connector: là một lớp API hỗ trợ các phần mềm Java tương tác với các hệ

quản trị cơ sỏ dữ liệu hướng quan hệ.

• Relational Database (RDB): Các hệ quản trị cơ sở dữ liệu hướng quan hệ mặc

dù có nhiều điểm yếu về mặt hiệu năng trong thế giới dữ liệu lớn. Tuy nhiên, vai trò của chúng vẫn được sử dụng triệt để trong các ứng dụng để làm data warehouse phục vụ cho một bài toán cụ thể nào đó. Các đại diện lớn gồm: MySQL, PostgreSQL.

• Data Visualization: là các framework hỗ trợ giao diện, giúp cho việc đọc và

hiểu về dữ liệu trở nên dễ dàng hơn thông qua các thao tác kéo thả trực quan. Đại diện: Tableau

Với bức tranh tổng quan trên, chúng ta có thể xác định được vai trò và tầm ảnh hưởng của các framework đang xem xét:

• MapReduce: bị giới hạn khi chỉ tham gia tính toán và xử lý dữ liệu Batch. Hơn

nữa, MapReduce là một công cụ built-in của Hadoop nên các kết nối đến các hệ thống file khác rất hạn chế và không được cập nhật thường xuyên

• Flink và Storm: Có thể kết nối được với hầu hết các framework message queue,

broker. Tuy nhiên, vì được phát triển để xử lý dữ liệu Streaming nên các tính toán cho Batch rất hạn chế, không được hỗ trợ nhiều giải thuật tính toán mạnh mẽ như của Spark.

• Spark: như trên hình minh họa, Spark có thể góp mặt ở tất cả các vị trí của hệ sinh thái Big Data. Spark có khả năng xử lý dữ liệu Streaming. Module Spark SQL được phát triển mạnh mẽ để xử lý dữ liệu Batch, đọc trực tiếp từ hệ thống file hoặc qua trung gian đối với các cơ sở dữ liệu phân tán thông qua Hive, kết nối được với cơ sở dữ liệu quan hệ thông qua Java JDBC.

Chương 3. Khảo sát và lựa chọn framework xử lý dữ liệu 22

Một phần của tài liệu Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh (Trang 35 - 37)