Overview

This article presents a benchmarking analysis of GenRocket’s In-Place Masking (IPM) and Horizontal Scaling capabilities across tables of varying sizes in both SQL Server and Oracle databases.

In This Article

Table Column Glossary of Terms

  • Execution Model - How masking was executed - Single Table or Mult-Table (Horizontal Scaling).

  • Total Rows (table size)  - The number of records / rows present in the table; M stands for million, and B stands for billion.

  • Masking Columns - The number of columns getting masked in the table.

  • Threads - The number of threads involved in the generation and masking of synthetic data.

  • Time Spent - The time taken for IPM to execute on the tables.

  • Throughput (Rows / Minute) - The amount of time it took to mask rows per minute; M stands for million.

SQL Server

Server Configuration

GenRocket Server Configuration:

  • AWS EC2 Instance - 32 CPUs, 128 GB RAM

  • 750GB SSD Storage Disk General Purpose SSD (GP3)

Database Server Configuration:

  • AWS RDS Instance  - 16 CPUs, 64 GB RAM

  • 3TB - 10TB Expandable Storage Disk

  • Provisioned IOPS SSD (io2) Disk Type with 10000 IOPS

Masking Performance Summary  - 10M vs. 50M vs. 100M Rows

The results in the table below reflect the following: 

  • Single Table results reflect masking only one table in the database

  • Horizontal Scaling (Multiple Tables in parallel) results reflect masking of three tables in parallel (tables with 10M, 50M, 100M rows concurrently) using 1 IPM Server and 3 IPM Clients.


Execution Model

Number of Tables

Total Rows

Masking Columns

Threads

Time Spent

Throughput (Rows / Minute)

Single Table

1 Table

10M

5

8 data / 8 masking

2m 07s

4.72 M

50M

6

16 data/ 8 masking

12m 17s

4.07 M

100M

5

16 data / 8 masking

23m 18s

4.29 M

Multi-Table (Horizontal Scaling)

3 Tables 

(in Parallel)

10M

5

8 data/ 8 masking

3m 47s

5.04 M

50M

6

8 data/ 8 masking

22m 58s

2.18 M

100M

5

8 data/ 8 masking

1h 11m 34s

1.40 M

*Increasing the thread count can improve performance, provided the hardware supports it.


Oracle

Server Configuration

GenRocket Server Configuration:

  • AWS EC2 Instance - 32 CPUs, 128 GB RAM

  • 750GB SSD Storage Disk General Purpose SSD (GP3)

Database Server Configuration:

  • AWS RDS Instance  - 16 CPUs, 64 GB RAM

  • 3TB - 15TB Expandable Storage Disk

  • Provisioned IOPS SSD (io2) Disk Type with 20000 IOPS

Masking Performance Summary - 10M vs. 50M vs. 100M Rows

The results in the table below reflect the following: 

  • Single Table results reflect masking only one table in the database

  • Horizontal Scaling (Multiple Tables in parallel) results reflect masking of three tables in parallel (tables with 10M, 50M, 100M rows concurrently) using 1 IPM Server and 3 IPM Clients.

Execution Model

Number of Tables

Total Rows

Masking Columns

Threads

Time Spent

Throughput (Rows / Minute)

Single

1 Table

10M

5

8 data / 8 masking

3m 44s

2.68 M

50M

6

16 data / 8 masking

13m 53s

3.60 M

100M

5

16 data / 8 masking

32m 55s

3.04 M

Multi-Table (Horizontal Scaling)

3 Tables 

(In Parallel)

10M

5

8 data / 8 masking

1m 59s

2.64 M

50M

6

8 data/ 8 masking

10m 26s

4.79 M

100M

5

8 data / 8 masking

1h 11m 25s

1.40 M

*Increasing the thread count can improve performance, provided the hardware supports it.