InfoQ Homepage News Time Series Database QuestDB 8.0 Improves SQL Performance and Adds ZFS Compression
Time Series Database QuestDB 8.0 Improves SQL Performance and Adds ZFS Compression
This item in japanese
Jul 05, 2024 2 min read
Write for InfoQ
Feed your curiosity. Help 550k+ globalsenior developers
each month stay ahead.Get in touch
Version 8 of QuestDB, an open-source time series database designed for high-performance and efficient handling of time series data, has been released. This release includes a new VARCHAR data type as a default (over STRING) that aims to provide better compression and performance, a 50% improvement for SQL query performance, and data compression via system-level ZFS that was previously "enterprise-only"
The SQL compiler has been updated for improved performance, and the data ingestion rates have been optimized to increase throughput and reduce latency. New SQL functions and improvements to existing functions aim to enhance the database’s ability to perform time series analytics.
The storage engine has also been optimized to handle larger datasets using ZFS compression, which the QuestDB team claims significantly enhances storage efficiency and performance.
ZFS, known for its advanced file system capabilities, brings robust compression algorithms to QuestDB. This allows users to store large volumes of time-series data more compactly, improving storage utilization by 6x and leading to cost savings and more efficient disk utilization. Additionally, ZFS compression improves query performance by decreasing the amount of data read from disk, accelerating data retrieval and analysis.
The adoption of the VARCHAR data type as the default over STRING marks another significant shift towards enhanced data efficiency and performance. VARCHAR, with its variable-length capability, optimizes storage by allocating space only for the actual string length, rather than a fixed size. This change contributes to reducing the memory footprint and also accelerates query execution times by minimizing the data that needs to be processed. Additionally, using VARCHAR as the default aligns QuestDB with standard SQL practices, promoting better compatibility and ease of use for users familiar with traditional relational databases.
Additional breaking changes in this release include a GLIBC upgrade, ILP and TextImport modifications, and changes to the default memory allocator, which is now jemalloc. Later updates will include disabling jemalloc as the default memory allocator and removing jemalloc from the no-jre builds.
QuestDB combines SQL and time series extensions, enabling users to perform complex queries on time-stamped data. It employs a columnar storage model, which organizes data by columns rather than rows. This model is particularly well-suited for time series data because it allows for improved data compression and faster read access. When data is stored in columns, queries that involve scanning large volumes of data can be executed more efficiently, as only the relevant columns need to be read from disk. This contrasts with traditional row-based storage, where entire rows must be read even if only a few columns are needed. The columnar model in QuestDB enhances performance, especially for analytical queries that aggregate or filter data over time.
Interested readers can learn more from the QuestDB blog post and version 8.0 release notes on GitHub.
This content is in the Java topic
Related Topics:
-
Related Editorial
-
Related Sponsors
-
Popular across InfoQ
-
AWS Introduces ECS Managed Instances for Containerized Applications
-
GitHub Introduces New Embedding Model to Improve Code Search and Context
-
Google DeepMind Introduces CodeMender, an AI Agent for Automated Code Repair
-
Building Distributed Event-Driven Architectures across Multi-Cloud Boundaries
-
OpenAI Adds Full MCP Support to ChatGPT Developer Mode
-
Mental Models in Architecture and Societal Views of Technology: A Conversation with Nimisha Asthagiri
-
Related Content
The InfoQ Newsletter
A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example