Introduction to TimescaleDB
This article is an introduction to TimescaleDB. We’ll discuss what the database technology is used for and the architecture of the technology.
Ensure to install and configure the following for your OS:
Basic PostgreSQL is required, to be able to follow along with the tutorial.
What is TimescaleDB
TimescaleDB was created to make Structured Query Language or SQL scalable against time-series data. This database system is still young and was introduced on September of 2018.
The TimescaleDB is a built-in extension of PostgreSQL. The technology is under the license Apche-2 open-source however some of the code related to the enterprise feature of the time-series is under TSL or Timescale License.
TimescaleDB provides an automatic partitioning across key-values and dates, it also provide native SQL support which makes it an ideal option for those who need to store time-series data.
What is Time Series Data
Time series data is at the center of IoT or the internet of things and a myriad of solutions that deal with continuously evolving data. As the name suggest, time series data focuses on data that changes with time.
The advantage of TimescaleDB to other time series database is that, it supports SQL functionalities such as joins, aggregates, subqueries, secondary indexes and window functions.
Time series database provides endless possibilities as it can be used in different industrial IoT such as healthcare, monitoring of dev ops, mining, oil and gas, retail and financial sector. The time series database technology can also be a source for business operation for machine learning pipelines.
Because TimescaleDB is a PostgreSQL extension means that a database time-scale runs within an instance of Postgres. The PostgreSQL attributes such as security, reliability, connectivity to a myriad range of third party tools is being fully utilized by the database via the TimescaleDB extension model. By using TimescaleDB we can leverage a high level of customization of the extension just by hooking it deeply into Postgres’ execution engine, data model and query planner.
TimescaleDB Relational Data Support
TimescaleDB as a relational database, it provides full support for the Structured Query Language. This also provides support to flexible data models that can used by various number of users. The Database Management System or DBMS is created for complex queries and fast ingest that based on PostgreSQL and we can access to a robust time-series processing if needed.
Hypertables from a user perspective is like a singular table whereas Hypertables are composed of multiple chunks or individual tables holding the data and its data can be either two or one dimension. The hyper table’s data can undergo aggregation via “partition key” value and via time interval.
It is worthy to note that all the interactions such as creating index, tables, altering table, inserting table and selecting table will be performed against the hyperatables.
We hope you have found this introduction to TimescaleDB helpful. It’s a technology built with a specific architecture for a specific purpose, and if your application fits this may be a good technology to consider.
Pilot the ObjectRocket Platform Free!
Try Fully-Managed CockroachDB, Elasticsearch, MongoDB, PostgreSQL (Beta) or Redis.Get Started