I’m currently going through making a final decision on what DB would serve my application best and I’ve been carefully looking into Aerospike but have yet to use it - I’ve been working with Redis before but unfortunately my application would become very expensive being completely in-memory. I’ve got SSD-powered servers (3 x 300GB, SW RAID1 but will undo any form of RAID if I decide to go with Aerospike) already.
The application itself is similar in a manner to Pastebin, but different as well. This means that I’m planning on storing data that can each individually range between 1B to 10MB (planning on setting a hard limit but unsure on exactly how much at the moment). I will be using the Node.js client and wondering if LDT’s supports a single bin value over the limit set (128KB as I’ll be using SSD’s)? I could chunk the data using a UDF or on the application-level and write multiple values, but I just don’t understand exactly how LDT works.
The way I’ve understood it is that I should create a LLIST for each individual “paste” and not one big LLIST for all of them since each bin value will differ so much in sizes - presuming each bin value can exceed the write-block limit which , if I remember correctly it can’t. Does this mean I should chunk the data into X/Y where X=data size and Y=write-block limit and write each chunk into an individual bin value and then assemble the chunks when being read again?
Hopefully I managed to clarify the application structure well enough!
Thanks in advance!