mikaelronstrom

Automatic Memory Management in RonDB

RonDB has now grown up to the same level of memory management as you find in expensive commercial DBMSs like Oracle, IBM DB2 and Microsoft SQL Server.Today I made the last development steps in this large project. This project started with a prototype effort by Jonas Oreland already in 2013 after being discussed for a long time before that. After he left for Google the project was taken over by Mauritz Sundell that implemented the first...

mikaelronstrom

How to achieve AlwaysOn

When discussing how to achieve High Availability most DBMS focus on handling it via replication. Most of the focus has thus been focused on various replication algorithms.However truly achieving AlwaysOn availability requires more than just a clever replication algorithm.RonDB is based on NDB Cluster, NDB has been able to prove in practice that it can deliver capabilities that makes it possible to build systems with less than 30...

mikaelronstrom

RonDB and Docker Compose

After publishing the Docker container for RonDB I got a suggestion to simplify it further by using Docker Compose. After a quick learning using Google I came up with a Docker Compose configuration file that will start the entire RonDB cluster and stop it using a single command.First of all I had to consider networking. I decided that using an external network was the best solution. This makes it easy to launch an application that uses...

mikaelronstrom

RonDB and Docker

There was a request to be able to test RonDB using Docker. This is now working.These commands will set up a RonDB cluster on your local machine that can be used to test RonDB:Step 1: Download the Docker containers for RonDBdocker pull mronstro/rondbStep 2: Create a Docker subnetdocker network create mynet --subnet=192.168.0.0/16Step3: Start the RonDB management serverdocker run -d \  --net=mynet \  -v /path/datadir:/var/lib/rondb \ ...

mikaelronstrom

Improvements of DBT2 benchmark in RonDB 21.10.1

In the development of RonDB 21.10.1 we have had some focus on improving the performance of the DBT2 benchmark for RonDB.  Actually NDB Cluster already had very good performance for DBT2. However this performance relies on a thread configuration that uses a lot of LDM threads and this means that tables will have very many partitions.For an application like DBT2 (open source variant of TPC-C) this is not an issue since it is a very...

mikaelronstrom

HA vs AlwaysOn

 In the 1990s I spent a few years studying requirements on databases used in 3G telecom networks. The main requirement was centered around three keywords, Latency, Throughput and Availability. In this blog post I will focus on Availability.If a telecom database is down it means that no phone calls can be made, internet connections will not work and your app on your smartphone will cease to work. So more or less impacting each and...

mikaelronstrom

Using CTEs in TPC-H in NDB Cluster

 In the previous post I showed some improvements based on usingWindows functions in rewritten TPC-H queries. In this blog postI will discuss the improvements made in Q15 using a CTE (CommonTable Expression). This is again based on inspiration from new andold blogs written by Öystein Grövlen (should be norwegian ö's).Here is Q15 in TPC-H:create view revenue (supplier_no, total_revenue) as        select               ...

mikaelronstrom

New things coming in MySQL Cluster 8.0.22

In version 8.0.22 we have added a number of important new features. The firstone is that we introduced the capability to create encrypted backups.This includes capabilities to create encrypted backups, restore encrypedbackups and also encrypt backups that was created without encryption.The second is that we have added support for IPv6 addresses.  If it isnecessary to mix IPv4 and IPv6 addresses in a cluster it is importantto be...