純Python開發的nosql資料庫CodernityDB介紹和使用執行個體

來源:互聯網
上載者:User
看看這個logo,有些像python的小蛇吧 。這次介紹的資料庫codernityDB是純python開發的。

先前用了下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)

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.