Skip to content

JA1. Databases in the real world

statement

Database systems are in use everywhere in our society. Using your own words (with references) and with a minimum of three paragraphs, discuss where databases are being used in everyday aspects of your life.

answer

  • Databases are a way for persisting and organizing data; Pen and Paper was the first database used by humans; however, the physical size of such a database, then the effort wasted on maintaining it, the lack of security, and time-consumed to querying these data made it a very inefficient way of storing data. Nowadays, we have databases that are much more efficient and secure, and they are used in almost every aspect of our lives.
  • Later humans moved to store data digitally where files came in; however using files as databases has its limitations like the number of concurrent connections to a file, permissions, slow queries, and so on.
  • The limitations of using files as databases led to the development of database management systems (DBMS) which are software that manages defining storing and retrieving data from a database. DBMSs use an in-memory and disk-based store, along with efficient and flexible algorithms to manage the data. DBMSs also buffer the mutations to a Database with a strong transaction manager lead to the None-Or-All guarantee of a transaction;
  • The two major categories of databases today are relational and non-relational databases, where the first store data in form of tables, while the second store data in form of documents, key-value pairs, and graphs. It is hard enough to choose between these two categories, but it is even harder to choose between the different types of databases in each category. For example, in the relational category, we have MySQL, PostgreSQL, and Oracle, while in the non-relational category, we have MongoDB, Redis, and Cassandra.
  • I have been working as a web developer for the past 3 years and worked closely with the two categories. In the past year, I found myself tending to use key-value pairs databases more than relational databases. I found that key-value pairs databases are more efficient in storing and retrieving data, and they are more flexible in terms of the data structure. However, the powerful query builder and the flexibility in querying on any column in a relational database make it a better choice for some use cases.
  • I have learned recently that flexibility is a tradeoff with efficiency; the more flexibility your applications requires in querying and storing data, the less efficient they will be. And since then, I have been designing my databases and applications with less flexibility such as accessing objects can only be done on the primary key, and any further filtering can be done on the application level.

references

  • Silberschatz, A., Korth, H.F., & Sudarshan, S. (2001). Database System Concepts (4th ed.). New York, NY: McGraw-Hill.