Tous les produits
Search
Centre de documentation

ApsaraDB for ClickHouse:Notes de version de l'édition compatible communautaire 26.3

Dernière mise à jour :Aug 11, 2026

Cette rubrique décrit les principales modifications apportées à Alibaba Cloud ClickHouse édition compatible communautaire 26.3 LTS, notamment les nouvelles fonctionnalités, les optimisations des performances et les améliorations.

Vue d'ensemble

L'édition compatible communautaire d'Alibaba Cloud ClickHouse publie la nouvelle version à long terme (LTS) 26.3. En tant que version annuelle majeure succédant à la 25.3 LTS, la version 26.3 se concentre sur un data lake unifié pour les données par lots et en continu, un index inversé natif, la stabilité des écritures à forte concurrence, l'optimisation des requêtes complexes et l'extensibilité de l'écosystème ouvert.

Points forts

Catégorie

Principales améliorations

Valeur métier

Écosystème data lake

Prise en charge native d'Apache Paimon et montage automatique de DataLakeCatalog

Requêtes lakehouse transparentes avec accès instantané pour les scénarios d'ingestion Flink CDC

Index inversé natif

Disponibilité générale (GA) de l'index inversé avec une amélioration de 7 à 10 fois pour la recherche dans les journaux et le texte

Remplacez les moteurs de recherche externes pour réduire les coûts de stockage et d'O&M

Accélération du data lake et d'OSS

Cache SLRU du pied de page Parquet et préchargement des métadonnées Iceberg

Accélération de 2 à 5 fois pour les requêtes intensives en E/S et les analyses de tables externes OSS

Optimisation des requêtes complexes

CTE matérialisée et réordonnancement intelligent des JOIN pour tous les types de JOIN

Amélioration significative des rapports complexes et de l'analyse multidimensionnelle

Données haute dimension et TTL des tables larges

Map partitionnée avec une amélioration de 2 à 49 fois des recherches ponctuelles et fusion verticale TTL

Réduction de la latence des requêtes ponctuelles et diminution de la consommation mémoire pour le nettoyage en arrière-plan

Écosystème ouvert

Compatibilité avec 31 dialectes SQL

Migrez les charges de travail SQL multi-moteurs sans modifier le code

Écosystème data lake : Apache Paimon et Catalog unifié

De la version 25.3 à la 26.3 LTS, les capacités d'analytique des data lakes de ClickHouse ont été considérablement améliorées :

  • Prise en charge native d'Apache Paimon : La version 26.3 LTS fournit la fonction de table paimon native et le moteur de table Paimon (y compris la requête parallèle sur cluster via paimonCluster). Analysez efficacement en lecture seule les tables Paimon stockées dans OSS, S3 ou HDFS, ce qui est idéal pour les scénarios d'ingestion de data lake Flink CDC.

  • Montage automatique de DataLakeCatalog : Les métastores externes tels que Hive Metastore, AWS Glue et Alibaba Cloud DLF peuvent être montés directement en tant que bases de données ClickHouse. Le moteur détecte automatiquement les tables Iceberg, Paimon, Delta Lake et Hudi dans le catalog sans création manuelle de table.

  • Accélération des requêtes de data lake multidimensionnelles :

    • Cache SLRU du pied de page Parquet : Activé par défaut avec use_parquet_metadata_cache = 1. Réduisez les demandes de lecture E/S jusqu'à 50 % pour les requêtes répétées sur les mêmes fichiers Parquet.

    • Préchargement asynchrone des métadonnées Iceberg : Le paramètre iceberg_metadata_async_prefetch_period_ms maintient les métadonnées locales à jour en arrière-plan, éliminant ainsi les goulots d'étranglement du catalog distant.

    • Extraction incrémentielle S3Queue : Le mode ordonné utilise désormais la sémantique StartAfter pour réduire la fréquence de ListObjects, abaissant ainsi les coûts et la latence de l'API OSS.

