纯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 深入理解yield
Sep 06 Python
python实现从字典中删除元素的方法
May 04 Python
python实现基于SVM手写数字识别功能
May 27 Python
pandas获取groupby分组里最大值所在的行方法
Apr 20 Python
python 处理string到hex脚本的方法
Oct 26 Python
django session完成状态保持的方法
Nov 27 Python
Python解决线性代数问题之矩阵的初等变换方法
Dec 12 Python
Python的log日志功能及设置方法
Jul 11 Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
python上selenium的弹框操作实现
Jul 13 Python
Python 连接 MySQL 的几种方法
Sep 09 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+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
php数组键值用法实例分析
2015/02/27 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
extjs 为某个事件设置拦截器
2010/01/15 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
Django框架验证码用法实例分析
2019/05/10 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
工作表扬信的范文
2014/01/10 职场文书
学习雷锋演讲稿
2014/05/10 职场文书
资产运营委托书范本
2014/10/16 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
员工评语范文
2014/12/31 职场文书
升职自荐信怎么写
2015/03/05 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
Python os和os.path模块详情
2022/04/02 Python