Services/KeyValueStorage: Difference between revisions
< Services
Jump to navigation
Jump to search
Line 24: | Line 24: | ||
It would be good to find and isolate some use cases in the existing Services apps. | It would be good to find and isolate some use cases in the existing Services apps. | ||
* Build a SyncStorage plugin that stores data in the KVStore? | * Build a SyncStorage plugin that stores data in the KVStore? | ||
Management features | |||
* built-in quota system? Will be more efficient than simulating it at a higher level. |
Revision as of 04:21, 13 September 2011
Planning Questions
How simple can we get away with while still providing useful functionality?
- maximum key size, value size?
- key => single value?
- key => set of values? (like e.g. riak with siblings enabled)
- key + column => value? (like e.g. bigtable or cassandra)
- keys in sorted order? (i.e. hash or btree?)
- handling of concurrent edits, conflicts?
- bulk insert, update or delete operations?
Crypto
- can it sensibly be done at this layer, or do we need to defer to the application?
- encrypted keys would make key-ordering useless
Authentication to App
- can AppKeys be used for authentication, e.g. some sort of request signing with the app key?
We will probably want some sort of partitioning or "buckets".
- AppKey => list of buckets?
- AppKey + UserID => list of buckets?
- can a bucket be shared between multiple apps? multiple users?
It would be good to find and isolate some use cases in the existing Services apps.
- Build a SyncStorage plugin that stores data in the KVStore?
Management features
- built-in quota system? Will be more efficient than simulating it at a higher level.