يوفّر DataStore خيارات تهيئة شاملة لاختيار محرك التنفيذ، ووضع التوافق، وتسجيل الأحداث، والتخزين المؤقت، وتنميط، وتصحيح نوع البيانات.
مرجع سريع
from chdb.datastore.config import config
# Quick setup presets
config.enable_debug() # Enable verbose logging
config.use_chdb() # Force ClickHouse engine
config.use_pandas() # Force pandas engine
config.use_auto() # Auto-select engine (default)
config.use_performance_mode() # SQL-first, max throughput
config.use_pandas_compat() # Full pandas compatibility (default)
config.enable_profiling() # Enable performance profilingجميع خيارات التهيئة
| الفئة | الخيار | القيم | الافتراضي | الوصف |
|---|---|---|---|---|
| تسجيل الأحداث | log_level |
DEBUG/INFO/WARNING/ERROR | WARNING | مستوى تفصيل السجل |
log_format |
"simple", "verbose" | "simple" | تنسيق رسائل السجل | |
| ذاكرة التخزين المؤقت | cache_enabled |
True/False | True | تمكين تخزين النتائج مؤقتًا |
cache_ttl |
float (ثوانٍ) | 0.0 | مدة صلاحية ذاكرة التخزين المؤقت | |
| المحرك | execution_engine |
"auto", "chdb", "pandas" | "auto" | محرك التنفيذ |
cross_datastore_engine |
"auto", "chdb", "pandas" | "auto" | عمليات Cross-DataStore | |
| التوافق | compat_mode |
"pandas", "performance" | "pandas" | توافق Pandas مقابل إنتاجية تُعطي الأولوية لـ SQL |
| التنميط | profiling_enabled |
True/False | False | تمكين التنميط |
| نوع البيانات | correction_level |
NONE/CRITICAL/HIGH/MEDIUM/ALL | HIGH | مستوى تصحيح نوع البيانات |
أساليب التهيئة
إعدادات تسجيل الأحداث
from chdb.datastore.config import config
import logging
# Set log level
config.set_log_level(logging.DEBUG)
config.set_log_level(logging.INFO)
config.set_log_level(logging.WARNING) # Default
config.set_log_level(logging.ERROR)
# Set log format
config.set_log_format("simple") # Default
config.set_log_format("verbose") # More details
# Quick enable debug mode
config.enable_debug() # Sets DEBUG level + verbose formatراجع تسجيل الأحداث لمزيد من التفاصيل.
إعداد ذاكرة التخزين المؤقت
# Enable/disable caching
config.set_cache_enabled(True) # Default
config.set_cache_enabled(False) # Disable caching
# Set cache TTL (time-to-live)
config.set_cache_ttl(60.0) # Cache expires after 60 seconds
config.set_cache_ttl(0.0) # No expiration (default)
# Check current settings
print(config.cache_enabled)
print(config.cache_ttl)تهيئة المحرّك
# Set execution engine
config.set_execution_engine('auto') # Auto-select (default)
config.set_execution_engine('chdb') # Force ClickHouse
config.set_execution_engine('pandas') # Force pandas
# Quick presets
config.use_auto() # Auto-select
config.use_chdb() # Force ClickHouse
config.use_pandas() # Force pandas
# Cross-DataStore engine (for operations between different DataStores)
config.set_cross_datastore_engine('auto')
config.set_cross_datastore_engine('chdb')
config.set_cross_datastore_engine('pandas')
# Check current engine
print(config.execution_engine)راجع محرك التنفيذ لمزيد من التفاصيل.
وضع التوافق
# Performance mode: SQL-first, no pandas compatibility overhead
config.use_performance_mode()
# or: config.set_compat_mode('performance')
# Pandas compatibility mode (default)
config.use_pandas_compat()
# or: config.set_compat_mode('pandas')
# Check current mode
print(config.compat_mode) # 'pandas' or 'performance'راجع وضع الأداء للاطلاع على التفاصيل.
إعدادات التنميط
# Enable profiling
config.enable_profiling()
config.set_profiling_enabled(True)
# Disable profiling
config.set_profiling_enabled(False)
# Check if profiling is enabled
print(config.profiling_enabled)راجع تنميط لمزيد من التفاصيل.
تصحيح نوع البيانات
from chdb.datastore.dtype_correction.config import CorrectionLevel
# Set correction level
config.set_correction_level(CorrectionLevel.NONE) # No correction
config.set_correction_level(CorrectionLevel.CRITICAL) # Critical types only
config.set_correction_level(CorrectionLevel.HIGH) # Default
config.set_correction_level(CorrectionLevel.MEDIUM) # More corrections
config.set_correction_level(CorrectionLevel.ALL) # All correctionsاستخدام كائن config
كائن config هو كائن singleton يتولى إدارة جميع الإعدادات:
from chdb.datastore.config import config
# Read settings
print(config.log_level)
print(config.execution_engine)
print(config.cache_enabled)
print(config.profiling_enabled)
# Modify settings
config.set_log_level(logging.DEBUG)
config.set_execution_engine('chdb')
config.set_cache_enabled(False)
config.enable_profiling()التهيئة في الشيفرة
إعدادات كل برنامج نصي
from chdb import datastore as pd
from chdb.datastore.config import config
# Configure at script start
config.enable_debug()
config.use_chdb()
config.enable_profiling()
# Your DataStore code
ds = pd.read_csv("data.csv")
result = ds.filter(ds['age'] > 25).groupby('city').agg({'salary': 'mean'})مدير السياق (لاحقًا)
# Planned feature: temporary configuration
with config.override(execution_engine='pandas'):
result = ds.process()
# Original settings restoredسيناريوهات الإعداد الشائعة
التطوير/تصحيح الأخطاء
from chdb.datastore.config import config
config.enable_debug() # Verbose logging
config.enable_profiling() # Performance tracking
config.set_cache_enabled(False) # Disable caching for fresh resultsبيئة الإنتاج
from chdb.datastore.config import config
import logging
config.set_log_level(logging.WARNING) # Minimal logging
config.set_execution_engine('auto') # Optimal engine selection
config.set_cache_enabled(True) # Enable caching
config.set_profiling_enabled(False) # Disable profiling overheadالحد الأقصى لمعدل النقل
from chdb.datastore.config import config
config.use_performance_mode() # SQL-first, no pandas overhead
config.set_cache_enabled(False) # Disable cache for streamingاختبار الأداء
from chdb.datastore.config import config
config.use_chdb() # Force ClickHouse for benchmarks
config.enable_profiling() # Track performance
config.set_cache_enabled(False) # Disable cache for accurate timingاختبار توافق Pandas
from chdb.datastore.config import config
config.use_pandas() # Force pandas engine
config.enable_debug() # See what operations are used- محرك التنفيذ - تفاصيل اختيار المحرك
- وضع الأداء - وضع يقدّم SQL أولًا لتحقيق أقصى إنتاجية
- إعدادات الدالة - تهيئة المحرك لكل دالة
- تسجيل الأحداث - تهيئة تسجيل الأحداث
- التنميط - تنميط الأداء