Author - Alexander Rubin

A Quick Look into TiDB Performance on a Single Server

TiDB MySQL plot

TiDB is an open-source distributed database developed by PingCAP. This is a very interesting project as it is can be used as a MySQL drop-in replacement: it implements MySQL protocol, and basically emulates MySQL. PingCAP defines TiDB is as a “one-stop data warehouse for both OLTP (Online Transactional Processing) and OLAP (Online Analytical Processing) […]

Read more

MySQL 8.0.14: A Road to Parallel Query Execution is Wide Open!

road to MySQL parallel query

For a very long time – since when multiple CPU cores were commonly available – I dreamed about MySQL having the ability to execute queries in parallel. This feature was lacking from MySQL, and I wrote a lots of posts on how to emulate parallel queries in MySQL using different methods: from simple parallel […]

Read more

Using Parallel Query with Amazon Aurora for MySQL

parallel query amazon aurora for mysql

Parallel query execution is my favorite, non-existent, feature in MySQL. In all versions of MySQL – at least at the time of writing – when you run a single query it will run in one thread, effectively utilizing one CPU core only. Multiple queries run at the same time will be using different threads and […]

Read more

Should You Use ClickHouse as a Main Operational Database?

ClickHouse as a main operational database

First of all, this post is not a recommendation but more like a “what if” story. What if we use ClickHouse (which is a columnar analytical database) as our main datastore? Well, typically, an analytical database is not a replacement for a transactional or key/value datastore. However, ClickHouse is super efficient for timeseries and […]

Read more

Nondeterministic Functions in MySQL (i.e. rand) Can Surprise You

MySQL non deterministic functions rand

Working on a test case with sysbench, I encountered this:

MySQL

mysql> select * from sbtest1 where id = round(rand()*10000, 0);
+——+——–+————————————————————————————————————————-+————————————————————-+
| id | k | c […]

Read more