Insert a large document using Java Client

Originally posted by: girishs wrote Fri Dec 06, 2013 1:29 pm

Can we use aerospike as a content store to store multiple documents ? If so then can you please point me to a sample Java implementation ?

This does depend on how large. Aerospike stores records in blocks. By default the size of this is 128KB. You can make this as large as 1MB. However, if you are looking to store objects larger than that, this will be an issue.

If you wish to change the block size, you can set it in the namespace with the “write-block-size”. Set this to 128KB or any multiple thereof up to 1 MB.

originally posted by girishs » Mon Dec 09, 2013 8:15 am

Thanks for the reply …Instead of storing in a single block (128 kb - 1 MB) ,is there a way to chunk a large document (100+ GB) while storing and when we assemble it while doing a retrieve operation…

Currently there is no built in mechanism for doing this. We do have customers that have written their own client-side functions to do this. However, for objects as large as 100GB+, we would probably not recommend using Aerospike at this time.

In the future, we will have a feature called Large Data Types (LDTs), which will allow you to store very large objects in parts, giving you random access to any piece of the data. This can allow you to load time series data or any data that is based on some index (such as time, etc). However, this is set for a 2014 release.

Could you share the nature of the large objects? This might help us guide you to a better answer.

Large objects (100+GB) can be a word document having images,XML or a multipage TIFF document.

If the size of the image (PNG/TIFF) is less than 1 MB. Can we load it as a block in Database ? if so then can you point me to an example or let me know feature that can be used ?