Recherche en texte intégral : Disponibilité générale (GA) de l'index inversé natif

Les capacités natives d'index inversé et de recherche en texte intégral de la version 26.3 LTS sont désormais prêtes pour la production (GA).

  • Amélioration significative des performances : Dans les scénarios de correspondance floue de texte et de recherche par mot-clé, les performances des requêtes à froid s'améliorent de 7 à 10 fois avec l'activation de l'index inversé. Dans le benchmark de requête de journal GitHub Events, la latence des recherches complexes passe de 193 secondes à 0,42 seconde.

  • Compatibilité SQL transparente : Aucun plugin de recherche externe Elasticsearch ou tiers n'est requis. Créez un index en utilisant INDEX idx_text content TYPE inverted pour accélérer automatiquement les requêtes HAS(), LIKE / ILIKE et l'extraction de champs JSON.

  • Faibles coûts de stockage et de calcul : Basée sur la structure d'index inversé en colonnes de ClickHouse, la taille de l'index est bien inférieure à celle des moteurs de recherche traditionnels, ce qui réduit considérablement les coûts de stockage pour les scénarios d'analytique des journaux, des traces et du texte.

Calcul et optimiseur

CTE matérialisée

La version 26.3 LTS introduit la syntaxe CTE matérialisée. En utilisant le mot-clé MATERIALIZED, ClickHouse stocke les résultats CTE dans une table temporaire en mémoire pour éviter les calculs redondants et améliorer l'efficacité d'exécution des requêtes SQL complexes de reporting et d'analyse multidimensionnelle.

Exemple :

SET enable_materialized_cte = 1;

WITH top_users AS MATERIALIZED (
    SELECT user_id, count() AS cnt
    FROM events
    GROUP BY user_id
    ORDER BY cnt DESC
    LIMIT 1000
)
SELECT *
FROM top_users
INNER JOIN (SELECT user_id FROM top_users WHERE ...) ON ...;

Réordonnancement intelligent des JOIN pour tous les types de JOIN

L'optimiseur basé sur les coûts (CBO) de la version 26.3 LTS prend désormais en charge l'inversion automatique des côtés Build/Probe pour LEFT ANTI JOIN, SEMI JOIN et FULL JOIN, en plus des INNER JOIN et LEFT/RIGHT JOIN standards. L'optimiseur construit automatiquement la table de hachage à partir du côté le plus petit en fonction des statistiques de la table, empêchant ainsi les erreurs de dépassement de mémoire (OOM) causées par un ordre SQL manuel inapproprié.

Moteur de stockage et types de données

Map partitionnée

Pour les scénarios où le type Map stocke des tags de profil utilisateur et des fonctionnalités dynamiques, la version 26.3 LTS introduit une disposition de sérialisation physique compartimentée. Les recherches par clé unique s'améliorent de 2 à 49 fois car les données au sein de la Map sont compartimentées par hachage selon la clé.

Exemple :

CREATE TABLE user_profiles (
    id UInt64,
    attributes Map(String, UInt64)
) ENGINE = MergeTree
ORDER BY id
SETTINGS map_serialization_version = 'with_buckets', max_buckets_in_map = 32;

Nettoyage TTL des tables larges : Fusion verticale

La version 26.3 LTS introduit un algorithme de fusion verticale pour les opérations TTL DELETE. La fusion privilégie le filtrage des clés primaires et des colonnes TTL sans lire les colonnes larges non pertinentes, ce qui réduit considérablement les frais généraux d'E/S et de mémoire lors du nettoyage des données en arrière-plan.

Codec de compression flottante sans perte adaptatif (ALP)

Un nouveau codec de compression flottante sans perte CODEC(ALP, ZSTD) est disponible. ALP (Adaptive Lossless floating-Point) est optimisé pour les données Float32 et Float64 dans les scénarios de surveillance industrielle et de métriques de séries temporelles, offrant de meilleurs taux de compression et une vitesse de décompression que l'encodage Gorilla classique.

