Pradeep Chhetri
I write about databases, distributed systems, ClickHouse, PostgreSQL, SQLite, Kubernetes, and infrastructure.
This site is a collection of technical notes, experiments, benchmarks, and things I learn while working with data and infrastructure systems.
Latest writing
-
Using Swap with ClickHouse
Sep 6, 2025
Engineers have a common misunderstanding that swap slows down the system. Hence they prefer not to use swap at all. ClickHouse being the 3I/ATLAS of databases world, definitely can't afford to slow...
-
ClickHouse Time-Series Table Engine
Jun 4, 2024
As you know, ClickHouse is an efficient OLAP database with an optimized storage engine called MergeTree. This storage engine is thoughtfully designed so that it can fulfil wide range of OLAP use-ca...
-
Lesser Known Features of ClickHouse
May 30, 2022
ClickHouse can do lot more than a typical database. In this post, we will look at some of the features which are built into ClickHouse which you might not be aware of. clickhouse-local is a tool wh...
-
ClickHouse Keeper
Apr 3, 2022
ClickHouse recently replaced ZooKeeper with their own implementation ClickHouse-Keeper which can either run as part of ClickHouse server or as a standalone server. Unlike Zookeeper which uses ZAB a...
-
Databases to keep an eye on
Jan 4, 2022
Database market is huge and is constantly evolving. Databases being the centre of all applications, is one of the key component whose performance directly impact the product. We not only find start...
-
Kubernetes: Projected Volume
Nov 5, 2021
In k8s world, sometimes you need to mount both configmap and secret under the same directory. Let's say you have to mount all of them under /etc/app such that the layout should look like this
-
ClickHouse vs TimescaleDB
Oct 28, 2021
Special thanks to Ilya for extending this blog by adding remaining ClickHouse equivalent queries (Window functions, Joins and Geo queries) from the TimescaleDB docs. Your feedback and help is much ...
-
GNU Utility: Envsubst
Nov 5, 2020
Recently, I learnt about a new command: envsubst which is present by default. It substitutes the values of environment variables. This means, instead of using helm, we can use plain k8s manifest an...
-
JVM: Options Config File
Oct 6, 2020
Java Virtual Machine (JVM) provides a mechanism to set JVM configuration options in jvm.options file. This file provide a way to tweak configuration based on JVM version too. Above configuration me...
-
OLAP Databases
Oct 5, 2020
Recently, I came across a new embedded analytics database, DuckDB which I found inspired from two of my favorite ones SQLite and ClickHouse. DuckDB looked very interesting since I find that it fill...