Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions concepts/best-practices/index.mdx
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
slug: /best-practices
keywords: ['Cloud', 'Primary key', 'Ordering key', 'Materialized Views', 'Best Practices', 'Bulk Inserts', 'Asynchronous Inserts', 'Avoid Mutations', 'Avoid nullable Columns', 'Avoid Optimize Final', 'Partitioning Key']
title: 'Overview'
title: Best Practices in ClickHouse
hide_title: true
description: 'Landing page for Best Practices section in ClickHouse'
doc_type: 'landing-page'
---

import TableOfContents from '/snippets/_table_of_contents.mdx';

# Best Practices in ClickHouse {#best-practices-in-clickhouse}

This section provides the best practices you will want to follow to get the most out of ClickHouse.

<TableOfContents/>
4 changes: 1 addition & 3 deletions concepts/features/backup-restore/azure-blob-storage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
description: 'Details backup/restore to or from an Azure Blob Storage endpoint'
sidebarTitle: 'AzureBlobStorage'
slug: /operations/backup/azure
title: 'Backup and restore to/from Azure Blob Storage'
title: BACKUP/RESTORE to or from Azure Blob Storage
doc_type: 'guide'
---

import Syntax from '/snippets/_syntax.mdx';

# BACKUP/RESTORE to or from Azure Blob Storage {#backup-to-azure-blob-storage}

## Syntax {#syntax}

<Syntax/>
Expand Down
4 changes: 1 addition & 3 deletions concepts/features/backup-restore/local-disk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@
description: 'Details backup/restore to or from a local disk'
sidebarTitle: 'Local disk / S3 disk'
slug: /operations/backup/disk
title: 'Backup and restore in ClickHouse'
title: BACKUP / RESTORE to disk
doc_type: 'guide'
---

import ExampleSetup from '/snippets/_example_setup.mdx';
import Syntax from '/snippets/_syntax.mdx';

# BACKUP / RESTORE to disk {#backup-to-a-local-disk}

## Syntax {#syntax}

<Syntax/>
Expand Down
4 changes: 1 addition & 3 deletions concepts/features/backup-restore/s3-endpoint.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
description: 'Overview of ClickHouse backup and restore'
sidebarTitle: 'S3 endpoint'
slug: /operations/backup/s3_endpoint
title: 'Backup and restore to/from an S3 endpoint'
title: BACKUP / RESTORE to or from an S3 endpoint
doc_type: 'guide'
---

import Syntax from '/snippets/_syntax.mdx';

# BACKUP / RESTORE to or from an S3 endpoint {#backup-to-a-local-disk}

This article covers backing up or restoring backups to/from an S3 bucket
via an S3 endpoint.

Expand Down
4 changes: 1 addition & 3 deletions concepts/features/dictionaries/index.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
---
slug: /dictionary
title: 'Overview'
title: Dictionary
keywords: ['dictionary', 'dictionaries']
description: 'A dictionary provides a key-value representation of data for fast lookups.'
doc_type: 'guide'
---

import { Image } from "/snippets/components/Image.jsx";

# Dictionary

