Complete
            
  • Download
  • Benchmarks
  • Resources
  • FAQ
  • News
Benchmarks
CompleteDB Embedded Benchmarks
System Configuration
Benchmark Application
Test Parameters
INSERT
SELECT
UPDATE
DELETE
MIXED WORKLOAD
MULTICORE SCALABILITY



CompleteDB Embedded Benchmarks

 Back to top

We tested our 64-bit CompleteDB Embedded database using native Direct C++ API. The purpose of the test was to show concurrent transactional processing power of our kernel. The details of the test parameters and the hardware are given below.




System Configuration

 Back to top

Server Server T710 Dell Server with 2 CPU Sockets
Number of Processors 2
Processor E5530 Xeon Processors, 2.4GHz 8M Cache
Total Cores 8
Total Hardware Threads 16
NUMA Nodes 2
RAM Memory 98GB
Operating System Windows Server 2008 R2, Standard Edition



Benchmark Application

 Back to top

The test is performed on 14 pinned hardware threads (logical CPU cores) leaving 2 threads for the operating system. The database was completely in-memory and in non-durable mode. Every test was run using two different access methods DirectId and SurrogateId. Ids were randomly shuffled for each SELECT, UPDATE and DELETE operation.

DirectId is an internal database record identifier representing the physical in-memory location where the record resides. It is the fastest method to access a record. SurrogateId is a hash key index used to uniquely identify a row in a database table.

Each modification operation (INSERT, UPDATE, and DELETE) was committed as a separate transaction using READ_COMMITED isolation level. Each SELECT operation was performed as a separate operation.




Test Parameters

 Back to top

Table size (records) Number of records inserted in a table before test starts
Number of columns Number of columns in a test table
Column size Size of each column in bytes
Access method DirectId or SurrogateId
Test Type INSERT, UPDATE, DELETE, SELECT or MIXED WORKLOAD
CPU Cores Number of logical CPU cores used
Transactions per second Committed transactions per second



INSERT

 Back to top

In this benchmark we test INSERT only performance.


Table size (records) 0
Number of columns 10
Column size 8 bytes
Access method DirectId
Test Type INSERT
CPU Cores 14
Transactions per second 7.43 Million
Table size (records) 0
Number of columns 10
Column size 8 bytes
Access method SurrogateId
Test Type INSERT
CPU Cores 14
Transactions per second 4.43 Million
Table size (records) 0
Number of columns 25
Column size 8 bytes
Access method DirectId
Test Type INSERT
CPU Cores 14
Transactions per second 3.32 Million
Table size (records) 0
Number of columns 25
Column size 8 bytes
Access method SurrogateId
Test Type INSERT
CPU Cores 14
Transactions per second 2.76 Million



SELECT

 Back to top

In this benchmark we test SELECT only performance. Each column's value was copied into local memory during each select operation.


Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method DirectId
Test Type SELECT
CPU Cores 14
Transactions per second 38.5 Million
Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method SurrogateId
Test Type SELECT
CPU Cores 14
Transactions per second 22.3 Million
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method DirectId
Test Type SELECT
CPU Cores 14
Transactions per second 27.5 Million
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method SurrogateId
Test Type SELECT
CPU Cores 14
Transactions per second 15.9 Million



UPDATE

 Back to top

In this benchmark we test UPDATE only performance. Each column's value was changed during each update operation.


Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method DirectId
Test Type UPDATE
CPU Cores 14
Transactions per second 19.4 Million
Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method SurrogateId
Test Type UPDATE
CPU Cores 14
Transactions per second 14.6 Million
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method DirectId
Test Type UPDATE
CPU Cores 14
Transactions per second 18.3 Million
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method SurrogateId
Test Type UPDATE
CPU Cores 14
Transactions per second 13.4 Million



DELETE

 Back to top

In this benchmark we test DELETE only performance.



Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method DirectId
Test Type DELETE
CPU Cores 14
Transactions per second 22.1 Million
Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method SurrogateId
Test Type DELETE
CPU Cores 14
Transactions per second 11.3 Million
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method DirectId
Test Type DELETE
CPU Cores 14
Transactions per second 19.8 Million
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method DirectId
Test Type DELETE
CPU Cores 14
Transactions per second 9.79 Million



MIXED WORKLOAD

 Back to top

In this benchmark we test mixed workload performance with the following read/write ratios - 1 delete per 4 updates, per 8 inserts, per 64 selects.


Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method DirectId
Test Type MIXED WORKLOAD
CPU Cores 14
Transactions per second 40.6 Million
Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method SurrogateId
Test Type MIXED WORKLOAD
CPU Cores 14
Transactions per second 16.5 Million
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method DirectId
Test Type MIXED WORKLOAD
CPU Cores 14
Transactions per second 26.9 Million
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method SurrogateId
Test Type MIXED WORKLOAD
CPU Cores 14
Transactions per second 12.8 Million



MULTICORE SCALABILITY

 Back to top

In this benchmark we test the scalability of mixed workload performance on multiple cores (1, 2, 3 .. 14) with the following read/write ratios - 1 delete per 4 updates, per 8 inserts, per 64 selects.


Table size (records) 100,000,000
Number of columns 10
Column size 8 bytes
Access method SurrogateId
Test Type MIXED WORKLOAD
Table size (records) 100,000,000
Number of columns 25
Column size 8 bytes
Access method SurrogateId
Test Type MIXED WORKLOAD

845-290-9747
contact@completedb.com

25 Robert Pitt Drive, Suite 106
Monsey, NY 10952
U.S.A.

© Copyrights CompleteDB LLC, 2012-2014. All rights reserved.
Home  |   Company  |   Download  |   Benchmarks  |   Resources  |   FAQ  |  News