Exeray ArrayDB Achieves fast query speed

ArrayDB’s data query speed is also significantly faster. With 3 millions records each in table t1 and t2, we performed a simple join of the two tables on the key userid. The following result shows the query performance under Commercial Enterprise and ArrayDB:

Commmercial Enterprise:

sql> select t1.userid, t1.addr, t2.msgid from t1, t2 where t1.userid=t2.userid;

USERID ADDR MSGID
—————- —————- —————-
peach     orange    orange
cherry     red         red
apple      green     green
mango    orange   orange
banana   yellow    yellow

Elapsed: 00:00:24.09

We ran the query again:

sql> select t1.userid, t1.addr, t2.msgid from t1, t2 where t1.userid=t2.userid;

USERID ADDR MSGID
—————- —————- —————-
peach     orange    orange
cherry     red         red
apple      green     green
mango    orange   orange
banana   yellow    yellow

Elapsed: 00:00:10.04

ArrayDB:

rdb> join t1, t2 on key;
userid addr msgid
—————- —————- —————-
apple        green       green
banana    yellow     yellow
cherry     red           red
mango    orange    orange
peach     orange     orange
server time is 268 milliseconds
—————————————————
Done in 307 milliseconds

The query speed is about 37X of Commercial Enterprise even we used the time of the second query. Multiple runs of data query have used the system’s cached data which makes the query faster than reading cold data.

Advertisements

Exeray data write speed is 20X more than Commmercial Database

Exeray’s revolutionary big data technology shows its power in big data storage and indexing. We inserted 3,000,000 records into our ArrayDB and recorded the clock time. We did the same in a well-known Commercial Database (CD). It took CD 23 minutes 3 seconds to finish the insert, but it took only 51 seconds in ArrayDB. This is 26X speed up! As more data is inserted, we expect this speedup factor steadily increases. Exeray’s disruptive data storage and indexing technology brings significant advance in today’s computing environment where data enters IT systems with extremely high velocity.

Each inserted record contains a 16 byte key and a 16 byte value filed. CD and ArrayDB all indexed on the keys.

$ wc -l /tmp/3M1.txt
3000005 /tmp/3M1.txt

$ head /tmp/3M1.txt
5MF0awxWQ3yjG319,ghDzzn2S8EfTruhw
hXupr1ki3QBHTBQ7,SrGrOGjUlwNK05gf
0JDrKXJLNjsEUgLM,Fpbu5sooWa8Wfpad
8NEQImAtF07xhQhU,fqokSLHOTPI6cQji
BV7jhHKUHRrWHGRU,6ddYWUKPHrVSfeaR
8f8pWTiCIHyooniu,Btrvn9l3AgVQt3FB
jNYdEePnWmJkHZOi,tdMOn7RVlKJMOol5
aiiMw67sqQM7Qzoj,Ma57fX3AHKlt7Gyh
YP1vV9VjXGqLfO4Z,Y85d56MKQ7cXLKcI
xedql6JiMa4ZW6ZT,e24h8Q0YVcWHU6ps

In Commercial Database environment:

load  ‘/tmp/3M1.txt’ into table T1:

Start time: Thu Oct 23 23:04:39 EDT 2014
End time:   Thu Oct 23 23:27:42 EDT 2014

Top shows 1.2GB memory usage.

sql>  select count(*) from t1;

Count(*)
———-
3000005

Elapsed: 00:00:00.11

In ArrayDB environment:

$ rsql

Raydb Server 1.0 from Exeray

rdb> load file /tmp/3M1.txt into t1;
Done in 51048 milliseconds

Top shows 166MB memory usage.

rdb>  select count(*) from t1;
3000005
—————————————————
Done in 98 milliseconds

In the next blog post, we will compare Commercial Database and ArrayDB in data query.