A dictionary in ClickHouse provides an in-memory [key-value](https://en.wikipedia.org/wiki/Key%E2%80%93value_database) representation of data from various [internal and external sources](/reference/statements/create/dictionary/sources/overview#dictionary-sources), optimizing for super-low latency lookup queries.

Dictionaries are useful for:
Expand Down
4 changes: 1 addition & 3 deletions concepts/features/interfaces/http.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ description: 'Documentation for the HTTP interface in ClickHouse, which provides
API access to ClickHouse from any platform and programming language'
sidebarTitle: 'HTTP interface'
slug: /interfaces/http
title: 'HTTP interface'
title: HTTP Interface
doc_type: 'reference'
---

import { Image } from "/snippets/components/Image.jsx";

# HTTP Interface

## Prerequisites {#prerequisites}

For the examples in this article you will need:
Expand Down
4 changes: 1 addition & 3 deletions concepts/features/interfaces/mysql.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ description: 'Documentation for the MySQL protocol interface in ClickHouse, allo
MySQL clients to connect to ClickHouse'
sidebarTitle: 'MySQL interface'
slug: /interfaces/mysql
title: 'MySQL interface'
title: MySQL Interface
doc_type: 'guide'
---

import { Image } from "/snippets/components/Image.jsx";

# MySQL Interface

ClickHouse supports the MySQL wire protocol. This allows certain clients that don't have native ClickHouse connectors leverage the MySQL protocol instead, and it has been validated with the following BI tools:

- [Looker Studio](/integrations/connectors/data-visualization/looker-studio-and-clickhouse)
Expand Down
4 changes: 1 addition & 3 deletions concepts/features/interfaces/postgresql.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
description: 'Documentation for the PostgreSQL wire protocol interface in ClickHouse'
sidebarTitle: 'PostgreSQL interface'
slug: /interfaces/postgresql
title: 'PostgreSQL interface'
title: PostgreSQL Interface
doc_type: 'reference'
---

import CloudNotSupportedBadge from "/snippets/components/CloudNotSupportedBadge/CloudNotSupportedBadge.jsx";

# PostgreSQL Interface

<CloudNotSupportedBadge/>

<Tip>
Expand Down
4 changes: 1 addition & 3 deletions concepts/features/interfaces/ssh.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@ description: 'Documentation for the SSH interface in ClickHouse'
keywords: ['client', 'ssh', 'putty']
sidebarTitle: 'SSH interface'
slug: /interfaces/ssh
title: 'SSH interface'
title: SSH interface with PTY
doc_type: 'reference'
---

import ExperimentalBadge from "/snippets/components/ExperimentalBadge/ExperimentalBadge.jsx";
import CloudNotSupportedBadge from "/snippets/components/CloudNotSupportedBadge/CloudNotSupportedBadge.jsx";

# SSH interface with PTY

<ExperimentalBadge/>
<CloudNotSupportedBadge/>

Expand Down
4 changes: 1 addition & 3 deletions concepts/features/operations/delete/ttl.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@ slug: /guides/developer/ttl
sidebarTitle: 'TTL (Time to Live)'
keywords: ['ttl', 'time to live', 'clickhouse', 'old', 'data']
description: 'TTL (time-to-live) refers to the capability of having rows or columns moved, deleted, or rolled up after a certain interval of time has passed.'
title: 'Manage data with TTL (Time-to-live)'
title: Manage data with TTL (time-to-live)
show_related_blogs: true
doc_type: 'guide'
---

import CloudNotSupportedBadge from "/snippets/components/CloudNotSupportedBadge/CloudNotSupportedBadge.jsx";

# Manage data with TTL (time-to-live)

## Overview of TTL {#overview-of-ttl}

TTL (time-to-live) refers to the capability of having rows or columns moved, deleted, or rolled up after a certain interval of time has passed. While the expression "time-to-live" sounds like it only applies to deleting old data, TTL has several use cases:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
slug: /guides/sre/configuring-tls-acme-client
sidebarTitle: 'Configuring automatic TLS provisioning via ACME'
title: 'Configuring ACME client'
title: Configuring automatic TLS provisioning via ACME
description: 'This guide provides simple and minimal settings to configure ClickHouse to use OpenSSL certificates to validate connections.'
keywords: ['ACME configuration', 'TLS setup', 'OpenSSL certificates', 'secure connections', 'SRE guide', 'Let`s Encrypt']
doc_type: 'guide'
Expand All @@ -12,8 +12,6 @@ import SelfManaged from '/snippets/_self_managed_only_automated.mdx';
import { Image } from "/snippets/components/Image.jsx";
import ExperimentalBadge from "/snippets/components/ExperimentalBadge/ExperimentalBadge.jsx";

# Configuring automatic TLS provisioning via ACME

<ExperimentalBadge/>
<SelfManaged />

Expand Down
4 changes: 1 addition & 3 deletions get-started/migrate/bigquery/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'BigQuery vs ClickHouse Cloud'
title: Comparing ClickHouse Cloud and BigQuery
slug: /migrations/bigquery/biquery-vs-clickhouse-cloud
description: 'How BigQuery differs from ClickHouse Cloud'
keywords: ['BigQuery']
Expand All @@ -10,8 +10,6 @@ doc_type: 'guide'

import { Image } from "/snippets/components/Image.jsx";

# Comparing ClickHouse Cloud and BigQuery

## Resource organization {#resource-organization}

The way resources are organized in ClickHouse Cloud is similar to [BigQuery's resource hierarchy](https://cloud.google.com/bigquery/docs/resource-hierarchy). We describe specific differences below based on the following diagram showing the ClickHouse Cloud resource hierarchy:
Expand Down
4 changes: 1 addition & 3 deletions get-started/migrate/oss-to-cloud/clickhouse-to-cloud.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebarTitle: 'Using remoteSecure'
slug: /cloud/migration/clickhouse-to-cloud
title: 'Migrating between self-managed ClickHouse and ClickHouse Cloud'
title: Migrating between self-managed ClickHouse and ClickHouse Cloud using remoteSecure
description: 'Page describing how to migrate between self-managed ClickHouse and ClickHouse Cloud'
doc_type: 'guide'
keywords: ['migration', 'ClickHouse Cloud', 'OSS', 'Migrate self-managed to Cloud']
Expand All @@ -12,8 +12,6 @@ import AddARemoteSystem from '/snippets/_add_remote_ip_access_list_detail.mdx';

import CompatibilityNote from '/snippets/compatibility.mdx';

# Migrating between self-managed ClickHouse and ClickHouse Cloud using remoteSecure

<Image img="/images/integrations/migration/self-managed-01.png" size='lg' alt='Migrating Self-managed ClickHouse'/>

This guide shows you how to migrate from a self-managed ClickHouse server to ClickHouse Cloud, and also how to migrate between ClickHouse Cloud services.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'Using object storage'
title: Move data from cloud object storage to ClickHouse Cloud
description: 'Moving data from object storage to ClickHouse Cloud'
keywords: ['object storage', 's3', 'azure blob', 'gcs', 'migration']
slug: /integrations/migration/object-storage-to-clickhouse
Expand All @@ -8,8 +8,6 @@ doc_type: 'guide'

import { Image } from "/snippets/components/Image.jsx";

# Move data from cloud object storage to ClickHouse Cloud

<Image img="/images/integrations/migration/object-storage-01.png" size='md' alt='Migrating Self-managed ClickHouse'/>

If you use a Cloud Object Storage as a data lake and wish to import this data into ClickHouse Cloud,
Expand Down
4 changes: 1 addition & 3 deletions get-started/migrate/snowflake/migration-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@ sidebarTitle: 'Migration guide'
slug: /migrations/snowflake
description: 'Migrating from Snowflake to ClickHouse'
keywords: ['Snowflake']
title: 'Migrating from Snowflake to ClickHouse'
title: Migrate from Snowflake to ClickHouse
show_related_blogs: false
doc_type: 'guide'
---

import { Image } from "/snippets/components/Image.jsx";

# Migrate from Snowflake to ClickHouse

> This guide shows you how to migrate data from Snowflake to ClickHouse.

Migrating data between Snowflake and ClickHouse requires the use of an object store,
Expand Down
4 changes: 1 addition & 3 deletions get-started/migrate/snowflake/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@ sidebarTitle: 'Overview'
slug: /migrations/snowflake-overview
description: 'Migrating from Snowflake to ClickHouse'
keywords: ['Snowflake']
title: 'Migrate from Snowflake to ClickHouse'
title: Snowflake to ClickHouse migration
show_related_blogs: true
doc_type: 'guide'
---

import { Image } from "/snippets/components/Image.jsx";

# Snowflake to ClickHouse migration

> This document provides an introduction to migrating data from Snowflake to ClickHouse.

Snowflake is a cloud data warehouse primarily focused on migrating legacy on-premise
Expand Down
4 changes: 1 addition & 3 deletions guides/clickhouse/data-formats/json/schema.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'Designing JSON schema'
title: Designing your schema
slug: /integrations/data-formats/json/schema
description: 'How to optimally design JSON schemas'
keywords: ['json', 'clickhouse', 'inserting', 'loading', 'formats', 'schema', 'structured', 'semi-structured']
Expand All @@ -9,8 +9,6 @@ doc_type: 'guide'

import { Image } from "/snippets/components/Image.jsx";

# Designing your schema

While [schema inference](/guides/clickhouse/data-formats/json/inference) can be used to establish an initial schema for JSON data and query JSON data files in place, e.g., in S3, you should aim to establish an optimized versioned schema for your data. We discuss the recommended approach for modeling JSON structures below.

## Static vs dynamic JSON {#static-vs-dynamic-json}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@ sidebarTitle: 'Stored procedures & query parameters'
keywords: ['clickhouse', 'stored procedures', 'prepared statements', 'query parameters', 'UDF', 'parameterized views']
description: 'Guide on stored procedures, prepared statements, and query parameters in ClickHouse'
slug: /guides/developer/stored-procedures-and-prepared-statements
title: 'Stored procedures and query parameters'
title: Stored procedures and query parameters in ClickHouse
doc_type: 'guide'
---

# Stored procedures and query parameters in ClickHouse

If you're coming from a traditional relational database, you may be looking for stored procedures and prepared statements in ClickHouse.
This guide explains ClickHouse's approach to these concepts and provides recommended alternatives.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
---
slug: '/examples/aggregate-function-combinators/avgMergeState'
title: 'avgMergeState'
title: avgMergeState
description: 'Example of using the avgMergeState combinator'
keywords: ['avg', 'MergeState', 'combinator', 'examples', 'avgMergeState']
sidebarTitle: 'avgMergeState'
doc_type: 'reference'
---

# avgMergeState {#avgMergeState}

## Description {#description}

The [`MergeState`](/reference/functions/aggregate-functions/combinators#-state) combinator
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
slug: /optimize/query-optimization
sidebarTitle: 'Query optimization'
title: 'Guide for query optimization'
title: A simple guide for query optimization
description: 'A simple guide for query optimization that describe common path to improve query performance'
doc_type: 'guide'
keywords: ['query optimization', 'performance', 'best practices', 'query tuning', 'efficiency']
---

import { Image } from "/snippets/components/Image.jsx";

# A simple guide for query optimization

This section aims to illustrate through common scenarios how to use different performance and optimization techniques, such as [analyzer](/guides/clickhouse/performance-and-monitoring/analyzer), [query profiling](/concepts/features/performance/troubleshoot/sampling-query-profiler) or [avoid nullable Columns](/concepts/best-practices/avoidnullablecolumns), in order to improve your ClickHouse query performances.

## Understand query performance {#understand-query-performance}
Expand Down
4 changes: 1 addition & 3 deletions guides/use-cases/ai-ml/MCP/ai-agent-libraries/copilotkit.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/ai-agent-libraries/copilotkit
sidebarTitle: 'Integrate CopilotKit'
title: 'How to build an AI Agent with CopilotKit and the ClickHouse MCP server'
title: Run the application
description: 'Learn how to build an agentic application using data stored in ClickHouse with ClickHouse MCP and CopilotKit'
keywords: ['ClickHouse', 'MCP', 'copilotkit']
show_related_blogs: true
Expand Down Expand Up @@ -80,8 +80,6 @@ own ClickHouse cluster by setting the following environment variables:
- `CLICKHOUSE_PASSWORD`
- `CLICKHOUSE_SECURE`

# Run the application {#run-the-application}

Run `npm run dev` to start the development server.

You can test the Agent using prompt like:
Expand Down
4 changes: 1 addition & 3 deletions guides/use-cases/ai-ml/MCP/anythingllm.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/anythingllm
sidebarTitle: 'Integrate AnythingLLM'
title: 'Set up ClickHouse MCP server with AnythingLLM and ClickHouse Cloud'
title: Using ClickHouse MCP server with AnythingLLM
description: 'This guide explains how to set up AnythingLLM with a ClickHouse MCP server using Docker.'
keywords: ['AI', 'AnythingLLM', 'MCP']
show_related_blogs: true
Expand All @@ -10,8 +10,6 @@ doc_type: 'guide'

import { Image } from "/snippets/components/Image.jsx";

# Using ClickHouse MCP server with AnythingLLM

> This guide explains how to set up [AnythingLLM](https://anythingllm.com/) with a ClickHouse MCP server using Docker
> and connect it to the ClickHouse example datasets.

Expand Down
4 changes: 1 addition & 3 deletions guides/use-cases/ai-ml/MCP/claude-desktop.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/claude-desktop
sidebarTitle: 'Integrate Claude Desktop'
title: 'Set up ClickHouse MCP server with Claude Desktop'
title: Using ClickHouse MCP server with Claude Desktop
description: 'This guide explains how to set up Claude Desktop with a ClickHouse MCP server.'
keywords: ['AI', 'Librechat', 'MCP']
show_related_blogs: true
Expand All @@ -10,8 +10,6 @@ doc_type: 'guide'

import { Image } from "/snippets/components/Image.jsx";

# Using ClickHouse MCP server with Claude Desktop

> This guide explains how to set up Claude Desktop with a ClickHouse MCP server using uv
> and connect it to the ClickHouse example datasets.

Expand Down
Loading