纯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+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
python 反向输出字符串的方法
Jul 16 Python
python实现任意位置文件分割的实例
Dec 14 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
Jan 04 Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 Python
python绘制玫瑰的实现代码
Mar 02 Python
windows python3安装Jupyter Notebooks教程
Apr 13 Python
详解KMP算法以及python如何实现
Sep 18 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
Feb 03 Python
Python+Appium实现自动抢微信红包
May 21 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对mongodb的扩展(初出茅庐)
2012/11/11 PHP
php实现文件编码批量转换
2014/03/10 PHP
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
python单例模式实例分析
2015/04/08 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
计算机专业毕业生求职信分享
2013/12/24 职场文书
思想汇报格式
2014/01/05 职场文书
个人授权委托书格式
2014/08/30 职场文书
入股协议书范本
2014/11/01 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
Java基础——Map集合
2022/04/01 Java/Android