Читать книгу Data Management: a gentle introduction - Bas van Gils - Страница 19

■ 4.5 DATABASE MANAGEMENT

Оглавление

Database management is the capability that is concerned with designing, implementing, and running databases that help to make data available to the right person, at the right time. This is a fairly technical discipline and for this reason I have chosen not to give it a chapter of its own in this book.

Databases come in many shapes and forms. The relational model, developed by Codd in the 1970s, is still by far the most popular approach for structuring and storing data [Cod70, Cod79]. This model is based on the notion of mathematical relations. A relation can be seen as a table2 with a heading that lists the attributes of the relation (i.e. a Person relation may have First name, Last name, Birth date as attributes) and a body consisting of tuples/ rows with values that represent the population of the table (i.e. {‘Bas’, ‘van Gils’, ‘06-dec-1976’}).

One of the key points of the relational model is that data structures are designed a priori in such a way that they can be queried in many different ways to answer any question that people may have about the data. In other words, the “cost” of time spent in designing the data structures is balanced by the” “value” of flexible querying. Data structures are rigorously designed and tend to be fairly static. Adjusting them tends to have a major impact on IT systems. A more recent development is to work with database systems where the line of reasoning is the inverse: get data in the system and do not worry too much about structuring the data a priori. Instead, the structure of the data in the database is analyzed when the system is queried. In this case, the benefit of “ease of getting data into the system” is balanced by the cost of “querying becomes a little harder”. Several types of databases fall into this category of NoSQL-systems (see e.g. [RW12] for a good overview as well as advantages/ disadvantages of each).

On an (even) more technical level, database management concerns decisions about how to set up the infrastructure to host databases, whether systems should have a failover option (i.e. if one system is unavailable, then the other will take over), or what the implications are of hosting the data “in the cloud.”

Data Management: a gentle introduction

Подняться наверх