Ridiculous fast for analytical workloads
Use Cases and Deployment Scope
ClickHouse serves as our primary Data Warehouse, empowering both our BI Solutions and in-house data products with real-time insights. It enables us to quickly derive actionable insights and respond to live data, meeting the demand for instantaneous decision-making. With its broad scope, ClickHouse consolidates diverse data sources, serving as our central and unified repository.
Pros
- Their MergeTree table engine provide impressive performance for data insert in bulk
- Not only data insert but also the way MergeTree engine uses Primary Keys to sort the data and perform data skipping based on the granules its also their secret for ridiculous fast queries
- Data compression its also great
- They provide especial table engines that allow you to read data directly from other sources like S3
- Since its written with C++ you have very granular data types and especial ones like enum, LowCardinality and etc, they save you a lot of storage since are stored as integer values
- ClickHouse functions besides the ones that respect ANSI Standards are also awesome and useful
Cons
- SQL Console is their solution to run queries through a Web UI, still misses some extra functionally like visually seeing the query plan and more info about the query that is running, would be useful
- Managing roles in the Cloud could have more options, not only admin/developer, something like Guest, because the developer get by default read access to everything, and I would prefer having to manually provide access to the guest users
- It stills misses SSO compatibility with some Identity Providers like Okta, especially for just DB Users
Likelihood to Recommend
ClickHouse delivers exceptional speed and performance, positioning it as the top choice for managing large-scale analytical workloads. With a bunch of built-in functions, it empowers analysts to extract maximum insights from data effortlessly.
If your scenario is to deal with analytical questions, then ClickHouse is for you, but if you are looking into a transactional database, that's not the case; even their table engines are not made for this.
