In a previous post I discussed the benefits of using membase server. I mentioned that I was using the “memcached” bucket type instead of the membase bucket type, because I wanted to save money. I was using EBS backed EC2 instances, and while the membase writes to disk do not impact performance significantly, disk I/O in EC2 costs you money if your using EBS.
Instance-store to the rescue.
Instead of using EBS, you can use the local “instance store” to back your root device. AWS does not charge for I/O to instance-store. The downside, is the data is not persistent (if your instance dies/terminates, so does the data on the root device). The good thing is membase supports replication – so if you do need to make sure your data does not go away, simply enable replication (its a SINGLE checkbox in membase 🙂
To summarize:
- Using instance-store instances to create your membase cluster will give you the ability to use membase buckets without the I/O cost
- Using membase buckets is good because 1) has more features 2) in my personal opinion, membase buckets are more stable because they are more common, and thus have much more burn-in out in the field
- Making your own instance-store backed AMI is a pain, but its doable.