Apache Tajo 介绍
Apache Tajo is a robust big data relational and distributed data warehouse system for Apache Hadoop. Tajo is designed for low-latency and scalable ad-hoc queries, online aggregation, and ETL (extract-transform-load process) on large-data sets stored on HDFS (Hadoop Distributed File System) and other data sources. By supporting SQL standards and leveraging advanced database techniques, Tajo allows direct control of distributed execution and data flow across a variety of query evaluation strategies and optimization opportunities.
Tajo的设计思想类似于Tenzing,它充分借鉴了MapReduce和DataBase的优势,使其具有Hive的扩展性和容错性好的优点,但同时性能比Hive高不少。
Tajo Features
Fast and Efficient
Fully distributed SQL query processing engine
Advanced query optimization such as cost-based and progressive query optimization
Interactive analysis on reasonable data set
Scalable
Fault tolerance and dynamic scheduling for long-running queries
Out-of-core algorithms for data sets larger than main memory
Compatible
ANSI/ISO SQL standard compliance
Hive MetaStore access support
JDBC driver support
Various file formats support, such as CSV, JSON, RCFile, SequenceFile, ORC and Parquet
Easy
User-defined functions
Interactive shell
Convenient Backup/Restore utility
Asynchronous/Synchronous Java API
Tajo采用了Master-worker架构,具体如下:
1) TajoMaster:为客户端提供查询服务和管理各个QueryMaster。
2)QueryMaster:负责一个query的解析、优化与执行,它与多个task runner worker协同工作,完成一个query的计算。