by Alexander Rubin | Jan 24, 2019 | MySQL
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... by Alexander Rubin | Jan 23, 2019 | Insight for DBAs, MySQL
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... by Alexander Rubin | Jan 17, 2019 | Cloud, Insight for DBAs, 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... by Alexander Rubin | Jan 14, 2019 | Insight for DBAs
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... by Alexander Rubin | Dec 5, 2018 | Insight for DBAs, Insight for Developers, MySQL
Working on a test case with sysbench, I encountered this: MySQL mysql> select * from sbtest1 where id = round(rand()*10000, 0);... by Alexander Rubin | Oct 22, 2018 | Insight for DBAs, MySQL
The short version I created > one billion InnoDB tables in MySQL 8.0 (tables, not rows) just for fun. Here is the proof: MySQL $ mysql -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1425329 Server version: 8.0.12 MySQL... by Alexander Rubin | Oct 17, 2018 | Insight for DBAs, Insight for Developers, MongoDB, Webinars
Please join Percona’s Principal Consultant, Alex Rubin, as he presents MongoDB 4.0 Features – Transactions & More on Thursday, October 18th at 11:00 AM PDT (UTC-7) / 2:00 PM EDT (UTC-4).Watch Now MongoDB 4.0 adds support for multi-document ACID... by Alexander Rubin | Sep 25, 2018 | Insight for DBAs, Insight for Developers, MongoDB, Webinars
Please join Percona’s Principal Architect Alex Rubin as he presents Best Practices Using Indexes in MongoDB on Thursday, September 27th at 11:00 AM PDT (UTC-7) / 2:00 PM EDT (UTC-4). Register Now Indexes support the efficient execution of queries in... by Alexander Rubin | Sep 3, 2018 | Benchmarks, Insight for DBAs, MySQL
In my previous blog post about millions of table in MySQL 8, I was able to create one million tables and test the performance of it. My next challenge is to create 40 million tables in MySQL 8 using shared tablespaces (one tablespace per schema). In this blog post... by Alexander Rubin | Aug 20, 2018 | Cloud, Insight for DBAs, MySQL
If you are using large EBS GP2 volumes for MySQL (i.e. 10TB+) on AWS EC2, you can increase performance and save a significant amount of money by moving to local SSD (NVMe) instance storage. Interested? Then read on for a more detailed examination of how to achieve... by Alexander Rubin | Jul 12, 2018 | Benchmarks, MySQL
MySQL stored procedures, functions and triggers, are tempting constructs for application developers. However, as I discovered, there can be an impact on database performance when using MySQL stored routines. Not being entirely sure of what I was seeing during a... by Alexander Rubin | Jul 4, 2018 | Cloud, Insight for DBAs, MySQL
Amazon RDS Aurora (MySQL) provides its own low latency replication. Nevertheless, there are cases where it can be beneficial to set up replication from Aurora to an external MySQL server, as Amazon RDS Aurora is based on MySQL and supports native MySQL replication.... by Alexander Rubin | Jun 28, 2018 | MySQL, Percona Software
Troubleshooting crashes is never a fun task, especially if MySQL does not report the cause of the crash. For example, when a MySQL memory issue shows up. Peter Zaitsev wrote a blog post in 2012: Troubleshooting MySQL Memory Usage with lots of useful tips. With the new... by Alexander Rubin | Jun 25, 2018 | Cloud, MongoDB, Open Source
MongoDB 4.0 is just around the corner and with rc0 we can get a good idea of what we can expect in the GA version. MongoDB 4.0 will allow transactions to run in a replica set and, in a future release, the MongoDB transaction will work for sharded clusters. This... by Alexander Rubin | May 25, 2018 | Cloud, Insight for DBAs, Insight for Developers, MySQL, Percona Software, ProxySQL, Webinars
Please join Percona’s Principal Architect Alex Rubin as he presents MySQL, Percona XtraDB Cluster, ProxySQL, Kubernetes: How they work together to give you a highly available cluster database environment on Tuesday, May 29th at 7:00 AM PDT (UTC-7) / 10:00 AM EDT... by Alexander Rubin | Feb 19, 2018 | Hardware and Storage, Insight for DBAs, MySQL
In this blog post, I will talk about archiving MySQL tables in ClickHouse for storage and analytics.Why Archive? Hard drives are cheap nowadays, but storing lots of data in MySQL is not practical and can cause all sorts of performance bottlenecks. To name just a... by Alexander Rubin | Jan 29, 2018 | Insight for DBAs, MySQL
In this blog post, we’ll look at ways you can use MySQL 5.7 generated columns (or virtual columns) to improve query performance. Introduction About two years ago I published a blog post about Generated (Virtual) Columns in MySQL 5.7. Since then, it’s... by Alexander Rubin | Jan 10, 2018 | Insight for DBAs, MySQL
In this blog post, I’ll provide an explanation of why you should avoid using the CREATE TABLE AS SELECT statement.The SQL statement “create table <table_name> as select …” is used to create a normal or temporary table and... by Alexander Rubin | Dec 4, 2017 | Insight for DBAs, MySQL, Percona Software
In this blog post, I investigate a case of spiking InnoDB Rows inserted in the absence of a write query, and find internal temporary tables to be the culprit.Recently I was investigating an interesting case for a customer. We could see the regular spikes on a graph... by Alexander Rubin | Oct 1, 2017 | Insight for DBAs, MySQL
In my previous blog post, I talked about new general tablespaces in MySQL 8.0. Recently MySQL 8.0.3-rc was released, which includes a new data dictionary. My goal is to create one million tables in MySQL and test the performance. Background questions Q: Why...