Pushing the Limits
Once the system stores all the data, the next step is to utilize it efficiently. Different scenarios require data usage in various ways. Tacnode aims to push the boundaries of performance, consistency, and real-time capabilities across all workloads.
Unlimited Scaling
Tacnode offers unlimited scaling capabilities to meet any business's high-performance demands. Two expansion methods support high performance when sufficient computing resources are allocated.
Horizontal Scaling: Computing resources can be expanded horizontally by adding units to enhance read and write capabilities.
Read-only Replication: In scenarios where write and read requests are imbalanced, with high read requests but moderate write requests, read-only replication instances improve read request throughput. A read-write instance can support multiple read-only replication instances, facilitating the expansion of read capabilities.
High Performance for All Workloads
Beyond supporting higher performance through increased resources, Tacnode aims to deliver superior performance with specific resources. Tacnode employs an industry-leading vectorized execution engine and multiple indexes to accelerate queries, such as using inverted indexes for keyword searches and vector indexes for vector queries. In analytical scenarios, materialized views pre-calculate and store frequently queried results, avoiding unnecessary repeated calculations.
This approach enables Tacnode to achieve exceptional performance and cost-effectiveness in simple queries, keyword searches, vector searches, and complex analytical query scenarios.
High-Performance Data Manipulation
Tacnode addresses query performance issues through unlimited expansion and high single-machine performance. The remaining challenges are real-time data handling and correctness. Real-time capabilities focus on the ability to add, delete, and modify data instantly, known as interactive addition, deletion, and modification. Tacnode manages real-time data changes with high throughput and zero latency, allowing immediate verification of modifications without delay. This feature enables users to modify and view data interactively online.
- Some market products support "near real-time" data changes, but in interactive scenarios, even a few seconds of delay can significantly impact the experience. The unpredictable delay makes it difficult to ensure it stays within a specific range, rendering quasi-real-time systems unsuitable for many scenarios. Tacnode's interactive capabilities make it applicable to more scenarios.
In addition to real-time data changes, Tacnode supports a wide range of functions like UPSERT/MERGE/UPDATE JOIN and the ability to output updated data, simplifying business data modifications.
Tacnode also offers high-performance data import and export capabilities:
- Fast batch import: Use COPY FROM to import large volumes of data quickly.
- Fast batch export: Use COPY TO for rapid data export.
- Real-time streaming synchronization: Supports incremental data export and is fully compatible with PostgreSQL's CDC, enabling downstream tasks to monitor database changes for efficient real-time processing. This capability also allows data synchronization between databases or with other data products.
Distributed systems involve multiple computing nodes, making incremental data export challenging due to the need to merge data from various nodes while maintaining modification order. Tacnode's compatibility with the PostgreSQL logical replication protocol eliminates additional learning and development costs for downstream businesses. Achieving high-performance distributed incremental logical replication without protocol changes is a significant challenge. Users can utilize Tacnode's incremental export function as easily as PostgreSQL's standalone logical replication.
High Performance Distributed Transactions
Tacnode ensures strong data consistency during modifications by supporting high-performance distributed transactions.
Fully ACID semantics: Tacnode adheres to serializable transaction semantics for data modifications, ensuring all changes occur logically in sequence, despite being executed concurrently with high performance. This strict transaction semantics guarantees data integrity and consistency, lowering the barrier for developing high-performance applications.
Multi-statement transaction: Users can execute multiple SQL statements within a single transaction, including most DDL operations. This flexibility makes multi-statement transactions applicable to more business scenarios compared to single-statement transactions.
Conversational transaction: Users can initiate a query within a transaction and decide on subsequent queries or data modifications based on the results. Conversational transactions further simplify business development by removing obstacles.
All these functions are distribution-based, ensuring performance and real-time capabilities. Tacnode challenges the physical limits of performance, real-time capabilities, and consistency across various business scenarios through high-throughput and low-latency distributed transactions, meeting the most demanding business requirements.