分布式Key-Value数据的开发可行性分析

本文探讨了一种简单Key-Value数据库的设计思路,重点介绍了其高性能、自管理和数据安全的特点,并提供了具体的功能设计和技术选型建议。

 

前段时间和同事讨论key-Value DB的用途的问题,说是非常的有用。下周打算实现一个原型。今天把前几天写的文档总结一下。希望大家提些建议和意见。

功能:
    相对于关系数据库功能更少,只提供有限的Key-Value查询功能,以及一些可管理功能。相对于关系数据库可以提供更加强劲的性能,提供更好的可管理性(大部分自管理),可伸缩性。
    目标:
           简单的Key-Value操作
           管理功能
           自管理特性
           高性能
           数据高安全
 
应用范围:
    大数据量、高访问量的网站
    对数据安全要求高的软件
 
项目工程:
    因为总体功能比较少,各个组成部分可以使用现有的技术,开发工作量应该不会很大。1-2个人就可以完成。
    数据存储层可以用berkeydb 或 Mysql
    数据通讯可以用Http协议 或 tcp
   
功能设计
    每一个数据存 N 份 Copy
    Client 向一个节点写数据,同时复制给其他copy节点
 
    客户端API
        get(groupName,key)
        getMulti(groupName,keys)
        set(groupName,key,value)
        setMulit(groupName,keyValuePairs)
        listKey(groupName,startPos,count)
        listKey(groupName,startKey,count)
 
     管理功能
        查看各节点运行情况
        添加节点
        移除节点
 
     性能管理
        查看各客户端(ip)的使用量数据 (命中内存的次数、未命中内存的次数、写的次数)
        查看各个账号的使用量数据  (命中内存的次数、未命中内存的次数、写的次数)
        限制某客户端(ip)的使用
        限制某账号的使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值