Batch Remove


#1

Aerospike can support Batch Get: http://www.aerospike.com/apidocs/c/db/dd9/group__batch__operations.html

How about to support Batch Remove?


Bytes as Outline Data
#2

Hi Hanson, Currently batch write/remove is not supported.


#3

Any plan to support Batch Remove?


#4

Yes, we’ll do all of the batch calls shortly - sorry I can’t be more specific - not in the next few months.

Honestly, most people get excited about the batch calls, but if you can deal with a simple async framework for your application that spins the requests in parallel (like using node or Jetty or Go coroutines), you’ll find Aerospike outperforms most systems in batch mode.

Of course, having a simple API is a good thing…


#5

Thanks for the feedback.

I expect the Batch Remove is done on server side with a single request from client to server, instead of a simple wrapper of client API to send multiple Remove requests. The purpose is for performance: to reduce total latency and CPU cost on both client and server.


#6

Does using the new Async client and calling the delete call in a loop same as calling delete function in parallel using some kinda async framework?

Thanks.


#7

I assume you are asking about the current single-record delete functionality. Yes, they would both be using the same record-delete call on the server side. The difference is purely on the client calling model.


#8

Thanks wchu for reply.

I was actually confused about difference in calling using normal client and async client. As per my understanding, calling using Async client will not wait for the response however normal client call will. Is that right?

Regards.


#9

You must be talking about the Java/C# client?

These Async calls are purely client side constructs, where the read/write requests are made none-blocking by putting the request on a queue, thus freeing up the calling thread.

Hope this helps.