108 karma · joined April 22, 2013
zBase is used as highly available key-value store for writes and reads. It offers few fancy operations like get-lock as well.
- LRU based or random eviction based cache management.
- Support for multiple disks and thereby IO parallelism.
- Incremental Backup and Restore (You can pack 5x .. 10x size of RAM in ZBase and make use of incremental backups for node failover)
- Incremental backup helps to offer Blob level restore in hourly, daily and weekly granularities)
- Cluster manager - ZBase operates by partitioning entire data into virtual buckets and servers act as containers to hold these vbuckets. Hence provides scalable ways to increase or decrease the number of servers in a cluster.
Sync apps on android is already launched. iOS and desktop client coming soon. They have launched an SDK which helps developers build apps based on Mega storage layer.
If you look at Mega API and SDK, design wise it is very clean. You can build your own custom application by importing those libraries which are not prone to this kind of attacks.
I wrote something like this to optimize disk seeks heavily by returning a reference of 8 byte and keeping a hashtable in memory. A mostly-append only records store that allowing mutations of same key and by rounding size of blobs by power of 2. Written to optimize storage layer for Membase.