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

New RonDB releases

It is in the middle of the summer, but we found some time to prepare a new RonDB release. Today we are proud to release new RonDB versions.https://www.logicalclocks.com/blog/new-rondb-release-21-10-1RonDB is a stable distribution of NDB Cluster, a key-value store with SQL capabilities. It is based on a release of MySQL, an SQL database server.RonDB 21.04.1 is the second release of the stable version of RonDB. It contains 3 new features...

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

Using Windows functions in TPC-H with NDB Cluster

 This is probably the first time I post a blog that handles variants ofhow to use SQL :)I got the inspiration from reading some new and old blogs by Öystein Grövlenwhere he mentioned various ways to rewrite queries as Common TableExpressions (CTEs) and using windows functions instead of using subqueries.I tried this and found that the rewritten queries was faster using windows in somecases. Obviously the CTE variant and the subquery...

mikaelronstrom

DBT2 benchmarks with NDB Cluster

This blog post is referring to the uploaded slides.DBT2 is based on the standard benchmark TPC-C. This benchmark is a mix of readand write activity. It is much more write intensive than many other benchmarks.This has resulted that performance in NDB in previous versions have only scaledto nodes with around 6 LDM threads. With the introduction of multiple socketsfor communication between nodes we have been able to remove this...