Internal tables

Kognitio internal tables are similar to tables you would find in any mainstream SQL database, they are ACID compliant and you can perform CRUD operations on them. Kognitio is tuned for analytical processing, not transaction processing, but it does process transactions correctly and reasonably quickly.

Internal tables are stored on the underlying filesystem in an optimised format and can’t be accessed directly by any other application.

For standalone systems they are often (but not always) the primary persistence mechanism. For MapR and Hadoop systems they are less used (primarily because external tables allow interoperability with other system components such as Hive or Spark.

The performance of internal tables depends upon the underlying file system:

  • Standalone - uses direct access to Linux volumes distributed across the nodes providing excellent performance.

  • MapR - uses the high performance POSIX interface to MapR-FS to provide very good performance.

  • Hadoop - uses the default filesystem - usually HDFS. On Hadoop, data will typically be sourced from Hive tables or other native HDFS formats, so performance of the internal tables is not generally a consideration. For tables of tens of millions of rows they are fine, but for billions of rows you will get better read read performance using external tables.