Kudu is a distributed, scalable, columnar storage manager that provides fast analytics for rapidly changing data.
Scenarios
Kudu is commonly used in the following scenarios:
-
Near-real-time computing
-
Time series scenarios
-
Predictive modeling
-
Coexistence with historical data
Production environments often contain large amounts of historical data stored in HDFS, an RDBMS, or Kudu. You can use Impala to access and query this data without migrating it to Kudu.
Components
Kudu includes two types of components:
-
Master Server: Manages metadata about Tablet Servers and tablets. The Master Server uses the Raft protocol to provide high availability.
-
Tablet Server: Stores tablets. Each tablet has multiple replicas. The Raft protocol provides high availability among the replicas.
Terms
|
Name |
Description |
|
Master service |
Manages metadata for the entire cluster, including information about Tablet Servers, tables, and Tablets. |
|
TServer service |
Stores and serves Tablets to clients. Only the leader Tablet can handle write requests. Other Tablets can only handle read requests. |
|
Columnar storage |
A data storage structure in which data from the same column is stored in adjacent locations in the underlying storage. |
|
Table |
A location in Kudu where data is stored. A table has a schema and a globally ordered primary key, and can be partitioned into multiple Tablets. |
|
Tablet |
A continuous segment of a table. A table can be partitioned into multiple Tablets. Each Tablet is replicated on multiple Tablet Servers, and one replica is designated as the leader. Any replica can serve read requests. |
|
Raft |
A consensus protocol that ensures high availability for the Kudu Master service and data consistency among Tablet replicas. |
|
Catalog Table |
The central location for Kudu's metadata. It stores information about tables and Tablets. |