DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

Kudu


Apache Kudu is an open source storage engine for structured data that is part of the Apache Hadoop ecosystem. The primary intention of Kudu is to allow applications to perform fast big data analytics on rapidly changing data. It was designed for fast performance for OLAP queries but also supports OLTP. [05][06]

Source Code
https://github.com/apache/kudu[02]
Developer
Country of Origin
US
Start Year
2016 [04]
Project Type
Open Source
Supported Languages
C++
Derived From
HBase
Compatible With
Spark SQL
Operating System
Linux
License
Apache v2

Being a part of the Hadoop ecosystem, Kudu supports the use of Apache data processing frameworks like Spark, Impala or MapReduce on its tables. Kudu tables can also be joined with other Hadoop storage engines like HBase and HDFS. To build a Kudu application developers can use the Java, C++ or Python Kudu APIs that support No-SQL style accesses or SQL style frameworks like Apache Impala.

Database Entry

Kudu


Apache Kudu is an open source storage engine for structured data that is part of the Apache Hadoop ecosystem. The primary intention of Kudu is to allow applications to perform fast big data analytics on rapidly changing data. It was designed for fast performance for OLAP queries but also supports OLTP. Being a part of the Hadoop ecosystem, Kudu supports the use of Apache data processing frameworks like Spark, Impala or MapReduce on its tables. Kudu tables can also be joined with other Hadoop storage engines like HBase and HDFS. To build a Kudu application developers can use the Java, C++ or Python Kudu APIs that support No-SQL style accesses or SQL style frameworks like Apache Impala.[05][06]

History[07]


Prior to Kudu, most data storage engines were able to store one type of structured data, static or mutable. Storage engines for static data were unable to make changes to individual records while storage engines for mutable data had a low throughput for sequential reads. Because of this developers typically used two different storage engines for first mutating their data and then performing analytics. Apache Kudu was designed to support both data formats and provide both high throughput sequential-access and random-access queries.

Data Model


Storage Architecture


Storage Model


Compatible Systems
PrestoDB PrestoDB
Derivative Systems
StarRocks StarRocks

Citations

7 sources
  1. Apache Kudu - Fast Analytics on Fast Data apache.org
  2. GitHub - apache/kudu: Mirror of Apache Kudu · GitHub github.com
  3. https://kudu.apache.org/docs apache.org
  4. Apache Kudu - Wikipedia wikipedia.org
  5. Apache Kudu - Using Apache Kudu with Apache Impala apache.org Dead — Check Archive
  6. Apache Kudu - Overview apache.org Dead — Check Archive
  7. https://kudu.apache.org/kudu.pdf apache.org Dead — Check Archive
Revision #2