The core of TrakkBoard – the backend
The core of TrakkBoard is the highly complex backend. It retrieves, stores and processes huge amounts of data. A high level of speed, scalability and reliability are the basic principles for selecting the technologies we use. TrakkBoard is composed of many specialized modules with different requirements. For this reason, we use several technologies that are regularly tested, questioned and partly replaced against higher performant systems.
Ruby on Rails: The backend is based on Ruby on Rails. Even if Ruby on Rails is not yet widely used, it is very flexible and easy to learn.
Hadoop: The large amount of TrakkBoards’ data is stored in a Hadoop cluster. Here, all the raw data is stored to make it available for different modules of TrakkBoard.
HBase: Our central database that contains the aggregated data from Hadoop's is HBase. HBase is closely related to the Hadoop cluster, as it uses HDFS, the file system of Hadoop.
MongoDB: A lot of data that needs to be accessed very quickly is available in TrakkBoard in MongoDB. MongoDB is a highly scalable document store, which is written in C++. The speed advantages over traditional databases are sometimes enormous, so gradually more and more elements and data from TrakkBoard were relocated to MongoDB.
Other: By continually testing new technologies we’re always questioning each module whether we cannot use faster and more reliable technologies. In development, the advantages over traditional databases regarding flexibility are enormous and through the use of best technologies, we try to extend TrakkBoard to become the best, fastest and most reliable web controlling platform.