/** * Performance Optimization Utilities for NoSQL Storage Engine * Focused on achieving sub-10ms latency targets */ import { PerformanceMetrics, CacheConfig, CompressionConfig } from '../types'; export interface OptimizationResult { optimizationType: string; improvementPercent: number; latencyReduction: number; description: string; applied: boolean; } export interface QueryOptimizer { optimizeQuery(query: any): Promise<{ optimizedQuery: any; estimatedImprovement: number; }>; analyzeQueryPerformance(query: any, metrics: PerformanceMetrics): Promise; suggestIndexes(collection: string, queries: any[]): Promise>; } export interface CompressionOptimizer { shouldCompress(data: any, config: CompressionConfig): boolean; compress(data: any, algorithm: string): Promise; decompress(data: ArrayBuffer, algorithm: string): Promise; estimateCompressionRatio(data: any): number; } export interface CacheOptimizer { shouldCache(key: string, data: any, config: CacheConfig): boolean; evictLeastUsed(cache: Map, maxSize: number): void; predictCacheHit(key: string, accessPattern: number[]): number; optimizeCacheStrategy(metrics: PerformanceMetrics): CacheConfig; } export declare class NoSQLQueryOptimizer implements QueryOptimizer { private queryHistory; private indexUsageStats; optimizeQuery(query: any): Promise<{ optimizedQuery: any; estimatedImprovement: number; }>; analyzeQueryPerformance(query: any, metrics: PerformanceMetrics): Promise; suggestIndexes(collection: string, queries: any[]): Promise>; private orderFiltersBySelectivity; private optimizeProjection; private optimizeSort; private estimateSelectivity; private determineIndexType; private hasSortIndex; private hasCompoundIndex; } export declare class NoSQLCompressionOptimizer implements CompressionOptimizer { private compressionStats; shouldCompress(data: any, config: CompressionConfig): boolean; compress(data: any, algorithm: string): Promise; decompress(data: ArrayBuffer, algorithm: string): Promise; estimateCompressionRatio(data: any): number; private gzipCompress; private gzipDecompress; private brotliCompress; private brotliDecompress; private zstdCompress; private zstdDecompress; } export declare class NoSQLCacheOptimizer implements CacheOptimizer { private accessPatterns; private cacheStats; shouldCache(key: string, data: any, config: CacheConfig): boolean; evictLeastUsed(cache: Map, maxSize: number): void; predictCacheHit(key: string, accessPattern: number[]): number; optimizeCacheStrategy(metrics: PerformanceMetrics): CacheConfig; trackAccess(key: string): void; trackMiss(key: string): void; private estimateSize; private estimateCacheSize; } export declare class BatchOptimizer { static optimizeBatchSize(operations: any[], maxBatchSize: number, targetLatency: number): any[][]; private static estimateOperationComplexity; } export declare class PerformanceMonitor { private metrics; private readonly maxHistorySize; recordMetrics(metrics: PerformanceMetrics): void; getPerformanceTrends(): { latencyTrend: 'improving' | 'degrading' | 'stable'; throughputTrend: 'improving' | 'degrading' | 'stable'; errorRateTrend: 'improving' | 'degrading' | 'stable'; }; private getTrend; } //# sourceMappingURL=optimization.d.ts.map