Skip to main content
Version: 1.0.1

Notes


What is Data?

Data is information related to any object. For example, information about yourself such as your name, age, and height, or information about a phone such as brand, storage details, model number, and price are examples of data. Data can exist in various forms such as text, numbers, images, videos, and audio. However, data is not randomly generated.

A database is a systematic collection of data.

What is a Database?

A database is a collection of data used to systematically retrieve, add, and delete data. According to Oracle, a database is defined as: "A database is typically a structured collection of electronically stored information or data in a computer system."


What is DBMS?

DBMS (Database Management System) is software used to manage databases. Examples of popular database management systems or DBMS include MySQL, Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database, and dBASE.

DBMS provides an interface for tasks such as creating databases, storing data, updating data, creating tables in the database, and many other operations.


What is RDBMS?

A relational database is a type of database that stores and provides access to data points that are related to each other. It is based on the relational model, which provides an intuitive and simple way to represent data in tables. In a relational database, each row in a table is a record with a unique identifier called a key. The columns of the table contain the attributes of the data, and each record typically carries a value for each attribute. This facilitates establishing relationships between data points.


What is SQL?

SQL (Structured Query Language) is a programming language used to store and manipulate information in a relational database. A relational database stores information in tables with rows and columns, representing various data qualities and relationships between data values. SQL statements can be used to store, update, remove, search, and retrieve information from the database. SQL can also be used to maintain and optimize database performance.


What is NoSQL?

The term NoSQL (not only SQL) refers to non-relational database types, which store data in formats different from relational tables. Some of these formats include document stores, key/value pairs, wide-column stores, and graphs. NoSQL databases provide flexible schemas and can easily scale with large amounts of data and high user loads.


What is Timeseries Data?

Timeseries data is a collection of data points that occur in sequence over a specific period. This data can include events performed by users in an application, CPU and memory usage over time, financial transactions, or data collected from IoT devices.

Some Timeseries Databases include:

  • InfluxDB
  • Kdb+
  • Prometheus
  • MongoDB
  • Timescale
  • QuestDB

What is OLTP?

OLTP (Online Transaction Processing) applications perform small but frequent operations to add, update, and retrieve a modest number of rows. These applications typically use a row-based approach.

What is OLAP?

OLAP (Online Analytical Processing) scenarios require real-time responses for complex analytical queries on large datasets. OLAP scenarios have the following characteristics:

  • Datasets can be very large, with billions or trillions of rows.
  • Data is organized in tables with many columns.
  • Only a few columns are selected to answer a specific query.
  • Results must be returned in milliseconds or seconds.

Column-Based vs Row-Based Databases

In a row-based DBMS, data is stored in rows, with all values related to a row physically stored together.

In a column-based DBMS, data is stored in columns, with values in the same columns stored together.

Why Column-Based Databases Work Better in OLAP Scenarios?

Column-based databases are more suitable for OLAP scenarios as they can process most queries at least 100 times faster. The reasons are detailed below.

Row-Based DBMS

row-oriented.gif

Column-Based DBMS

column-oriented.gif