Friday, May 3, 2013

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/