![]() |
NoSQL: a non-SQL RDBMS
|
|
Speed TestsOnce I run some benchmars to get an idea of the actual NoSQL speed with respect to other similar packages, and below are the results. These tests were run a few years ago, where computing power was much more limited than it is nowadays, and when the internals of the involved NoSQL operators were different, i.e. those commands were less efficient than today.
Input table:
No. of fields = 18
No. of records = 21000
Total size = 3.4 MB
Column names:
seq
NAME
PREF
EXTENSION
DEPT
BLDNG
TOWN
NODE
USERID
DEPTT
CAPIN
EMPTYPE
EMPNUM
ADDITIONAL
MGRCC
PHONE
MGR
MGRNUM
Machine: P200, 64MB RAM, 1GB Wide-SCSI HD
OS: Debian GNU/Linux 2.0 (kernel 2.0.35)
RDB (Perl):
time col BLDNG NAME PREF USERID < table.rdb |
col BLDNG NAME PREF | col NAME >/dev/null
real 0m13.937s
user 0m10.340s
sys 0m0.440s
NoSQL (AWK):
time getcolumn BLDNG NAME PREF USERID < table.nosql |
getcolumn BLDNG NAME PREF | getcolumn NAME >/dev/null
real 0m3.910s
user 0m3.250s
sys 0m0.280s
Starbase (ANSI-C):
time column BLDNG NAME PREF USERID < table.starbase |
column BLDNG NAME PREF | column NAME >/dev/null
real 0m1.230s
user 0m0.720s
sys 0m0.170s
Input tables:
join1:
No. of fields = 4
No. of records = 21000
Total size = 660 KB
Column names:
NAME
PREF
EXTENSION
DEPT
join2:
No. of fields = 4
No. of records = 21000
Total size = 700 KB
Column names:
NAME
BLDNG
TOWN
NODE
Machine: P-II 233, 32MB RAM, 3GB EIDE U-DMA HD
OS: Debian GNU/Linux 2.0 (kernel 2.0.35)
RDB (Perl):
time jointbl -md < join1.rdb NAME join2.rdb >/dev/null
real 0m10.630s
user 0m10.540s
sys 0m0.020s
NoSQL (AWK):
time jointable -a 1 -j NAME - join2.nosql < join1.nosql >/dev/null
real 0m1.198s
user 0m1.140s
sys 0m0.030s
Starbase (C):
time jointable -A1 -j NAME join1.starbase join2.starbase >/dev/null
real 0m0.881s
user 0m0.860s
sys 0m0.020s
Trackbacks (2) | New trackback | Comments (0) | Print |