localvectordb.sqlite_tuning module
SQLite performance tuning and optimization for LocalVectorDB.
This module provides comprehensive SQLite tuning capabilities including: - Predefined performance profiles for different workloads - Safe pragma application with validation - System resource analysis for intelligent tuning - Maintenance utilities for database optimization
Classes
- SQLitePragmaProfile
Configuration profile containing pragma settings
- SystemInfo
System resource information for tuning decisions
- WorkloadProfile
User workload characteristics for auto-tuning
- TuningRecommendation
Auto-tuner recommendation with profile and overrides
- AutoTuner
Intelligent profile selection based on system and workload
- class localvectordb.sqlite_tuning.WorkloadType(*values)
Bases:
EnumWorkload type enumeration for auto-tuning.
- READ_HEAVY = 'read_heavy'
- WRITE_HEAVY = 'write_heavy'
- BALANCED = 'balanced'
- BATCH_INGEST = 'batch_ingest'
- REAL_TIME = 'real_time'
- class localvectordb.sqlite_tuning.DurabilityLevel(*values)
Bases:
EnumData durability importance levels.
- CRITICAL = 'critical'
- HIGH = 'high'
- NORMAL = 'normal'
- LOW = 'low'
- class localvectordb.sqlite_tuning.SQLitePragmaProfile(name: str, description: str = '', pragmas: Dict[str, ~typing.Any]=<factory>)
Bases:
objectSQLite pragma configuration profile.
- Parameters:
- localvectordb.sqlite_tuning.is_valid_sqlite_pragma_profile(profile: Literal['balanced', 'fast_ingest', 'read_optimized', 'durable', 'memory_saver']) bool
- localvectordb.sqlite_tuning.get_sqlite_pragma_profile(profile: Literal['balanced', 'fast_ingest', 'read_optimized', 'durable', 'memory_saver'], *, default: Literal['balanced', 'fast_ingest', 'read_optimized', 'durable', 'memory_saver'] | None = None) SQLitePragmaProfile | None
- localvectordb.sqlite_tuning.format_pragma_value(value: Any) str
Format pragma value for SQL execution.
- Parameters:
value (Any) – Pragma value to format
- Returns:
Formatted value safe for SQL
- Return type:
- localvectordb.sqlite_tuning.apply_pragmas(conn: Connection, pragmas: Dict[str, Any]) None
Apply pragma settings to a SQLite connection.
- Parameters:
conn (sqlite3.Connection) – SQLite database connection
pragmas (Dict[str, Any]) – Dictionary of pragma key-value pairs to apply
- async localvectordb.sqlite_tuning.apply_pragmas_async(conn: Connection, pragmas: Dict[str, Any]) None
Apply pragma settings to an async SQLite connection.
- Parameters:
conn (aiosqlite.Connection) – Async SQLite database connection
pragmas (Dict[str, Any]) – Dictionary of pragma key-value pairs to apply
- class localvectordb.sqlite_tuning.SystemInfo(total_ram_mb: int, available_ram_mb: int, cpu_cores: int, disk_type: str, disk_free_gb: float, os_type: str)
Bases:
objectSystem resource information for tuning decisions.
- Parameters:
- class localvectordb.sqlite_tuning.WorkloadProfile(workload_type: WorkloadType, document_size: str, concurrent_users: int, durability_level: DurabilityLevel, memory_constraint: str)
Bases:
objectUser workload characteristics for auto-tuning.
- Parameters:
workload_type (WorkloadType) – Primary workload pattern
document_size (str) – Typical document size (small/medium/large)
concurrent_users (int) – Expected number of concurrent users
durability_level (DurabilityLevel) – Data persistence importance
memory_constraint (str) – Memory availability (generous/moderate/limited)
- workload_type: WorkloadType
- durability_level: DurabilityLevel
- __init__(workload_type: WorkloadType, document_size: str, concurrent_users: int, durability_level: DurabilityLevel, memory_constraint: str) None
- class localvectordb.sqlite_tuning.TuningRecommendation(profile_name: str, pragma_overrides: Dict[str, Any], reasoning: List[str], estimated_memory_mb: int)
Bases:
objectAuto-tuner recommendation result.
- Parameters:
- class localvectordb.sqlite_tuning.AutoTuner
Bases:
objectIntelligent SQLite tuning based on system resources and workload.
This class analyzes system resources and user requirements to recommend optimal SQLite pragma settings for LocalVectorDB.
- static analyze_system() SystemInfo
Analyze system resources for tuning decisions.
- Returns:
System resource information
- Return type:
- static recommend_profile(system: SystemInfo, workload: WorkloadProfile) TuningRecommendation
Recommend optimal tuning profile based on system and workload.
- Parameters:
system (SystemInfo) – System resource information
workload (WorkloadProfile) – User workload characteristics
- Returns:
Recommended profile and settings
- Return type:
- static interview_user_cli() WorkloadProfile
Interactive CLI interview to gather workload information.
- Returns:
User’s workload characteristics
- Return type: