The Zurich release has arrived! Interested in new features and functionalities? Click here for more

Forrest  Falk
Tera Guru

My name is Forrest Falk, and I am a ServiceNow Certified Master Architect (CMA). I have had the opportunity to test both RaptorDB and RaptorDB Pro instances. With these tools, I have decided to start a series in the community where I will be testing different features of RaptorDB and RaptorDB Pro compared to MariaDB. This series should provide us with valuable insights into the advantages and disadvantages of RaptorDB and RaptorDB Pro in comparison to MariaDB. I will do my best to share the testing methods and results with everyone. If you have any questions, I would be happy to explain my testing process, and I encourage you to share any suggestions on what I should test next. I would love to keep the series interactive.

If you are just joining me, this is the second post in our series. Checkout the other posts below:

  1. https://www.servicenow.com/community/developer-blog/maria-db-vs-raptor-db-record-insertion-performan...
  2. https://www.servicenow.com/community/developer-blog/maria-db-vs-raptor-db-record-update-performance/...

For the third test, I want to focus on the raw speed of deleting records using each database. In this test, we will measure how quickly each database can delete records into the system. We will be deleting the one thousand incidents we created in the first insertion test as quickly as possible to see how long the process takes. Since we know the exact number of records, we can also calculate the average speed of each database across all one thousand records. I also plan to run multiple tests on the instances to account for any unrelated system activities such as scheduled jobs, scripts, or workflows that might affect the results.

 

Instance Version: glide-zurich-07-01-2025__patch0-07-15-2025

 

Below is the script I created to help test the deletion of incidents. The script measures how long it takes to delete the one thousand incidents. To make it easier to track these records, I included the phrase "Incident speed test V2" in both the short description and the description fields. I mainly did this to facilitate testing of record update and deletion performance with the same records.

 

Script to Delete Records:

// Initialize timer
  var start = new GlideDateTime();

  // Query test incidents
  var gr = new GlideRecord('incident');
  gr.addEncodedQuery('short_descriptionSTARTSWITHIncident speed test V2');
  gr.query();

  // Delete records one by one
  var count = 0;
  while (gr.next()) {
    gr.deleteRecord();
    count++;
  }

  // Capture end time and compute durations
  var end       = new GlideDateTime();
  var totalMs   = GlideDateTime.subtract(start, end).getNumericValue();
  var averageMs = totalMs / count;

  // Log results
  gs.print('FF: Total time to delete' + count + ' incidents: ' + totalMs + ' ms');
  gs.print('FF: Average time per incident delete: ' + averageMs.toFixed(2) + ' ms');
  gs.log('FF: Total time to delete' + count + ' incidents: ' + totalMs + ' ms');
  gs.log('FF: Average time per incident delete: ' + averageMs.toFixed(2) + ' ms');

 

Test 1

Maria DB:

*** Script: FF: Total time to delete1000 incidents: 339467 ms

*** Script: FF: Average time per incident delete: 339.47 ms

 

Raptor DB:

*** Script: FF: Total time to delete1000 incidents: 256753 ms

*** Script: FF: Average time per incident delete: 256.75 ms

 

Raptor DB Pro:

*** Script: FF: Total time to delete1000 incidents: 227902 ms

*** Script: FF: Average time per incident delete: 227.90 ms

 

Test 2

Maria DB:

*** Script: FF: Total time to delete1000 incidents: 331479 ms

*** Script: FF: Average time per incident delete: 331.48 ms

 

Raptor DB:

*** Script: FF: Total time to delete1000 incidents: 251668 ms

*** Script: FF: Average time per incident delete: 251.67 ms

 

Raptor DB Pro:

*** Script: FF: Total time to delete1000 incidents: 227637 ms

*** Script: FF: Average time per incident delete: 227.64 ms

 

Test 3

Maria DB:

*** Script: FF: Total time to delete1000 incidents: 343415 ms

*** Script: FF: Average time per incident delete: 343.42 ms

 

Raptor DB:

*** Script: FF: Total time to delete1000 incidents: 250447 ms

*** Script: FF: Average time per incident delete: 250.45 ms

 

Raptor DB Pro:

*** Script: FF: Total time to delete1000 incidents: 227546 ms

*** Script: FF: Average time per incident delete: 227.55 ms

 

To calculate how much faster RaptorDB and RaptorDB Pro were I used the following formula:

(Old Time / New Time)  = times faster

 

For each test, I used MariaDB as the baseline and then calculated how much faster RaptorDB and RaptorDB Pro performed in comparison. The fastest result was achieved in Test 2,  where RaptorDB completed the task in 227,546  milliseconds. The slowest result occurred with MariaDB, which took 343,415 milliseconds during Test 3. By reviewing the table below and averaging the results, we can determine the mean times for each database. Using these averages, we can also calculate how many times faster RaptorDB and RaptorDB Pro were throughout our tests.

 

Test #

MariaDB (ms)

RaptorDB (ms)

RaptorDB Pro (ms)

1

339467

256753

227902

2

331479

251668

227637

3

343415

250447

227546

Average Times:

338120

252956

227695

Times Faster than MariaDB:

1

1.34

1.48

 

After examining the results, we can observe that in this record deletion test, RaptorDB was approximately 1.34 and RaptorDB Pro was approximately 1.48 times faster than MariaDB. However, it's important to note that this single test does not provide a comprehensive comparison between MariaDB and RaptorDB; it simply offers some insight into their raw performance. Interesting enough the deletion process was the slowest between insert, update, and delete. The previous test shown an increase of approximately 3 times faster with RaptorDB and RaptorDB Pro over Maria, where this test was around 1.4 times faster.

 

The views, thoughts, and opinions expressed here belong solely to me, and not necessarily to my employer, organization, committee, or any other group or individual.