Home / Companies / QuestDB / Blog / September 2025

September 2025 Summaries

5 posts from QuestDB

Filter
Month: Year:
Post Summaries Back to Blog
QuestDB, an open-source time-series database known for its high performance and simplicity, is participating in Hacktoberfest, an annual open-source celebration organized by DigitalOcean that runs throughout October. This event invites participants worldwide to contribute to open-source projects by making pull requests, offering an opportunity to enhance skills and engage with the developer community. QuestDB, with its core engine built in Java, C++, and Rust, and a web console in TypeScript and React, encourages contributors to focus on impactful issues rather than minor fixes, while discouraging AI-generated contributions to emphasize original work. Participants contributing to QuestDB during Hacktoberfest can earn exclusive rewards, such as an exclusive t-shirt, in addition to the standard Hacktoberfest rewards. The QuestDB team promotes active participation through guidelines, community forums, and communication channels to assist contributors in making meaningful contributions that improve the database and foster a sense of community.
Sep 29, 2025 492 words in the original blog post.
The article explores the intricacies of how Rust's built-in `fetch_max` function operates at a low level, starting from its straightforward implementation in Rust to the complex processes it undergoes in the compiler. It begins with a job interview scenario where a candidate uses Rust's `fetch_max`, an atomic operation that isn't available in Java or C++. Curiosity about how Rust simplifies this operation leads to an investigation through multiple compiler layers, including macro expansion, LLVM IR, and assembly code. The article explains how Rust's compiler translates `fetch_max` into a compare-and-swap (CAS) loop for architectures like x86-64 that lack a native atomic max instruction, while architectures like AArch64 with native support skip this step. The journey through compiler transformations illustrates the power of modern compilers in bridging high-level code with low-level machine instructions, highlighting the elegance and efficiency Rust's abstraction provides in managing complex, concurrent operations.
Sep 23, 2025 2,910 words in the original blog post.
QuestDB, an open-source time-series database designed for high-demand workloads like trading and mission control, offers ultra-low latency and high ingestion throughput alongside a multi-tier storage engine. It natively supports open formats like Parquet and SQL, ensuring data portability and avoiding vendor lock-in, crucial for handling vast amounts of rapidly growing financial data. Parquet, a columnar storage format, is particularly effective for financial data due to its efficient compression and ability to read only necessary data, facilitating faster queries and reduced memory usage. QuestDB leverages Parquet's advantages by allowing seamless integration with a broad analytics and data science ecosystem, providing flexibility and efficiency in managing large datasets. In practical applications, such as analyzing S&P 500 futures data, converting QuestDB partitions to Parquet results in significant storage savings and faster query performance. QuestDB also supports exporting and importing Parquet files, enhancing data sharing and interoperability while maintaining real-time ingestion capabilities. This combination empowers finance teams to perform efficient data analysis and maintain agility without vendor constraints.
Sep 17, 2025 2,022 words in the original blog post.
QuestDB is an open-source time-series database designed for high-performance workloads, offering ultra-low latency, high ingestion throughput, and a multi-tier storage engine with native support for Parquet and SQL to ensure data portability and AI readiness without vendor lock-in. The guide addresses a specific issue that arises when QuestDB's Java library is used in environments where the /tmp directory is mounted with noexec, leading to errors due to the library attempting to unpack and execute native libraries from this directory. To mitigate this, the guide suggests pre-bundling the required native libraries (libquestdb.so and libquestdbr.so) with the application and configuring QuestDB to load them from a specified directory using the -Dquestdb.libs.dir parameter, thus avoiding the use of /tmp entirely. This approach is particularly relevant for teams building custom images or embedding the QuestDB Java library in other applications, while official QuestDB server container images and platform-specific distributions already handle this setup automatically. The guide emphasizes the importance of immutable builds and provides alternative strategies and troubleshooting tips for managing native libraries in hardened environments.
Sep 10, 2025 984 words in the original blog post.
QuestDB is an open-source time-series database designed for high-performance and reliable workloads, offering features like ultra-low latency, high ingestion throughput, and a multi-tier storage engine, with native support for Parquet and SQL to ensure data portability and AI-readiness. QuestDB Enterprise enhances resilience by supporting built-in replication, allowing read traffic distribution across replicas to maintain query operations during node outages, which is critical for mission-critical or latency-sensitive applications. PostgreSQL-compatible clients, however, require configuration to handle failover, as they do not automatically adjust when a node goes down, which can be managed with infrastructure solutions like DNS failover or client-side multi-host connection strings. The document provides guidance on implementing high-availability reads using standard PostgreSQL clients and basic reconnect logic, illustrating examples in several programming languages including Python and Node.js. For testing purposes, users can simulate a replicated environment locally using Docker with QuestDB Open Source to observe client application failover behavior without affecting production systems.
Sep 03, 2025 1,309 words in the original blog post.