Stoolap Documentation
Stoolap Documentation
Welcome to the Stoolap Documentation! This is your comprehensive guide to using and understanding Stoolap, a high-performance HTAP database written in pure Go.
What is Stoolap?
Stoolap is a Hybrid Transactional/Analytical Processing (HTAP) database engine that combines transactional (OLTP) and analytical (OLAP) capabilities in a single system. Built entirely in Go with zero external dependencies, Stoolap features a row-based version store for efficient OLTP operations and columnar indexing for optimized analytical queries, providing a unified solution for diverse workloads.
Key Documentation Sections
Getting Started
- Installation Guide - How to install and set up Stoolap
- Quick Start Tutorial - A step-by-step guide to your first Stoolap database
- Connection String Reference - Understanding and using Stoolap connection strings
SQL Reference
- Data Types - All supported data types and their behaviors
- SQL Commands - SQL syntax and command reference
- Aggregate Functions - Functions for data summarization
- Scalar Functions - Built-in scalar functions
- Window Functions - Row-based analytical functions
- CAST Operations - Type conversion capabilities
- NULL Handling - Working with NULL values
- JOIN Operations - Combining data from multiple tables
- DISTINCT Operations - Working with unique values
- Parameter Binding - Using parameters in SQL
Architecture
- Storage Engine - How data is stored and retrieved
- Columnar Storage - Row-based storage with columnar indexing
- MVCC Implementation - Multi-Version Concurrency Control details
- Transaction Isolation - Transaction isolation levels
- Indexing - How indexes work and when to use them
- Unique Indexes - Enforcing data uniqueness
- Expression Pushdown - Filtering optimization
Advanced Features
- Vectorized Execution - SIMD-accelerated query processing
- JSON Support - Working with JSON data
- PRAGMA Commands - Database configuration options
- Date/Time Handling - Working with temporal data
- ON DUPLICATE KEY UPDATE - Handling duplicate key conflicts
Need Help?
If you can't find what you're looking for in the documentation, you can:
- Open an issue on GitHub
- Join the discussions to ask questions
This documentation is under active development. Contributions are welcome!