Apache Delta lake format is one of the widely used enhancements of the plain Parquet format. The Parquet files are read-only and enable you just to append new data by adding new Parquet files into some folder. Apache Delta Lake format is based on Parquet, but it also enables you to update, delete, merge data with ACID guarantees. In many solutions, Delta format is a great choice when you need to gradually modify and refine your data.

Delta Lake format is used in the scenarios where you need to update files in Data Lake.

This way you can store raw data in some bronze layer, and gradually refine, clean, and modify data and move them into other…


HammerDB is one popular and easy-to-use tool that a lot of people are using to benchmark the performance of the databases. In the previous article, I have used 100 HammerDB users to measure the performance of the workload on TPCC database with 5000 warehouses, and the conclusion was that in this configuration we can reach up to 160-200K transaction/minute and that probably the main bottleneck is the fact that 40GB memory that is available on 8-core Managed Instance is not enough to cache the data for 500GB database. …


When you migrate your databases from SQL Server (on-premises or Azure VM) to Azure SQL Managed Instance, the first thing that you might want to do is to compare the performance of your database in new environment with the performance of the original database on the source SQL Server.

In some cases, you might see different performance of some queries or entire workload on Managed Instance compared to the performance of the source SQL Server. Managed Instance is fully-managed SQL Server database engine with built-in management operations that guarantee that automatic backups will be always taken and that your database…


One of the most important tests that you need to run on your database is a performance test that shows you how many queries, requests, or transactions you can run.

In the previous articles, I have used HammerDB to run a simulation of TPCC workload with 100 users on an 8-core General Purpose Azure SQL Managed Instance. I have used the following databases in these experiments:


When you migrate your databases from one SQL Server instance to another or from SQL Server to cloud (for example Azure SQL Managed Instance), one of the first things you would like to do is to compare the workload performance between source and target environment. Sometime you might be surprised by the results because you are getting different performance although you believe that source and target environment are the same.

There are several factors that might cause different performance on source and target instances, such as:

  1. Different server/database properties on source and target instance (compatibility levels, cardinality estimator, encryption, etc.)


HammerDB is one popular and easy-to-use tool that a lot of people are using to benchmark the performance of the databases. In the previous article, I have used 100 HammerDB users to measure the performance of the workload on the TPCC database with 5000 warehouses, and the conclusion was that in this configuration we can reach up to 200K transaction/minute and that probably the main bottleneck is the fact that 40GB memory that is available on 8-core Managed Instance is not enough to cache the data for 500GB database.

WARNING: HammerDB is not an official standard and don’t have precise…


HammerDB is a popular benchmark tool that simulates TPCC workload and that a lot of people use to benchmark different environment. In this article I will explain how to run HammerDB Managed Instance and analyze performance on Managed Instance.

WARNING: HammerDB is not official standard and don’t have precise specification of prerequisites for running the tests. You might get the different results if you repeat the same test that depend on the number of core of your client VM, network bandwidth between Managed Instance and VM, number of other databases on Managed Instances, etc. There are many factors that can…


Azure SQL Database Managed Instance is a fully-managed SQL Server database engine hosted in Azure cloud. In General Purpose architecture of Managed Instance, SQL Server database engine is placed on a stateless compute VM that contains only tempdb, while all other database files are placed on remote Azure Premium disk. This architecture ensures high availability and minimizes chances of data loss since the Azure Premium disks are internally replicated.

IMPORTANT: The resource limits on Azure SQL Managed Instance are changed in September 2020.

One of the characteristics of the Azure premium disks is that they provide better performance if your…


Azure SQL Database Managed Instance is SQL Server database engine hosted in Azure cloud. General Purpose tier of Managed Instance is placed on Azure infrastructure where SQL Server process is placed on stateless VM, and data files are stored on Azure premium storage.

One of the important thing you will need to be aware of is that IO performance of Azure Premium disks depend on the disk size, as it is shown in the following table

Since General Purpose Managed Instance places all database files on Azure Premium disks, performance of each database file depends on the file size.

You…


Azure SQL Database Managed Instance is a fully managed version of SQL Server Database engine hosted in Azure cloud that provides built-in maintenance operations such as automatic backups.

Managed Instance guarantees that the database backups are taken every 5–10 min (log backups) so it must ensure that it can take all changes made in all databases and create the backup of all updates. Managed instances introduces the following constraint for the log rate limits per instance to ensure that it can catch-up all updates:

  • Up to 22 MB/s for General Purpose instance
  • Up to 48 MB/s for Business Critical instance.

Jovan Popovic

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store