Some time ago and his colleagues discuss the key-Value DB purposes, that is very useful. Intended to achieve a prototype next week. A few days ago to write today to summarize the documents. Hope that some suggestions and opinions.
Features:
Relational database functions vis-à-vis less, only a limited inquiry of Key-Value, as well as some management functions. Compared with the relational database can provide more robust performance, provide better manageability (mostly self-management), scalability.
Objectives:
Key-Value simple operation
Management functions
Self-management features
High-performance
Data security
The scope of application:
Large amount of data, high-traffic site
Requirements for data security software
Project:
Less because the overall function, can use the various components of the existing technology, development work should not be very big. 1-2 individuals will be able to complete.
Data storage layer can be used berkeydb or Mysql
Http data communication can be used or tcp
Functional Design
N data for each deposit of Copy
Client write data to a node, while the other copy to the copy node
Client API
get (groupName, key)
getMulti (groupName, keys)
set (groupName, key, value)
setMulit (groupName, keyValuePairs)
listKey (groupName, startPos, count)
listKey (groupName, startKey, count)
Management functions
View the operation of each node
Add node
Remove node
Performance Management
See the client (ip) the use of data (the number of memory hits, did not hit the number of memory, write the number)
See the various accounts of the use of data (the number of memory hits, did not hit the number of memory, write the number)
Restricted to a certain client (ip) the use of
Restrictions on the use of an account







