🕷️ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 89 (from laksa067)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

📄
INDEXABLE
CRAWLED
23 hours ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://clickhouse.com/docs/intro
Last Crawled2026-04-06 00:30:58 (23 hours ago)
First Indexed2025-02-21 00:52:23 (1 year ago)
HTTP Status Code200
Meta TitleWhat is ClickHouse? | ClickHouse Docs
Meta DescriptionClickHouse® is a column-oriented SQL database management system (DBMS) for online analytical processing (OLAP). It is available as both an open-source software and a cloud offering.
Meta Canonicalnull
Boilerpipe Text
ClickHouse® is a high-performance, column-oriented SQL database management system (DBMS) for online analytical processing (OLAP). It is available as both an open-source software and a cloud offering . What are analytics? ​ Analytics, also known as OLAP (Online Analytical Processing), refers to SQL queries with complex calculations (e.g., aggregations, string processing, arithmetic) over massive datasets. Unlike transactional queries (or OLTP, Online Transaction Processing) that read and write just a few rows per query and, therefore, complete in milliseconds, analytics queries routinely process billions and trillions of rows. In many use cases, analytics queries must be "real-time" , i.e., return a result in less than one second. Row-oriented vs. column-oriented storage ​ Such a level of performance can only be achieved with the right data "orientation". Databases store data either row-oriented or column-oriented . In a row-oriented database, consecutive table rows are sequentially stored one after the other. This layout allows to retrieve rows quickly as the column values of each row are stored together. ClickHouse is a column-oriented database. In such systems, tables are stored as a collection of columns, i.e. the values of each column are stored sequentially one after the other. This layout makes it harder to restore single rows (as there are now gaps between the row values) but column operations such as filters or aggregation become much faster than in a row-oriented database. The difference is best explained with an example query running over 100 million rows of real-world anonymized web analytics data : SELECT MobilePhoneModel , COUNT ( ) AS c FROM metrica . hits WHERE RegionID = 229 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND MobilePhone != 0 AND MobilePhoneModel not in [ '' , 'iPad' ] GROUP BY MobilePhoneModel ORDER BY c DESC LIMIT 8 ; You can run this query on the ClickHouse SQL Playground that selects and filters just a few out of over 100 existing columns, returning the result within milliseconds: As you can see in the stats section in the above diagram, the query processed 100 million rows in 92 milliseconds, a throughput of approximately over 1 billion rows per second or just under 7 GB of data transferred per second. Row-oriented DBMS In a row-oriented database, even though the query above only processes a few out of the existing columns, the system still needs to load the data from other existing columns from disk to memory. The reason for that is that data is stored on disk in chunks called blocks (usually fixed sizes, e.g., 4 KB or 8 KB). Blocks are the smallest units of data read from disk to memory. When an application or database requests data, the operating system's disk I/O subsystem reads the required blocks from the disk. Even if only part of a block is needed, the entire block is read into memory (this is due to disk and file system design): Column-oriented DBMS Because the values of each column are stored sequentially one after the other on disk, no unnecessary data is loaded when the query from above is run. Because the block-wise storage and transfer from disk to memory is aligned with the data access pattern of analytical queries, only the columns required for a query are read from disk, avoiding unnecessary I/O for unused data. This is much faster compared to row-based storage, where entire rows (including irrelevant columns) are read: Data replication and integrity ​ ClickHouse uses an asynchronous multi-master replication scheme to ensure that data is stored redundantly on multiple nodes. After being written to any available replica, all the remaining replicas retrieve their copy in the background. The system maintains identical data on different replicas. Recovery after most failures is performed automatically, or semi-automatically in complex cases. Role-Based Access Control ​ ClickHouse implements user account management using SQL queries and allows for role-based access control configuration similar to what can be found in ANSI SQL standard and popular relational database management systems. SQL support ​ ClickHouse supports a declarative query language based on SQL that is identical to the ANSI SQL standard in many cases. Supported query clauses include GROUP BY , ORDER BY , subqueries in FROM , JOIN clause, IN operator, window functions and scalar subqueries. Approximate calculation ​ ClickHouse provides ways to trade accuracy for performance. For example, some of its aggregate functions calculate the distinct value count, the median, and quantiles approximately. Also, queries can be run on a sample of the data to compute an approximate result quickly. Finally, aggregations can be run with a limited number of keys instead of for all keys. Depending on how skewed the distribution of the keys is, this can provide a reasonably accurate result that uses far fewer resources than an exact calculation. Adaptive join algorithms ​ ClickHouse chooses the join algorithm adaptively: it starts with fast hash joins and falls back to merge joins if there's more than one large table. Superior query performance ​ ClickHouse is well known for having extremely fast query performance. To learn why ClickHouse is so fast, see the Why is ClickHouse fast? guide.
Markdown
[Skip to main content](https://clickhouse.com/docs/intro#__docusaurus_skipToContent_fallback) [![ClickHouse](https://clickhouse.com/docs/img/ch_logo_docs.svg)](https://clickhouse.com/) - [Products](https://clickhouse.com/docs/intro) - [ClickHouse Cloud Best way to use ClickHouse. Available on AWS, GCP, and Azure.](https://clickhouse.com/cloud) - [BYOC (Bring Your Own Cloud) The fully managed ClickHouse Cloud service, Can be deployed in your AWS account.](https://clickhouse.com/cloud/bring-your-own-cloud) - [ClickHouse Set up a database with open-source ClickHouse. ClickHouse](https://clickhouse.com/clickhouse) - [Discover more than 100 integrations.](https://clickhouse.com/integrations) [Discover more than 100 integrations.](https://clickhouse.com/integrations) - [Use cases](https://clickhouse.com/docs/intro) - [Real-time analytics](https://clickhouse.com/use-cases/real-time-analytics) - [Machine Learning & Generative AI](https://clickhouse.com/use-cases/machine-learning-and-data-science) - [Business Intelligence](https://clickhouse.com/use-cases/data-warehousing) - [Logs, Events, Traces](https://clickhouse.com/use-cases/observability) - [All use cases](https://clickhouse.com/use-cases) [All use cases](https://clickhouse.com/use-cases) - [Documentation](https://clickhouse.com/docs) - [Resources](https://clickhouse.com/docs/intro) - [User stories](https://clickhouse.com/user-stories) - [Blog](https://clickhouse.com/blog) - [Events](https://clickhouse.com/company/events) - [Learning and certification](https://clickhouse.com/learn) - [Comparison](https://clickhouse.com/docs/intro) - [BigQuery](https://clickhouse.com/comparison/bigquery) - [PostgreSQL](https://clickhouse.com/comparison/postgresql) - [Redshift](https://clickhouse.com/comparison/redshift) - [Rockset](https://clickhouse.com/comparison/rockset) - [Snowflake](https://clickhouse.com/comparison/snowflake) - [Video](https://clickhouse.com/videos) - [Demo](https://clickhouse.com/demos) - [Pricing](https://clickhouse.com/pricing) - [Contact](https://clickhouse.com/company/contact?loc=nav) [46\.7k](https://github.com/ClickHouse/ClickHouse?utm_source=clickhouse&utm_medium=website&utm_campaign=website-nav) [Search`Ctrl``K`](https://clickhouse.com/docs/search) [Sign in](https://console.clickhouse.cloud/signIn?loc=docs-nav-signIn-cta&glxid=c7349435-7e3e-420b-8a2a-7da281a35af5&pagePath=%2Fdocs%2Fintro&origPath=%2Fdocs%2Fintro&utm_ga=GA1.1.1790532631.1775435460) [Get started](https://console.clickhouse.cloud/signUp?loc=docs-nav-signUp-cta&glxid=c7349435-7e3e-420b-8a2a-7da281a35af5&pagePath=%2Fdocs%2Fintro&origPath=%2Fdocs%2Fintro&utm_ga=GA1.1.1790532631.1775435460) [Get started](https://clickhouse.com/docs/introduction-clickhouse) [Cloud](https://clickhouse.com/docs/cloud/overview) [Manage data](https://clickhouse.com/docs/updating-data) [Server admin](https://clickhouse.com/docs/guides/manage-and-deploy-index) [Reference](https://clickhouse.com/docs/sql-reference) [Integrations](https://clickhouse.com/docs/integrations) [ClickStack](https://clickhouse.com/docs/use-cases/observability/clickstack/overview) [chDB](https://clickhouse.com/docs/chdb) [About](https://clickhouse.com/docs/about) [Knowledge Base](https://clickhouse.com/docs/knowledgebase) [English](https://clickhouse.com/docs/intro) - [English](https://clickhouse.com/docs/intro) - [日本語](https://clickhouse.com/docs/jp/intro) - [中文](https://clickhouse.com/docs/zh/intro) - [Русский](https://clickhouse.com/docs/ru/intro) - [한국어](https://clickhouse.com/docs/ko/intro) [Skip to main content](https://clickhouse.com/docs/intro#__docusaurus_skipToContent_fallback) [![ClickHouse](https://clickhouse.com/docs/img/ch_logo_docs.svg)](https://clickhouse.com/) - [Products](https://clickhouse.com/docs/intro) - [ClickHouse Cloud Best way to use ClickHouse. Available on AWS, GCP, and Azure.](https://clickhouse.com/cloud) - [BYOC (Bring Your Own Cloud) The fully managed ClickHouse Cloud service, Can be deployed in your AWS account.](https://clickhouse.com/cloud/bring-your-own-cloud) - [ClickHouse Set up a database with open-source ClickHouse. ClickHouse](https://clickhouse.com/clickhouse) - [Discover more than 100 integrations.](https://clickhouse.com/integrations) [Discover more than 100 integrations.](https://clickhouse.com/integrations) - [Use cases](https://clickhouse.com/docs/intro) - [Real-time analytics](https://clickhouse.com/use-cases/real-time-analytics) - [Machine Learning & Generative AI](https://clickhouse.com/use-cases/machine-learning-and-data-science) - [Business Intelligence](https://clickhouse.com/use-cases/data-warehousing) - [Logs, Events, Traces](https://clickhouse.com/use-cases/observability) - [All use cases](https://clickhouse.com/use-cases) [All use cases](https://clickhouse.com/use-cases) - [Documentation](https://clickhouse.com/docs) - [Resources](https://clickhouse.com/docs/intro) - [User stories](https://clickhouse.com/user-stories) - [Blog](https://clickhouse.com/blog) - [Events](https://clickhouse.com/company/events) - [Learning and certification](https://clickhouse.com/learn) - [Comparison](https://clickhouse.com/docs/intro) - [BigQuery](https://clickhouse.com/comparison/bigquery) - [PostgreSQL](https://clickhouse.com/comparison/postgresql) - [Redshift](https://clickhouse.com/comparison/redshift) - [Rockset](https://clickhouse.com/comparison/rockset) - [Snowflake](https://clickhouse.com/comparison/snowflake) - [Video](https://clickhouse.com/videos) - [Demo](https://clickhouse.com/demos) - [Pricing](https://clickhouse.com/pricing) - [Contact](https://clickhouse.com/company/contact?loc=nav) [46\.7k](https://github.com/ClickHouse/ClickHouse?utm_source=clickhouse&utm_medium=website&utm_campaign=website-nav) [Search`Ctrl``K`](https://clickhouse.com/docs/search) [Sign in](https://console.clickhouse.cloud/signIn?loc=docs-nav-signIn-cta&glxid=c7349435-7e3e-420b-8a2a-7da281a35af5&pagePath=%2Fdocs%2Fintro&origPath=%2Fdocs%2Fintro&utm_ga=GA1.1.1790532631.1775435460) [Get started](https://console.clickhouse.cloud/signUp?loc=docs-nav-signUp-cta&glxid=c7349435-7e3e-420b-8a2a-7da281a35af5&pagePath=%2Fdocs%2Fintro&origPath=%2Fdocs%2Fintro&utm_ga=GA1.1.1790532631.1775435460) [Get started](https://clickhouse.com/docs/introduction-clickhouse) [Cloud](https://clickhouse.com/docs/cloud/overview) [Manage data](https://clickhouse.com/docs/updating-data) [Server admin](https://clickhouse.com/docs/guides/manage-and-deploy-index) [Reference](https://clickhouse.com/docs/sql-reference) [Integrations](https://clickhouse.com/docs/integrations) [ClickStack](https://clickhouse.com/docs/use-cases/observability/clickstack/overview) [chDB](https://clickhouse.com/docs/chdb) [About](https://clickhouse.com/docs/about) [Knowledge Base](https://clickhouse.com/docs/knowledgebase) [English](https://clickhouse.com/docs/intro) - [English](https://clickhouse.com/docs/intro) - [日本語](https://clickhouse.com/docs/jp/intro) - [中文](https://clickhouse.com/docs/zh/intro) - [Русский](https://clickhouse.com/docs/ru/intro) - [한국어](https://clickhouse.com/docs/ko/intro) [Search`Ctrl``K`](https://clickhouse.com/docs/search) - [Introduction](https://clickhouse.com/docs/introduction-clickhouse) - [What is ClickHouse?](https://clickhouse.com/docs/intro) - [Quick start](https://clickhouse.com/docs/get-started/quick-start) - [Cloud](https://clickhouse.com/docs/getting-started/quick-start/cloud) - [OSS](https://clickhouse.com/docs/getting-started/quick-start/oss) - [Advanced tutorial](https://clickhouse.com/docs/tutorial) - [Install](https://clickhouse.com/docs/install) - [Debian/Ubuntu](https://clickhouse.com/docs/install/debian_ubuntu) - [Redhat/CentOS](https://clickhouse.com/docs/install/redhat) - [Other Linux](https://clickhouse.com/docs/install/linux_other) - [NixOS](https://clickhouse.com/docs/install/nixos) - [MacOS](https://clickhouse.com/docs/install/macOS) - [Windows](https://clickhouse.com/docs/install/windows) - [Docker](https://clickhouse.com/docs/install/docker) - [Quick install](https://clickhouse.com/docs/install/quick-install-curl) - [Advanced install](https://clickhouse.com/docs/install/advanced) - [Deployment modes](https://clickhouse.com/docs/deployment-modes) - [Concepts](https://clickhouse.com/docs/concepts) - [What is OLAP?](https://clickhouse.com/docs/concepts/olap) - [Why is ClickHouse so fast?](https://clickhouse.com/docs/concepts/why-clickhouse-is-so-fast) - [Why is ClickHouse unique?](https://clickhouse.com/docs/about-us/distinctive-features) - [Glossary](https://clickhouse.com/docs/concepts/glossary) - [FAQ](https://clickhouse.com/docs/concepts/faq) - [Starter guides](https://clickhouse.com/docs/starter-guides) - [Creating tables](https://clickhouse.com/docs/guides/creating-tables) - [Updating and deleting data](https://clickhouse.com/docs/guides/developer/mutations) - [Selecting data](https://clickhouse.com/docs/guides/writing-queries) - [Generating random test data](https://clickhouse.com/docs/guides/generating-test-data) - [Inserting ClickHouse data](https://clickhouse.com/docs/guides/inserting-data) - [Working with arrays in ClickHouse](https://clickhouse.com/docs/guides/working-with-arrays) - [Working with JOINs in ClickHouse](https://clickhouse.com/docs/guides/working-with-joins) - [Troubleshooting](https://clickhouse.com/docs/troubleshooting) - [Best practices](https://clickhouse.com/docs/best-practices) - [Sizing and hardware recommendations](https://clickhouse.com/docs/guides/sizing-and-hardware-recommendations) - [Choosing a primary key](https://clickhouse.com/docs/best-practices/choosing-a-primary-key) - [Selecting data types](https://clickhouse.com/docs/best-practices/select-data-types) - [Use materialized views](https://clickhouse.com/docs/best-practices/use-materialized-views) - [Minimize and optimize JOINs](https://clickhouse.com/docs/best-practices/minimize-optimize-joins) - [Choosing a partitioning key](https://clickhouse.com/docs/best-practices/choosing-a-partitioning-key) - [Selecting an insert strategy](https://clickhouse.com/docs/best-practices/selecting-an-insert-strategy) - [Data skipping indices](https://clickhouse.com/docs/best-practices/use-data-skipping-indices-where-appropriate) - [Avoid mutations](https://clickhouse.com/docs/best-practices/avoid-mutations) - [Avoid optimize final](https://clickhouse.com/docs/best-practices/avoid-optimize-final) - [Using JSON](https://clickhouse.com/docs/best-practices/use-json-where-appropriate) - [Use case guides](https://clickhouse.com/docs/use-cases) - [Observability](https://clickhouse.com/docs/use-cases/observability) - [Time-series](https://clickhouse.com/docs/use-cases/time-series) - [Data lake](https://clickhouse.com/docs/use-cases/data-lake) - [AI/ML](https://clickhouse.com/docs/use-cases/AI/ask-ai) - [Example datasets](https://clickhouse.com/docs/getting-started/example-datasets) - [Tips and community wisdom](https://clickhouse.com/docs/tips-and-tricks/community-wisdom) - [Introduction](https://clickhouse.com/docs/introduction-clickhouse) - What is ClickHouse? [Edit this page](https://github.com/ClickHouse/clickhouse-docs/blob/main/docs/intro.md) # What is ClickHouse? ClickHouse® is a high-performance, column-oriented SQL database management system (DBMS) for online analytical processing (OLAP). It is available as both an [open-source software](https://github.com/ClickHouse/ClickHouse) and a [cloud offering](https://clickhouse.com/cloud). ## What are analytics?[​](https://clickhouse.com/docs/intro#what-are-analytics "Direct link to What are analytics?") Analytics, also known as OLAP (Online Analytical Processing), refers to SQL queries with complex calculations (e.g., aggregations, string processing, arithmetic) over massive datasets. Unlike transactional queries (or OLTP, Online Transaction Processing) that read and write just a few rows per query and, therefore, complete in milliseconds, analytics queries routinely process billions and trillions of rows. In many use cases, [analytics queries must be "real-time"](https://clickhouse.com/engineering-resources/what-is-real-time-analytics), i.e., return a result in less than one second. ## Row-oriented vs. column-oriented storage[​](https://clickhouse.com/docs/intro#row-oriented-vs-column-oriented-storage "Direct link to Row-oriented vs. column-oriented storage") Such a level of performance can only be achieved with the right data "orientation". Databases store data either [row-oriented or column-oriented](https://clickhouse.com/engineering-resources/what-is-columnar-database). In a row-oriented database, consecutive table rows are sequentially stored one after the other. This layout allows to retrieve rows quickly as the column values of each row are stored together. ClickHouse is a column-oriented database. In such systems, tables are stored as a collection of columns, i.e. the values of each column are stored sequentially one after the other. This layout makes it harder to restore single rows (as there are now gaps between the row values) but column operations such as filters or aggregation become much faster than in a row-oriented database. The difference is best explained with an example query running over 100 million rows of [real-world anonymized web analytics data](https://clickhouse.com/docs/getting-started/example-datasets/metrica): ``` SELECT MobilePhoneModel, COUNT() AS c FROM metrica.hits WHERE RegionID = 229 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND MobilePhone != 0 AND MobilePhoneModel not in ['', 'iPad'] GROUP BY MobilePhoneModel ORDER BY c DESC LIMIT 8; ``` You can [run this query on the ClickHouse SQL Playground](https://sql.clickhouse.com/?query=U0VMRUNUIE1vYmlsZVBob25lTW9kZWwsIENPVU5UKCkgQVMgYyAKRlJPTSBtZXRyaWNhLmhpdHMgCldIRVJFIAogICAgICBSZWdpb25JRCA9IDIyOSAKICBBTkQgRXZlbnREYXRlID49ICcyMDEzLTA3LTAxJyAKICBBTkQgRXZlbnREYXRlIDw9ICcyMDEzLTA3LTMxJyAKICBBTkQgTW9iaWxlUGhvbmUgIT0gMCAKICBBTkQgTW9iaWxlUGhvbmVNb2RlbCBub3QgaW4gWycnLCAnaVBhZCddIApHUk9VUCBCWSBNb2JpbGVQaG9uZU1vZGVsCk9SREVSIEJZIGMgREVTQyAKTElNSVQgODs&chart=eyJ0eXBlIjoicGllIiwiY29uZmlnIjp7InhheGlzIjoiTW9iaWxlUGhvbmVNb2RlbCIsInlheGlzIjoiYyJ9fQ&run_query=true) that selects and filters [just a few out of over 100](https://sql.clickhouse.com/?query=U0VMRUNUIG5hbWUKRlJPTSBzeXN0ZW0uY29sdW1ucwpXSEVSRSBkYXRhYmFzZSA9ICdtZXRyaWNhJyBBTkQgdGFibGUgPSAnaGl0cyc7&tab=results&run_query=true) existing columns, returning the result within milliseconds: ![Example query in a column-oriented database - Zoomed](https://clickhouse.com/docs/assets/ideal-img/column-oriented-example-query.3538ae1.2048.png) As you can see in the stats section in the above diagram, the query processed 100 million rows in 92 milliseconds, a throughput of approximately over 1 billion rows per second or just under 7 GB of data transferred per second. **Row-oriented DBMS** In a row-oriented database, even though the query above only processes a few out of the existing columns, the system still needs to load the data from other existing columns from disk to memory. The reason for that is that data is stored on disk in chunks called [blocks](https://en.wikipedia.org/wiki/Block_\(data_storage\)) (usually fixed sizes, e.g., 4 KB or 8 KB). Blocks are the smallest units of data read from disk to memory. When an application or database requests data, the operating system's disk I/O subsystem reads the required blocks from the disk. Even if only part of a block is needed, the entire block is read into memory (this is due to disk and file system design): ![Row-oriented database structure](https://clickhouse.com/docs/assets/images/row-oriented-3e6fd5aa48e3075202d242b4799da8fa.gif) **Column-oriented DBMS** Because the values of each column are stored sequentially one after the other on disk, no unnecessary data is loaded when the query from above is run. Because the block-wise storage and transfer from disk to memory is aligned with the data access pattern of analytical queries, only the columns required for a query are read from disk, avoiding unnecessary I/O for unused data. This is [much faster](https://benchmark.clickhouse.com/) compared to row-based storage, where entire rows (including irrelevant columns) are read: ![Column-oriented database structure](https://clickhouse.com/docs/assets/images/column-oriented-d082e49b7743d4ded32c7952bfdb028f.gif) ## Data replication and integrity[​](https://clickhouse.com/docs/intro#data-replication-and-integrity "Direct link to Data replication and integrity") ClickHouse uses an asynchronous multi-master replication scheme to ensure that data is stored redundantly on multiple nodes. After being written to any available replica, all the remaining replicas retrieve their copy in the background. The system maintains identical data on different replicas. Recovery after most failures is performed automatically, or semi-automatically in complex cases. ## Role-Based Access Control[​](https://clickhouse.com/docs/intro#role-based-access-control "Direct link to Role-Based Access Control") ClickHouse implements user account management using SQL queries and allows for role-based access control configuration similar to what can be found in ANSI SQL standard and popular relational database management systems. ## SQL support[​](https://clickhouse.com/docs/intro#sql-support "Direct link to SQL support") ClickHouse supports a [declarative query language based on SQL](https://clickhouse.com/docs/sql-reference) that is identical to the ANSI SQL standard in many cases. Supported query clauses include [GROUP BY](https://clickhouse.com/docs/sql-reference/statements/select/group-by), [ORDER BY](https://clickhouse.com/docs/sql-reference/statements/select/order-by), subqueries in [FROM](https://clickhouse.com/docs/sql-reference/statements/select/from), [JOIN](https://clickhouse.com/docs/sql-reference/statements/select/join) clause, [IN](https://clickhouse.com/docs/sql-reference/operators/in) operator, [window functions](https://clickhouse.com/docs/sql-reference/window-functions) and scalar subqueries. ## Approximate calculation[​](https://clickhouse.com/docs/intro#approximate-calculation "Direct link to Approximate calculation") ClickHouse provides ways to trade accuracy for performance. For example, some of its aggregate functions calculate the distinct value count, the median, and quantiles approximately. Also, queries can be run on a sample of the data to compute an approximate result quickly. Finally, aggregations can be run with a limited number of keys instead of for all keys. Depending on how skewed the distribution of the keys is, this can provide a reasonably accurate result that uses far fewer resources than an exact calculation. ## Adaptive join algorithms[​](https://clickhouse.com/docs/intro#adaptive-join-algorithms "Direct link to Adaptive join algorithms") ClickHouse chooses the join algorithm adaptively: it starts with fast hash joins and falls back to merge joins if there's more than one large table. ## Superior query performance[​](https://clickhouse.com/docs/intro#superior-query-performance "Direct link to Superior query performance") ClickHouse is well known for having extremely fast query performance. To learn why ClickHouse is so fast, see the [Why is ClickHouse fast?](https://clickhouse.com/docs/concepts/why-clickhouse-is-so-fast) guide. [Previous Introduction](https://clickhouse.com/docs/introduction-clickhouse) [Next Quick start](https://clickhouse.com/docs/get-started/quick-start) - [What are analytics?](https://clickhouse.com/docs/intro#what-are-analytics) - [Row-oriented vs. column-oriented storage](https://clickhouse.com/docs/intro#row-oriented-vs-column-oriented-storage) - [Data replication and integrity](https://clickhouse.com/docs/intro#data-replication-and-integrity) - [Role-Based Access Control](https://clickhouse.com/docs/intro#role-based-access-control) - [SQL support](https://clickhouse.com/docs/intro#sql-support) - [Approximate calculation](https://clickhouse.com/docs/intro#approximate-calculation) - [Adaptive join algorithms](https://clickhouse.com/docs/intro#adaptive-join-algorithms) - [Superior query performance](https://clickhouse.com/docs/intro#superior-query-performance) Was this page helpful? ###### Try ClickHouse Cloud for FREE Separation of storage and compute, automatic scaling, built-in SQL console, and lots more. \$300 in free credits when signing up. [Try it for Free](https://console.clickhouse.cloud/signUp?loc=doc-card-banner&glxid=c7349435-7e3e-420b-8a2a-7da281a35af5&pagePath=%2Fdocs%2Fintro&origPath=%2Fdocs%2Fintro&utm_ga=GA1.1.1790532631.1775435460) © 2016–2026 ClickHouse, Inc. [Trademark](https://clickhouse.com/legal/trademark-policy)·[Privacy](https://clickhouse.com/legal/privacy-policy)·[Security](https://trust.clickhouse.com/)·[Terms of Service](https://clickhouse.com/legal/agreements/terms-of-service) ![](https://static.scarf.sh/a.png?x-pxid=e6377503-591b-4886-9398-e69c7fee0b91) © 2016–2026 ClickHouse, Inc. [Trademark](https://clickhouse.com/legal/trademark-policy)·[Privacy](https://clickhouse.com/legal/privacy-policy)·[Security](https://trust.clickhouse.com/)·[Terms of Service](https://clickhouse.com/legal/agreements/terms-of-service) ![](https://static.scarf.sh/a.png?x-pxid=e6377503-591b-4886-9398-e69c7fee0b91) [![ClickHouse](https://clickhouse.com/docs/img/ch_logo_docs.svg)](https://clickhouse.com/) EN - Get started▼ - Cloud▼ - Manage data▼ - Server admin▼ - Reference▼ - Integrations▼ - ClickStack▼ - chDB▼ - About▼ [![ClickHouse](https://clickhouse.com/docs/img/ch_logo_docs.svg)](https://clickhouse.com/) EN main-menu - Introduction▼ - [What is ClickHouse?](https://clickhouse.com/docs/intro) - Quick start▼ - [Advanced tutorial](https://clickhouse.com/docs/tutorial) - Install▼ - [Deployment modes](https://clickhouse.com/docs/deployment-modes) - Concepts▼ - Starter guides▼ - [Troubleshooting](https://clickhouse.com/docs/troubleshooting) - Best practices▼ - Use case guides▼ - Example datasets▼ - Tips and community wisdom▼
Readable Markdown
ClickHouse® is a high-performance, column-oriented SQL database management system (DBMS) for online analytical processing (OLAP). It is available as both an [open-source software](https://github.com/ClickHouse/ClickHouse) and a [cloud offering](https://clickhouse.com/cloud). ## What are analytics?[​](https://clickhouse.com/docs/intro#what-are-analytics "Direct link to What are analytics?") Analytics, also known as OLAP (Online Analytical Processing), refers to SQL queries with complex calculations (e.g., aggregations, string processing, arithmetic) over massive datasets. Unlike transactional queries (or OLTP, Online Transaction Processing) that read and write just a few rows per query and, therefore, complete in milliseconds, analytics queries routinely process billions and trillions of rows. In many use cases, [analytics queries must be "real-time"](https://clickhouse.com/engineering-resources/what-is-real-time-analytics), i.e., return a result in less than one second. ## Row-oriented vs. column-oriented storage[​](https://clickhouse.com/docs/intro#row-oriented-vs-column-oriented-storage "Direct link to Row-oriented vs. column-oriented storage") Such a level of performance can only be achieved with the right data "orientation". Databases store data either [row-oriented or column-oriented](https://clickhouse.com/engineering-resources/what-is-columnar-database). In a row-oriented database, consecutive table rows are sequentially stored one after the other. This layout allows to retrieve rows quickly as the column values of each row are stored together. ClickHouse is a column-oriented database. In such systems, tables are stored as a collection of columns, i.e. the values of each column are stored sequentially one after the other. This layout makes it harder to restore single rows (as there are now gaps between the row values) but column operations such as filters or aggregation become much faster than in a row-oriented database. The difference is best explained with an example query running over 100 million rows of [real-world anonymized web analytics data](https://clickhouse.com/docs/getting-started/example-datasets/metrica): ``` SELECT MobilePhoneModel, COUNT() AS c FROM metrica.hits WHERE RegionID = 229 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND MobilePhone != 0 AND MobilePhoneModel not in ['', 'iPad'] GROUP BY MobilePhoneModel ORDER BY c DESC LIMIT 8; ``` You can [run this query on the ClickHouse SQL Playground](https://sql.clickhouse.com/?query=U0VMRUNUIE1vYmlsZVBob25lTW9kZWwsIENPVU5UKCkgQVMgYyAKRlJPTSBtZXRyaWNhLmhpdHMgCldIRVJFIAogICAgICBSZWdpb25JRCA9IDIyOSAKICBBTkQgRXZlbnREYXRlID49ICcyMDEzLTA3LTAxJyAKICBBTkQgRXZlbnREYXRlIDw9ICcyMDEzLTA3LTMxJyAKICBBTkQgTW9iaWxlUGhvbmUgIT0gMCAKICBBTkQgTW9iaWxlUGhvbmVNb2RlbCBub3QgaW4gWycnLCAnaVBhZCddIApHUk9VUCBCWSBNb2JpbGVQaG9uZU1vZGVsCk9SREVSIEJZIGMgREVTQyAKTElNSVQgODs&chart=eyJ0eXBlIjoicGllIiwiY29uZmlnIjp7InhheGlzIjoiTW9iaWxlUGhvbmVNb2RlbCIsInlheGlzIjoiYyJ9fQ&run_query=true) that selects and filters [just a few out of over 100](https://sql.clickhouse.com/?query=U0VMRUNUIG5hbWUKRlJPTSBzeXN0ZW0uY29sdW1ucwpXSEVSRSBkYXRhYmFzZSA9ICdtZXRyaWNhJyBBTkQgdGFibGUgPSAnaGl0cyc7&tab=results&run_query=true) existing columns, returning the result within milliseconds: As you can see in the stats section in the above diagram, the query processed 100 million rows in 92 milliseconds, a throughput of approximately over 1 billion rows per second or just under 7 GB of data transferred per second. **Row-oriented DBMS** In a row-oriented database, even though the query above only processes a few out of the existing columns, the system still needs to load the data from other existing columns from disk to memory. The reason for that is that data is stored on disk in chunks called [blocks](https://en.wikipedia.org/wiki/Block_\(data_storage\)) (usually fixed sizes, e.g., 4 KB or 8 KB). Blocks are the smallest units of data read from disk to memory. When an application or database requests data, the operating system's disk I/O subsystem reads the required blocks from the disk. Even if only part of a block is needed, the entire block is read into memory (this is due to disk and file system design): ![Row-oriented database structure](https://clickhouse.com/docs/assets/images/row-oriented-3e6fd5aa48e3075202d242b4799da8fa.gif) **Column-oriented DBMS** Because the values of each column are stored sequentially one after the other on disk, no unnecessary data is loaded when the query from above is run. Because the block-wise storage and transfer from disk to memory is aligned with the data access pattern of analytical queries, only the columns required for a query are read from disk, avoiding unnecessary I/O for unused data. This is [much faster](https://benchmark.clickhouse.com/) compared to row-based storage, where entire rows (including irrelevant columns) are read: ![Column-oriented database structure](https://clickhouse.com/docs/assets/images/column-oriented-d082e49b7743d4ded32c7952bfdb028f.gif) ## Data replication and integrity[​](https://clickhouse.com/docs/intro#data-replication-and-integrity "Direct link to Data replication and integrity") ClickHouse uses an asynchronous multi-master replication scheme to ensure that data is stored redundantly on multiple nodes. After being written to any available replica, all the remaining replicas retrieve their copy in the background. The system maintains identical data on different replicas. Recovery after most failures is performed automatically, or semi-automatically in complex cases. ## Role-Based Access Control[​](https://clickhouse.com/docs/intro#role-based-access-control "Direct link to Role-Based Access Control") ClickHouse implements user account management using SQL queries and allows for role-based access control configuration similar to what can be found in ANSI SQL standard and popular relational database management systems. ## SQL support[​](https://clickhouse.com/docs/intro#sql-support "Direct link to SQL support") ClickHouse supports a [declarative query language based on SQL](https://clickhouse.com/docs/sql-reference) that is identical to the ANSI SQL standard in many cases. Supported query clauses include [GROUP BY](https://clickhouse.com/docs/sql-reference/statements/select/group-by), [ORDER BY](https://clickhouse.com/docs/sql-reference/statements/select/order-by), subqueries in [FROM](https://clickhouse.com/docs/sql-reference/statements/select/from), [JOIN](https://clickhouse.com/docs/sql-reference/statements/select/join) clause, [IN](https://clickhouse.com/docs/sql-reference/operators/in) operator, [window functions](https://clickhouse.com/docs/sql-reference/window-functions) and scalar subqueries. ## Approximate calculation[​](https://clickhouse.com/docs/intro#approximate-calculation "Direct link to Approximate calculation") ClickHouse provides ways to trade accuracy for performance. For example, some of its aggregate functions calculate the distinct value count, the median, and quantiles approximately. Also, queries can be run on a sample of the data to compute an approximate result quickly. Finally, aggregations can be run with a limited number of keys instead of for all keys. Depending on how skewed the distribution of the keys is, this can provide a reasonably accurate result that uses far fewer resources than an exact calculation. ## Adaptive join algorithms[​](https://clickhouse.com/docs/intro#adaptive-join-algorithms "Direct link to Adaptive join algorithms") ClickHouse chooses the join algorithm adaptively: it starts with fast hash joins and falls back to merge joins if there's more than one large table. ## Superior query performance[​](https://clickhouse.com/docs/intro#superior-query-performance "Direct link to Superior query performance") ClickHouse is well known for having extremely fast query performance. To learn why ClickHouse is so fast, see the [Why is ClickHouse fast?](https://clickhouse.com/docs/concepts/why-clickhouse-is-so-fast) guide.
Shard89 (laksa)
Root Hash12633450985039531489
Unparsed URLcom,clickhouse!/docs/intro s443