Aerospike db: new Node driver, interesting performance results

24 views
Skip to first unread message

Brian Bulkowski

unread,
Jun 7, 2016, 9:31:05 AM6/7/16
to nodejs
Hello node people,

At Aerospike, we've long had a node driver written based on our blocking C client. Writing a pure-node client seemed possible but difficult, and we prefer ( generally ) to piggy-back on our performant and tested C client. We do that for PHP and Python too ( Java, C#, Go, and Ruby have language-native drivers ).

I'll admit it - a majority of Aerospike users program in C and Java ( and Scala and C# ). But a lot of my micro-benchmarks show Node's high performance, and I'd like to make sure Aerospike has excellent support for Node. We had a lot of comments that Aerospike's 1.x Node driver was not of the highest quality.

Recently, we went down the path of re-writing our C client for asynchronous performance in event-oriented systems, and I made sure we specified that the system would work natively in Node. I wanted to make sure we properly integrated with Node's event loop. And, we improved some of the APIs to make them more node-idiomatic.

We released, and the results are in. We've published to our blog a discussion of our travels in this area, and the performance that can be gained in Node if you follow the asynchronous mantra fully.

I hope the discussion can be of interest for those who are building high-performance drivers.

http://www.aerospike.com/blog/win-win-greater-speed-and-lower-latency-with-aerospikes-node-js-client-v2-0/

Brian Bulkowski
CTO, Founder - Aerospike
Reply all
Reply to author
Forward
0 new messages