Does Aerospike support snapshot?


#1

Hi All,

I am new to Aerospike and really want to try it as it’s said SSD friendly. However, I still have some questions and want to get help here. Thanks.

  1. Does Aerospike support snapshot? If so, the snapshot operation should be light-weighted, but not a heavy one, right? However, the answer might be no as I can’t find anything about snapshot…

  2. There are some limits shown on page FAQ. It said that one Aerospile cluster only supports 32 namespace and 1023 sets per namespace. Is that right. So what can I do if I have really large number of tables(sets)?

Thanks for any comments/replies, Zhenhua


#2
  1. What are you referring to specifically with snapshots? Aerospike in SSD mode (storage is configured per namespace) will read and write directly to the SSD via their own proprietary file system format.

  2. Those are the limits. Do you have more than 1023 sets per namespace? Aerospike is a key-value store so sets are just a virtual grouping, they dont make a difference your data. The key should be everything you need to find your record. You can extend your keys to prefix more information or you can use a secondary index with a bin value on the record to have more groups.


#3

Thanks for your reply.

  1. Snapshot is kind of database versioning. After being created, user can read from it w/o noticing any updates since then. Does aerospike support that?

  2. Just confirmation. Aerospike in SSD mode is built directly on SSD device, which means Aerospike over your own proprietary FS over raw SSD, but not Aerospike over your proprietary FS over Ext4(or anything) over raw SSD. Right?

  3. Little confused about virtual grouping. Might need to dig more in documentation. What I need is a bunch of tables with bunch of KV pairs for each. Number of tables and KV pairs can be extremely large. From your description, virtual grouping sounds similar with Amazon S3 bucket/key and prefixing mechanism. Set in Aerospike maps to Bucket in S3. Tables maps to subfolder under bucket. Is that right? I will dig more about this from web and header files.

Thanks, Zhenhua


#4
  1. No snapshotting.

  2. Custom log-structured file system on raw SSD.

  3. Just namespace > sets. No 3rd level. Sets are just a way to group records and form part of the key when you’re getting a record (namespace + set + keyname). If you have more than 1023 sets then you can use one of the bins of the record to hold a value for the group/table name and query via secondary index or you can use LDTs to store large lists of multiple values under 1 key.

Read the architecture documentation, especially this page: http://www.aerospike.com/docs/architecture/data-model.html


#5

Got it. Thank you very much for your reply.