In-Memory Computing
I did a quick basic testing and benchmarking on Altibase Database which is Hybrid Database (Memory + Disk).
For the sake of comparison with another RDBMS which resides on DISK, I took Microsoft SQL Server 2008 Enterprise Edition.
In OLTP environment, WRITE is very important than READ to handle & manage the transactions.
Below benchmark shows that in SQL Server 2008, 1036 transactions can be (INSERT) processed in 1 second with comparing to Altibase, 40000 transactions (INSERT) can be processed in 1 second. That’s a remarkable result. To understand true power of in-memory database & table, index were not created intentionally for in-memory table.
Altibase (HDB)
|
SQL Server 2008
Ent. Edt. RDBMS |
MS. Windows
2008 Ent. Edt. 64 bit
|
MS. Windows
2008 Ent. Edt. 64 bit
|
|
Intel Xeon
X5460 @3.16GHz Proc
2 socket x 4
cores
|
AMD Opteron
8222 SE 3.0GHz Proc
4 socket x 2
cores
|
|
Database & Table resides
in Memory (RAM)
|
Database – Table resides in Storage (DISK)
|
|
FSB Speed
|
HyperTransport
technology (It is same as Intel QPI)
|
|
Data is in ROW STORAGE
|
Data is in ROW STORAGE
|
|
Data is in uncompressed
format
|
Data is in uncompressed
format
|
|
Table Size in Memory
= 15.215 GB
|
Table Size on DISK
= 15.245 GB
|
|
Table has 2 columns of
CHAR(4023) each, so to maintain Data Page size of 8060
|
Table has 2 columns of
CHAR(4023) each, so to maintain Data Page size of 8060 minus 7bytes for
header
|
|
Data INSERT in table
took = 50 second and 020 mili second
|
Data INSERT in table
took = 32 min and 18 second
|
|
Rows – close to 2
million
|
Rows – close to 2
million
|
|
(READ) SELECT took = 25 mins and 553 mili second, with NO INDEX
|
(READ) SELECT took = 11mins
and 47 seconds, with NO INDEX
|
|
SELECT COUNT(*) ran in nano second, with NO INDEX
|
SELECT COUNT(*) took =
9mins and 30 seconds, with NO INDEX
|
For more information:-
http://www.microsoft.com/en-us/sqlserver/default.aspx
http://www.altibase.com/