logo

Built-in Performance Optimizations

VortexDB includes a suite of performance-enhancing features designed to minimize latency and maximize throughput. This document covers automatic query caching, connection pooling, and other optimizations that make your applications fast by default.

Automatic Query Caching

VortexDB automatically caches the results of frequently executed queries in memory. This means that subsequent requests for the same data can be served instantly without re-executing the query, dramatically reducing response times.

How it Works

The cache uses a Least Recently Used (LRU) eviction policy. You can configure the cache size and TTL (Time to Live) for cached results to fine-tune performance for your specific workload.

Configuration and Best Practices

Setting Default Recommended
Cache Size 1GB 2-4GB
TTL 5 min 15 min
Max Entries 1000 5000

To optimize caching, consider the following:

  • Cache Size: Adjust the cache size based on available memory and the working set of your data. A larger cache can store more results but consumes more memory.
  • TTL (Time to Live): Set an appropriate TTL for cached entries. For frequently changing data, a shorter TTL ensures data freshness. For static data, a longer TTL improves hit rates.
  • Query Patterns: Caching is most effective for read-heavy workloads with repetitive queries. Avoid caching highly dynamic or unique queries.

Connection Pooling

Establishing new database connections is an expensive operation. VortexDB maintains a pool of ready-to-use connections, eliminating the overhead of creating a new connection for each request. This is crucial for applications with high concurrency.

Query Caching Diagram

Configuration

  • Maximum Connections: Define the maximum number of connections in the pool. This prevents resource exhaustion and ensures stable performance under heavy load.
  • Idle Timeout: Configure the timeout for idle connections. Connections that remain unused for this duration are closed and returned to the pool, freeing up resources.
  • Connection Validation: Implement connection validation to ensure that connections retrieved from the pool are still active and usable before being handed to an application.

Benefits of Connection Pooling

  • Reduced Latency: Eliminates the overhead of establishing new connections for each request.
  • Improved Throughput: Allows more concurrent requests to be processed efficiently.
  • Resource Management: Prevents the database from being overwhelmed by too many open connections.
On this page