# Kompatibilität zwischen MyScaleDB 1.x und ClickHouse 23.3

# Inhaltsverzeichnis

# Übersicht

Dieses Dokument soll eine detaillierte Erklärung der Kompatibilität zwischen MyScaleDB und ClickHouse 23.3 bieten und die neuen oder verbesserten Funktionen in MyScaleDB auflisten, die in der aktuellen Version von ClickHouse nicht vorhanden sind.

# Neue Funktionen

# Vektorindex

# Beschreibung

MyScaleDB bietet einen Vektorindex zur effizienten Verarbeitung und Abfrage von Vektordaten an. Diese Funktion ähnelt der Distance-Tabellenfunktion in ClickHouse 23.3, aber die Implementierung des Vektorindex in MyScaleDB bietet eine bessere Leistung und Genauigkeit. Weitere Details finden Sie in der Dokumentation: Grundlegende Vektorsuche

# Invertierter Index

# Beschreibung

MyScaleDB bietet basierend auf dem BM25-Algorithmus eine effizientere und benutzerfreundlichere Invertierte Index-Lösung an, die für eine effiziente Volltextsuche verwendet wird. Zusätzlich zur Invertierten Index- und Vektorindex-Funktionalität unterstützt MyScale auch fusionierte Suchen, um Nutzern dabei zu helfen, Vektoren und Volltextsuchen optimal zu kombinieren und die gewünschten Ergebnisse zu erzielen. Weitere Details finden Sie in der Dokumentation: Volltextsuche

# Funktionen oder Fixes aus anderen Versionen

# Standardmäßig aktivierte experimentelle Funktionen

# Konfiguration der Tabellen-Engine

  • allow_experimental_database_replicated

# Sitzungskonfiguration

  • allow_experimental_object_type

# Geänderte Standardkonfigurationen

Für eine detaillierte Erklärung der Konfigurationsparameter lesen Sie bitte die offizielle ClickHouse-Dokumentation.

# Serverkonfiguration

  • max_connections: 1024 -> 4096
  • max_concurrent_queries: 0 (unbegrenzt) -> 1000
  • disable_internal_dns_cache: 0 -> 1
  • max_table_size_to_drop: 50000000000 -> 1000000000000
  • uncompressed_cache_size: 0 (deaktiviert) -> DYNAMIC_SETTING (dynamisch an den Serverspeicher angepasst)
  • mark_cache_size: 0 (deaktiviert) -> DYNAMIC_SETTING (dynamisch an den Serverspeicher angepasst)

# Konfiguration der Tabellen-Engine

  • index_granularity: 8192 -> 128
  • merge_max_block_size: 8192 -> 256
  • max_bytes_to_merge_at_max_space_in_pool: 161061273600 -> 5368709120
  • number_of_free_entries_in_pool_to_lower_max_size_of_merge: 8 -> 2
  • number_of_free_entries_in_pool_to_execute_mutation: 20 -> 2
  • old_parts_lifetime: 480 -> 5
  • simple_merge_selector_base: 5 -> 1.2

# Sitzungskonfiguration

  • min_insert_block_size_bytes: 268402944 -> 33554432
  • max_query_size: 262144 -> 262144000
  • connect_timeout_with_failover_ms: 50 -> 5000
  • use_uncompressed_cache: 0 -> 1
  • distributed_directory_monitor_batch_inserts: 0 -> 1
  • distributed_product_mode: DENY (deaktiviert) -> GLOBAL
  • send_progress_in_http_headers: 0 -> 1
  • join_use_nulls: 0 -> 1
  • prefer_global_in_and_join: 0 -> 1
  • max_result_rows: 0 (unbegrenzt) -> 10000
  • default_table_engine: None (deaktiviert) -> ReplicatedMergeTree
  • mutations_sync: 0 -> 1
  • allow_experimental_database_replicated: 0 -> 1
  • database_replicated_allow_replicated_engine_arguments: 1 -> 0
  • async_insert: 0 -> 1
  • allow_experimental_object_type: 0 -> 1
  • background_pool_size: 16 -> 4
  • default_database_engine: Atomic -> Replicated

# Hinzugefügte Konfigurationen

