Rax (Relational Algebra with eXtensions) is a scripting language for behavioral-data exploration. The language is a mix of relational, regular, and temporal algebra and is designed to facilitate the transition from ETL to data modeling. Rax empowers data analysts to explore behavioral data in a way that feels intuitive and familiar.
Rax shares some features with tools for ETL (Extract Transfer and Load) and data analysis or modeling. As data is turning into Big Data, it is getting harder to connect the data-ETL step and the data-analysis step without an intermediate data-exploration step. Often, a data analyst has to go through the data, reshuffling, massaging, sampling, and trying different ideas, before linear regression or any other hardcore data analysis can be attempted.
Especially when it comes to behavioral data, data analysts have two alternatives: they can either work in close concert with a database specialist, or they can become one. Rax offers a third alternative: it empowers data analysts to explore behavioral data in a way that feels intuitive and familiar to them. As we say in Rax:
`print "Hello Behavioral-Data Exploration!";
The Rax system has been designed to take advantage of parallelism, column stores, server-side processing, and multiple database engines, leaving Rax with many optimization options. Rax is also designed to be easily extensible.
Rax is the culmination of a process that started in 2001. The current version three is a total rewrite of version two and was started in 2005. It has been designed in cooperation with several econometric specialists.