Apache Tajo - Giới thiệu
Hệ thống kho dữ liệu phân tán
Kho dữ liệu là một cơ sở dữ liệu quan hệ được thiết kế để truy vấn và phân tích hơn là để xử lý giao dịch. Đây là một bộ sưu tập dữ liệu theo định hướng chủ đề, tích hợp, biến thể theo thời gian và không thay đổi. Dữ liệu này giúp các nhà phân tích đưa ra các quyết định sáng suốt trong một tổ chức nhưng khối lượng dữ liệu quan hệ được tăng lên từng ngày.
Để vượt qua những thách thức, hệ thống kho dữ liệu phân tán chia sẻ dữ liệu trên nhiều kho dữ liệu cho mục đích Xử lý Phân tích Trực tuyến (OLAP). Mỗi kho dữ liệu có thể thuộc về một hoặc nhiều tổ chức. Nó thực hiện cân bằng tải và khả năng mở rộng. Siêu dữ liệu được sao chép và phân phối tập trung.
Apache Tajo là một hệ thống kho dữ liệu phân tán sử dụng Hệ thống tệp phân tán Hadoop (HDFS) làm lớp lưu trữ và có công cụ thực thi truy vấn riêng thay vì khung MapReduce.
Tổng quan về SQL trên Hadoop
Hadoop là một khung công tác mã nguồn mở cho phép lưu trữ và xử lý dữ liệu lớn trong một môi trường phân tán. Nó cực kỳ nhanh và mạnh mẽ. Tuy nhiên, Hadoop có khả năng truy vấn hạn chế nên hiệu suất của nó có thể được cải thiện tốt hơn nữa với sự trợ giúp của SQL trên Hadoop. Điều này cho phép người dùng tương tác với Hadoop thông qua các lệnh SQL dễ dàng.
Một số ví dụ về ứng dụng SQL trên Hadoop là Hive, Impala, Drill, Presto, Spark, HAWQ và Apache Tajo.
Apache Tajo là gì
Apache Tajo là một khung xử lý dữ liệu quan hệ và phân tán. Nó được thiết kế để phân tích truy vấn đặc biệt có độ trễ thấp và có thể mở rộng.
Tajo hỗ trợ SQL tiêu chuẩn và các định dạng dữ liệu khác nhau. Hầu hết các truy vấn Tajo có thể được thực hiện mà không cần sửa đổi.
Tajo có fault-tolerance thông qua cơ chế khởi động lại cho các tác vụ không thành công và công cụ ghi lại truy vấn có thể mở rộng.
Tajo thực hiện những điều cần thiết ETL (Extract Transform and Load process)hoạt động để tóm tắt các tập dữ liệu lớn được lưu trữ trên HDFS. Nó là một lựa chọn thay thế cho Hive / Pig.
Phiên bản mới nhất của Tajo có khả năng kết nối tốt hơn với các chương trình Java và cơ sở dữ liệu của bên thứ ba như Oracle và PostGreSQL.
Đặc điểm của Apache Tajo
Apache Tajo có các tính năng sau:
- Khả năng mở rộng vượt trội và hiệu suất tối ưu hóa
- Độ trễ thấp
- Các chức năng do người dùng xác định
- Khung xử lý lưu trữ hàng / cột.
- Khả năng tương thích với HiveQL và Hive MetaStore
- Luồng dữ liệu đơn giản và bảo trì dễ dàng.
Lợi ích của Apache Tajo
Apache Tajo cung cấp những lợi ích sau:
- Dễ sử dụng
- Kiến trúc đơn giản
- Tối ưu hóa truy vấn dựa trên chi phí
- Kế hoạch thực thi truy vấn được vector hóa
- Chuyển phát nhanh
- Cơ chế I / O đơn giản và hỗ trợ nhiều loại lưu trữ.
- Khả năng chịu lỗi
Các trường hợp sử dụng của Apache Tajo
Sau đây là một số trường hợp sử dụng của Apache Tajo:
Lưu trữ và phân tích dữ liệu
Công ty SK Telecom của Hàn Quốc đã chạy Tajo dựa trên dữ liệu trị giá 1,7 terabyte và nhận thấy nó có thể hoàn thành các truy vấn với tốc độ cao hơn cả Hive hoặc Impala.
Khám phá dữ liệu
Dịch vụ phát trực tuyến nhạc Hàn Quốc Melon sử dụng Tajo để xử lý phân tích. Tajo thực hiện các công việc ETL (trích xuất-chuyển đổi-tải quá trình) nhanh hơn từ 1,5 đến 10 lần so với Hive.
Phân tích nhật ký
Bluehole Studio, một công ty có trụ sở tại Hàn Quốc đã phát triển TERA - một trò chơi trực tuyến nhiều người chơi giả tưởng. Công ty sử dụng Tajo để phân tích nhật ký trò chơi và tìm ra nguyên nhân chính gây ra gián đoạn chất lượng dịch vụ.
Lưu trữ và Định dạng Dữ liệu
Apache Tajo hỗ trợ các định dạng dữ liệu sau:
- JSON
- Tệp văn bản (CSV)
- Parquet
- Tệp trình tự
- AVRO
- Bộ đệm giao thức
- Apache Orc
Tajo hỗ trợ các định dạng lưu trữ sau:
- HDFS
- JDBC
- Amazon S3
- Apache HBase
- Elasticsearch