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

Database Entry

Trafodion


Trafodion is an open-source webscale SQL-on-Hadoop DBMS solution that extends and builds on Apache Hadoop. Its name is the Welsh word for "transactions" (pronounced "Tra-vod-eee-on") because the developers wanted to emphasize the fact that one specific way it extended Hadoop was through guaranteed transactional integrity. By doing so, it targets big data transactional and operational workloads rather than analytic workloads. It is ACID-compliant and has fully-functional ANSI SQL support[05][06][07]

Source Code
https://github.com/apache/trafodion[02]
Twitter
@trafodion
Country of Origin
US
Start Year
2014
End Year
2021
Project Type
Open Source
Written in
C++, Java
Supported Languages
SQL
Derived From
HBase
Operating System
Linux
License
Apache v2

Database Entry

Trafodion


Trafodion is an open-source webscale SQL-on-Hadoop DBMS solution that extends and builds on Apache Hadoop. Its name is the Welsh word for "transactions" (pronounced "Tra-vod-eee-on") because the developers wanted to emphasize the fact that one specific way it extended Hadoop was through guaranteed transactional integrity. By doing so, it targets big data transactional and operational workloads rather than analytic workloads. It is ACID-compliant and has fully-functional ANSI SQL support[05][06][07]

History[08][06]


Hewlett-Packard Company launched Trafodion as an open-source project in 2014, and a version was released in early 2015 before it became a part of the Apache Incubator in May 2015. In January of 2018, it was established as an Apache Top-Level Project.

The project was marked as abandoned and deprecated to the Apache Foundation "attic" in 2021.

Concurrency Control[09][10]


Apache Trafodion utilizes the HBase-Trx implementation of Multi-version Concurrency Control (MVCC). This implementation guarantees row-level ACID semantics and only requires row locks for write operations, not read operations.

Data Model[11]


Since Trafodion is built on top of HBase, it shares HBase's column family data model using key-value pairs.

Foreign Keys[11]


Foreign key constraints are supported in Trafodion.

Isolation Levels[12]


Trafodion only supports the READ COMMITTED isolation level.

Joins


Trafodion supports hash joins. It is recommended that the number of tables in a join is limited to 64, otherwise the query may not compile.

Logging[13]


Trafodion utilizes HBase's Write Ahead Log.

Query Execution[09]


Trafodion dynamically spawns a set of Executor Server Processes, which each execute a part of a query plan if intra-query parallelism is desired.

Query Interface[09]


SQL

Trafodion fully supports ANSI SQL.

Storage Architecture[14]


Trafodion is built on top of HBase, which means it shares its disk-oriented storage architecture model from HDFS.

Storage Model[14]


Trafodion uses a single column family to store all columns.

Stored Procedures[15]


Trafodion allows for stored procedures written in Java and typically compiles with SQL and JRT (Java Routines and Types). The stored procedure itself is a Java method in a JAR file.

Views


Unlike HBase, Trafodion does support views.

Derivative Systems
EsgynDB EsgynDB

Citations

15 sources
  1. Apache Trafodion apache.org
  2. GitHub - apache/trafodion: Apache Trafodion · GitHub github.com
  3. Apache Trafodion Documentation Library apache.org
  4. List of Apache Software Foundation projects - Wikipedia wikipedia.org
  5. Apache Trafodion Frequently Asked Questions apache.org
  6. Apache Trafodion becomes Top-Level Project - SD Times sdtimes.com
  7. Apache Trafodion apache.org
  8. Trafodion | The Apache Attic apache.org
  9. Apache Trafodion Architecture Overview apache.org
  10. Apache HBase Internals: Locking and Multiversion Concurrency Control | Blogs Archive apache.org
  11. SQL Reference Manual apache.org
  12. SQL Reference Manual apache.org
  13. Color apache.org
  14. https://esgyn.com/wp-content/uploads/Trafodion-Technical-White-Paper.pdf esgyn.com Dead — Check Archive
  15. Stored Procedures in Java (SPJs) Guide apache.org
Revision #11 Last Updated: