1. Concepts# This section describes various concepts and features that QuasarDB offers. 1.1. Batch inserter 1.1.1. Purpose 1.1.2. APIs 1.1.3. Language Support 1.1.4. Insertion modes 1.1.5. Options 1.1.6. Batch size 1.1.7. Usage 1.2. Async Pipelines 1.2.1. When to Use Async Pipelines 1.2.2. Understanding Write Amplification 1.2.3. How Async Pipelines Work 1.2.4. Configuration Options 1.2.5. Monitoring and Metrics 1.2.6. Visualizing Async Pipeline Activity 1.2.7. Considerations and Best Practices 1.3. Compaction and Trimming 1.3.1. LSM-Tree Fundamentals 1.3.2. Compaction 1.3.3. Trimming (MVCC Cleanup) 1.3.4. Best Practices: Trimming Before Compaction 1.4. Streaming changes and continuous queries 1.4.1. Purpose 1.4.2. Features 1.4.3. Limitations 1.4.4. When to use 1.4.5. Pacing 1.4.6. When not to use 1.4.7. How it works 1.4.8. Available modes 1.4.9. Server configuration 1.4.10. C Programming 1.4.11. Python programming 1.5. Deduplication 1.5.1. Purpose 1.5.2. Implementation 1.5.3. Alternatives 1.6. Memtables 1.6.1. How Memtables Work 1.6.2. Crash Protection 1.6.3. Memory and Performance 1.6.4. Configuration 1.6.5. See Also 1.7. Parallelism 1.7.1. Server-side parallelism 1.7.2. Client-side parallelism 1.8. Shards 1.8.1. Purpose 1.8.2. Example 1.8.3. Choosing the correct shard size 1.8.4. See also 1.9. Storage Optimization Techniques 1.9.1. LSM, Compaction, and SST Concepts 1.10. Symbol columns 1.10.1. Definition 1.10.2. Purpose 1.10.3. Usage 1.10.4. Use Case 1.11. Transactional Guarantees 1.11.1. Multi-Version Concurrency Control (MVCC) 1.11.2. Copy-on-Write (CoW) 1.11.3. Insertion Modes and Copy-on-Write 1.11.4. Choosing the Right Insertion Mode 1.11.5. See Also