1

Does the underlying storage engine in Apache IoTDB use other mature storage engine, like RocksDB, LevelDB or Cassandra? Or it implements its own storage engine from sratch?

SwissCodeMen
  • 4,222
  • 8
  • 24
  • 34
Yuan Tian
  • 98
  • 1
  • 4

2 Answers2

1

Apache IoTDB does not rely on any existing storage engine indeed. In fact, it has its own implementation for the datastore based on a newly developed file format tsfile (which is related to Apache Parquet). More information on the tsfile Format can be found here: http://iotdb.apache.org/SystemDesign/TsFile/Format.html

Also for metadata storage, Apache IoTDB relies on its own implementation of the known algorithms / concepts like BTrees, the write ahead log (WAL) or the Raft protocol (in Cluster mode).

In the following picture you see a sketch of the storage engine / architecture of Apache IoTDB taken from http://iotdb.apache.org/SystemDesign/StorageEngine/StorageEngine.html:

enter image description here

TL;DR: Apache IoTDB does not rely on existing projects but implements everything related to its storage engine completely new based on a binary file format for mass data storage.

Julian
  • 438
  • 3
  • 13
1

We build Apache IoTDB from scratch :)

The data file is called TsFile (Time series File), which is optimized for time series data query.

IoTDB engine is built based on TsFile.

qiaojialin
  • 114
  • 1
  • 3
  • 5
  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Oct 06 '21 at 07:25