Posts Tagged octopus

Design of BerkeleyDB Client/Sever OctopusDbm

Last weekend I worked on the design of the new modules for OctopusDbm and looks like nice features are coming in soon. The first release was built, 0.6 and soon I will start documenting the current modules and design.

Community

Any open source project needs a community or group of people that like the technology and contribute with ideas, code, testing, analysis, etc… It will be a nice experience for me to learn how to do this. So the following weeks I will start promoting the project and trying to attract lovers for this project. Spread the word if you read this, this tech can be pretty cool.

Dbm

The client/server implementation works in such a way that the code change for applications already running BerkeleyDB software local is minimal. Almost all API methods are implemented in remote server.

Curently you may have:

?View Code PYTHON
from bsddb3 import db
Dbm = db.DB()
Dbm.open(sPath, db.DB_BTREE, db.DB_CREATE)
Dbm.put('Name', 'Jorge')
Dbm.close()

And with OctopusDbm:

?View Code PYTHON
from octopusdbm import Dbm
dbm = Dbm(hostName, user, password)
dbm.open(sPath, db.DB_BTREE, db.DB_CREATE)
dbm.put('Name', 'Jorge')
dbm.close()

So you basicly can open, put, create cursor, get, get table information, etc… same as you do in local. Keep in mind that for every database methods there is a call to the server. So server connections for open, put and close. If you need better performance we have direct operations where open and close are integrated, like getDirect(), getLIstDirect(), as well as bulk operations like getList() and putList() with tables opened.

Read the rest of this entry »

Post to Twitter Tweet This Post Post to Plurk Plurk This Post Post to Digg Digg This Post Post to Ping.fm Ping This Post

,

View Comments