# Serverkonfiguration

  • primary_key_cache_size
    • Begrenzung der Größe des Primärschlüssel-Caches
  • vector_index_cache_size
    • Begrenzung der Größe des Vektorindex-Caches im Cache
  • vector_index_cache_size_ratio_of_memory
    • Speicherbegrenzung für den Vektorindex-Cache (als Verhältnis des Gesamtspeichers)
  • vector_index_build_size_ratio_of_memory
    • Speicherbegrenzung für den Aufbau des Vektorindex (als Verhältnis des Gesamtspeichers)
  • enable_brute_force_vector_search
    • Aktivieren der Brute-Force-Suche für die Vektorsuche

# Konfiguration der Tabellen-Engine

  • enable_primary_key_cache
    • Aktivieren des Primärschlüssel-Caches für die Vektorsuche
  • enable_decouple_vector_index
    • Aktivieren der Verwendung des alten Vektorindex während des Zusammenführens von Teilen und der Vektorsuche.
  • enable_rebuild_for_decouple
    • Aktivieren des Neuaufbaus des neuen Vektorindex auf entkoppelten Teilen.
  • min_rows_to_build_vector_index
    • Mindestanzahl von Zeilen zum Aufbau des Vektorindex
  • min_bytes_to_build_vector_index
    • Mindestanzahl von Bytes zum Aufbau des Vektorindex
  • float_vector_search_metric_type
    • Standardmetriktyp für die Vektorsuche mit Float-Vektoren
  • binary_vector_search_metric_type
    • Standardmetriktyp für die Vektorsuche mit binären Vektoren
  • max_rows_for_slow_mode_single_vector_index_build
    • Maximale Anzahl von Zeilen für den langsammodus Vektorindexaufbau für Datenteile
  • default_mstg_disk_mode
    • Verwendeter Standard-Disk-Modus
  • vector_index_parameter_check
    • Aktivieren der Parameterüberprüfung für den Vektorindex
  • vidx_zk_update_period
    • Zeitintervall für die Hintergrundaktualisierung der Vektorindex-Informationen auf ZooKeeper
  • vector_index_cache_recheck_interval_seconds
    • Zeitintervall für die Durchführung der Hintergrundoperation zum Löschen des veralteten Vektorindex-Caches.
  • build_vector_index_on_random_single_replica
    • Zufälliger Aufbau des Vektorindex auf verschiedenen Replikaten

# Sitzungskonfiguration

  • database_replicated_always_execute_with_on_cluster
    • Erstellen oder Löschen von replizierten Datenbanken immer auf allen Replikaten des Clusters durchführen
  • database_replicated_default_cluster_name
    • Name des Clusters für das Erstellen oder Löschen von replizierten Datenbanken
  • database_replicated_allow_explicit_arguments
    • Explizite Argumente für das Erstellen von replizierten Datenbanken zulassen
  • database_replicated_always_convert_table_to_replicated
    • Tabellen in der Datenbank immer in replizierte Tabellen mit dem Replicated-Engine umwandeln
  • database_replicated_default_zk_path_prefix
    • Präfix, der verwendet werden soll, wenn der zk_path des replizierten Datenbank-Engine beim Erstellen einer Datenbank ausgefüllt wird. Wenn leer, wird zk_path nicht automatisch festgelegt.
  • optimize_move_to_prewhere_for_vector_search
    • Spezielle PREWHERE-Optimierung für die Vektorsuche in SELECT-Abfragen aktivieren oder deaktivieren, bei der alle möglichen WHERE-Bedingungen nach PREWHERE verschoben werden.
  • two_stage_search_option
    • Zwei-Stufen-Suche für die Vektorsuche aktivieren
  • enable_brute_force_vector_search
    • Aktivieren der Brute-Force-Suche für die Vektorsuche
  • max_build_index_train_block_size
    • Maximale Blockgröße (in Bytes) für den Aufbau des Index-Trainings
  • max_build_binary_vector_index_train_block_size
    • Maximale Blockgröße (in Bytes) für den Aufbau des Index-Trainings für binäre Vektoren
  • max_build_index_add_block_size
    • Maximale Blockgröße (in Bytes) für das Hinzufügen von Vektoren in einer Runde des Indexaufbaus

# Andere Konfigurationen

  • vector_index_event_log
    • Konfiguration für die Ereignistabelle des Vektorindex
  • vector_index_cache_path
    • Verzeichnis für den Vektorindex-Cache
  • tantivy_index_cache_path
    • Verzeichnis für den Cache des Volltextsuche-Vektors
Last Updated: Fri Nov 01 2024 09:02:06 GMT+0000