Écosystème ouvert : Compatibilité des dialectes SQL multi-moteurs (Polyglot)

En intégrant la bibliothèque d'analyse Polyglot open source, la version 26.3 LTS prend nativement en charge 31 dialectes SQL de bases de données externes, y compris Snowflake, BigQuery, PostgreSQL, Spark, Presto et DuckDB. Il vous suffit de configurer les paramètres suivants :

SET dialect = 'polyglot', polyglot_dialect = 'snowflake';

Vous pouvez ensuite réutiliser vos charges de travail SQL existantes.

Optimisations clés des performances

Exécution des requêtes et optimiseur

  • Le cache des conditions de requête, la compilation JIT des expressions et les filtres d'exécution JOIN sont activés par défaut pour réduire les analyses répétées et la surcharge des JOIN de grandes tables.

  • RIGHT JOIN et FULL JOIN utilisent ConcurrentHashJoin, avec une amélioration des performances allant jusqu'à 2 fois dans certains scénarios. Une nouvelle optimisation de l'ordre des JOIN réorganise automatiquement les JOIN multi-tables en fonction des statistiques.

  • L'élagage des index de clés primaires et de clés de partition est étendu : les clés primaires prennent en charge des expressions déterministes arbitraires pour ignorer les données, et les clés de partition enveloppées dans des chaînes de fonctions déterministes peuvent toujours être élaguées.

  • Les requêtes ORDER BY ... LIMIT N peuvent réduire considérablement le nombre de lignes analysées grâce aux index skip et aux filtres de seuil dynamique.

Moteur de stockage et saut de données

  • Le lecteur Parquet v3 est activé par défaut avec la poussée de filtre au niveau de la page et la prise en charge de PREWHERE. Les lectures de data lake ajustent automatiquement les pipelines en fonction des threads de traitement, atteignant une amélioration d'environ 40 fois sur les machines multicœurs.

  • Le filtrage par index skip en flux pendant les lectures est activé par défaut. Les index de texte prennent en charge davantage de formes de prédicats et peuvent être utilisés dans PREWHERE.

  • Dans les scénarios d'élagage de partitions intensif, les requêtes SELECT sur des tables comportant plus de 10 000 parties sont jusqu'à 8 fois plus rapides. Les tables Iceberg prennent en charge l'optimisation PREWHERE et le préchargement asynchrone des métadonnées.

Exécution distribuée et parallèle

  • INSERT SELECT distribué parallèle est activé par défaut et exécuté indépendamment sur chaque shard. Les sous-requêtes IN distribuées ajoutent automatiquement DISTINCT pour réduire le transfert de données temporaires entre shards.

  • L'analyse d'index distribuée prend en charge SharedMergeTree et les scénarios de stockage partagé. Les réplicas parallèles prennent en charge la matérialisation paresseuse avec une meilleure répartition de la charge pour réduire la latence de longue traîne.

Fonctions et index

  • LIKE et les expressions régulières sont automatiquement réécrits vers des implémentations plus efficaces et activés par défaut. StringZilla accélère la recherche de chaînes sensible à la casse, et la distribution dynamique SIMD accélère les fonctions logiques et la conversion des colonnes booléennes.

Mémoire, observabilité et réseau

  • Les caches de marques, non compressés et de pages utilisent des arènes jemalloc indépendantes pour réduire la fragmentation. Les pages sales de jemalloc sont nettoyées dans des threads indépendants. Les tables de journaux système ajoutent des index minmax et bloom_filter pour accélérer le dépannage.

  • La sérialisation et la compression des blocs dans les requêtes distribuées peuvent être déléguées aux threads de pipeline pour améliorer l'efficacité du transfert de données volumineuses.

Benchmark de performances : Comparaison ClickBench

