Ancelus Benchmarks



The benchmarks for Ancelus have been carefully designed to avoid special advantage from the use of cache memory or other non-random conditions.  The use of “page anticipation” algorithms has been carefully avoided, along with any other technique that might require prior knowledge of the application or data structure.  When comparing Ancelus with table-based relational databases, both systems are loaded from the same randomized file.  Data load time is not included in benchmark times.


Relational Database Comparison

Three Table SQL range select

Table 1: 200 million rows, 2 columns; Table 2: 1 million rows, 2 columns

Table 3: 100,000 rows, 2 columns; 12,000 hits in range


Three Table Join Results

Benchmark

RDB

Ancelus

Ratio

First Return

230 sec

270 micro sec

850,000:1

Full List

230 sec

33 milli sec

7,000:1

Key Insert Transaction Latency (table 1)

7 micro sec

Transactions / Second

53 T/s

371,000 T/s

7,000:1

$/100 Trans/Second (hardware only)

$2,264

$0.32

7,000:1

Transactions / Second (Dual Core)

53 T/s

722,000 T/s

13,000:1

$/100 Trans/Second (hardware only)

$2,264

$0.17

13,000:1

Add Column

3,940 sec

800 milli sec

5,000:1

Total Lock time

3,940 sec

<100 nano sec

4x1013:1

Out of Service time

3,940 sec

0

NA

Dataspace Compression

14.1  GB

3.2 GB

77%





Functional Performance in a Single Table

Function

Width

Rows

nano sec

Transactions / sec

Notes

Find (indexed lookup)

10

10,000

410

2,400,000

c


10

100,000

860

1,200,000

c


10

1,000,000

1700

590,000

c


10

10,000,000

2900

340,000

c


10

100,000,000

4600

220,000

c

Get/Put

10

10,000

45

22,000,000

c


10

100,000

82

12,000,000

c


10

1,000,000

130

7,100,000

c


10

10,000,000

170

5,900,000

c


10

100,000,000

220

4,500,000

c

Next/Pre (Key)

10

10,000

75

13,000,000

c


10

100,000

150

5,000,000

c


10

1,000,000

250

4,200,000

c


10

10,000,000

340

2,900,000

c


10

100,000,000

430

2,300,000

c

Insert/Delete (Key)

10

10,000

940

1,100,000

c


10

100,000

1400

710,000

c


10

1,000,000

2300

430,000

c


10

10,000,000

3800

260,000

c


10

100,000,000

6100

160,000

c

Next/Pre (List)

4

1,000,000

140

7,100,000

a

Insert/Delete (List)

4

1,000,000

160

6,300,000

a

Lock & Unlock Column



20


a

Open Database



150 micro sec


a


Benchmark Notes
a Not size dependent
b Time increases linearly with size
c Time increases as the log of size
SW Ancelus 3.0.0 (64 bit); Linux 2.6 (64 bit)
HW AMD Athalon Dual Core x2 5200+ (64 bit); 8 GB PC 6400 memory


Size Limitations
Feature Current Limit Expandable to: Comments
Memory Segments

256

 

potentially limited by the operating system
Largest memory segment

2 terabytes

8 exabytes

Database size

512 terabytes

8 exabytes

tables and columns can span multiple memory segments
Tables

2 billion

2 trillion

Rows

2 billion

2 trillion

Columns

2 billion

2 trillion

Columns per database

2 billion

2 trillion