纯Python开发的nosql数据库CodernityDB介绍和使用实例


Posted in Python onOctober 23, 2014

看看这个logo,有些像python的小蛇吧 。这次介绍的数据库codernityDB是纯python开发的。

纯Python开发的nosql数据库CodernityDB介绍和使用实例

先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给力,结果一看实现的方式,真是太鸟了,居然就是json的存储,连个二进制压缩都没有。  这里介绍的CodernityDB 也是纯开发的一个小数据库。

CodernityDB是开源的,纯Python语言(没有第三方依赖),快速,多平台的NoSQL型数据库。它有可选项支持HTTP服务版本(CodernityDB-HTTP),和Python客户端库(CodernityDB-PyClient),它目标是100%兼容嵌入式的版本。

主要特点

1.Pyhon原生支持
2.多个索引
3.快(每秒可达50 000次insert操作)
4.内嵌模式(默认)和服务器模式(CodernityDB-HTTP),加上客户端库(CodernityDB-PyClient),能够100%兼容
5.轻松完成客户的存储

CodernityDB数据库操作代码实例:

Insert(simple)

 

from CodernityDB.database import Database

 

db = Database('/tmp/tut1')

db.create()

 

insertDict = {'x': 1}

print db.insert(insertDict)

 

 

 

 

Insert

 

from CodernityDB.database import Database

from CodernityDB.hash_index import HashIndex

 

class WithXIndex(HashIndex):

    def __init__(self, *args, **kwargs):

        kwargs['key_format'] = 'I'

        super(WithXIndex, self).__init__(*args, **kwargs)

 

    def make_key_value(self, data):

        a_val = data.get("x")

        if a_val is not None:

            return a_val, None

        return None

 

    def make_key(self, key):

        return key

 

db = Database('/tmp/tut2')

db.create()

 

x_ind = WithXIndex(db.path, 'x')

db.add_index(x_ind)

 

print db.insert({'x': 1})

 

 

 

Count

 

from CodernityDB.database import Database

 

db = Database('/tmp/tut1')

db.open()

 

print db.count(db.all, 'x')

 

 

Get

 

from CodernityDB.database import Database

 

db = Database('/tmp/tut2')

db.open()

 

print db.get('x', 1, with_doc=True)

 

 

Delete

 

from CodernityDB.database import Database

 

db = Database('/tmp/tut2')

db.open()

 

curr = db.get('x', 1, with_doc=True)

doc  = curr['doc']

 

db.delete(doc)

 

 

 

Update

 

from CodernityDB.database import Database

 

db = Database('/tmp/tut2')

db.create()

 

curr = db.get('x', 1, with_doc=True)

doc  = curr['doc']

 

doc['Updated'] = True

db.update(doc)
Python 相关文章推荐
python回溯法实现数组全排列输出实例分析
Mar 17 Python
python统计日志ip访问数的方法
Jul 06 Python
python学习必备知识汇总
Sep 08 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
PyCharm代码格式调整方法
May 23 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
Jul 01 Python
softmax及python实现过程解析
Sep 30 Python
tensorflow实现测试时读取任意指定的check point的网络参数
Jan 21 Python
python中tab键是什么意思
Jun 18 Python
python实现斗地主分牌洗牌
Jun 22 Python
python批量修改交换机密码的示例
Sep 22 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 #Python
使用Python开发windows GUI程序入门实例
Oct 23 #Python
手动实现把python项目发布为exe可执行程序过程分享
Oct 23 #Python
python文件操作整理汇总
Oct 21 #Python
Python中input和raw_input的一点区别
Oct 21 #Python
Python中if __name__ == "__main__"详细解释
Oct 21 #Python
Python创建文件和追加文件内容实例
Oct 21 #Python
You might like
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
javascript 隔行换色函数代码
2010/10/24 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
angularjs指令之绑定策略(@、=、&)
2017/04/13 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
美国性感内衣店:Yandy
2018/06/12 全球购物
思想专业自荐信范文
2013/12/25 职场文书
外企求职信范文分享
2013/12/31 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
小人国观后感
2015/06/11 职场文书
Python基础之元编程知识总结
2021/05/23 Python
mysql创建存储过程及函数详解
2021/12/04 MySQL