Sur la base du benchmark officiel de la version ClickBench (perspective des requêtes à froid), la version 26.3 LTS réalise une amélioration continue des performances par rapport à la version LTS précédente 25.3 :

Métrique

Amélioration de la 26.3 LTS par rapport à la 25.3 LTS

Latence globale des requêtes à froid

Réduction de 8 à 15 % du temps total

Analyse du data lake et du stockage

Accélération de 2 à 5 fois pour les requêtes intensives en E/S et les analyses de tables externes OSS

Compaction TTL des tables larges

Utilisation maximale de la mémoire réduite de plus de 40 %

Recherche de texte et de journaux

La latence des recherches complexes est réduite de 193 secondes à 0,42 seconde avec l'index inversé

Recherche ponctuelle Map haute dimension

Amélioration de 2 à 49 fois de la recherche par clé unique avec la Map partitionnée

Fonctionnalités utilitaires

La version 26.3 LTS comprend également un ensemble de fonctionnalités qui améliorent l'expérience de développement et d'O&M :

  • Tri naturel (naturalSortKey) : Trie les chaînes contenant des nombres dans un ordre intuitif pour l'homme. Par exemple, file2.txt est correctement trié avant file10.txt.

  • Sortie EXPLAIN sous forme d'arbre : Exécutez EXPLAIN pretty=1, compact=1 pour obtenir un arbre de plan d'exécution visuel et bien structuré.

  • Tolérance aux pannes des shards indisponibles : Les paramètres max_skip_unavailable_shards_num et max_skip_unavailable_shards_ratio fournissent un contrôle limité sur le ratio de nœuds en panne pouvant être ignorés lors des requêtes sur de grandes tables dans un cluster.

Recommandations de mise à niveau

Préparation avant la mise à niveau

  1. Clonage ou vérification de l'environnement de test : Déployez d'abord la nouvelle version dans un environnement cloné ou de test pour évaluer l'impact des changements de version sur les configurations et les requêtes existantes.

  2. Vérifiez la compatibilité des dépendances : Confirmez la compatibilité des pilotes clients et des outils tiers avec la nouvelle version.

Remarques importantes

  • Validation des fonctionnalités expérimentales : Les CTE matérialisées et les dialectes Polyglot sont marqués comme expérimentaux dans cette version. Nous vous recommandons de valider ces fonctionnalités dans un cluster de test avant de les utiliser en production.

  • Tests de régression des performances : Après la mise à niveau, comparez le temps d'exécution des requêtes clés pour vous assurer que les optimisations telles que le cache Parquet, l'index inversé et le réordonnancement des JOIN prennent effet.

  • Ajustement de la surveillance et des alertes : Ajustez les seuils de surveillance en fonction des nouvelles métriques et des modifications.

Résumé

ClickHouse 26.3 LTS est une version à la fois large et profonde :

  • Au niveau du data lake et de l'écosystème ouvert, la prise en charge native de Paimon et la compatibilité avec 31 dialectes SQL comblent le fossé entre l'intégration lakehouse et la réutilisation multi-moteurs.

  • Au niveau des requêtes et de l'analytique, les index inversés GA, les CTE matérialisées, le réordonnancement des JOIN et les Maps partitionnées étendent considérablement les capacités de ClickHouse dans la recherche de journaux, l'analyse complexe et les recherches ponctuelles haute dimension.

  • Au niveau de la stabilité et des coûts, la fusion verticale TTL et le codec ALP réduisent la complexité opérationnelle du nettoyage des données et de la compression du stockage.

L'équipe Alibaba Cloud ClickHouse a terminé l'adaptation cloud et la vérification de compatibilité complète pour la version communautaire 26.3 LTS. Créez rapidement une instance 26.3 LTS ou mettez à niveau votre instance existante vers la dernière version dans la console Alibaba Cloud ClickHouse pour bénéficier d'une analytique en temps réel plus efficace et stable.