Concepts for Specialized Databases (CBDE)Alberto Abelló, Petar Jovanovic, Oscar Romero
Before the 2000, relational databases (RDBMS) were the "one size fits all" universal solution for data storage. Regardless of the scenario, RDBMS were always chosen to store and process data. However, this has dramatically changed with the advent of new challenges (most of them unimaginable 20 years ago), which have brought RDBMS, for some scenarios, to the limits of their capacity.
In this course we present concepts for specialized databases (i.e., new database management system architectures) that are nowadays a reality and an alternative to RDBMS for specific scenarios such as massive Web-based systems, decision support systems (e.g., data warehousing), semantic data integration etc. Although these are relatively new technologies, their maturity and added value has already been shown for real cases where they have outperformed RDBMS. A good example are the NOSQL (Not Only SQL) management systems, which got born and evolved aligned with large Web systems (e.g., social media such as Facebook and Twitter; massive services such as Google or Amazon or the new e-science paradigm). Such systems need to store large volumes of data, process and manage them in a reasonable amount of time (typically exploiting parallelism on top of distributed architectures) while the system remains flexible, scalable and fault-tolerant. As a price to pay, these systems tend to compromise consistency, concurrency and data tend to be semi-structured (leading to the loss of the data independence principle and difficulting the possibility to develop query optimizers).