DataBase

23rd May
2009
written by cashplk

看到InfoQ上关于CouchDB的报道,正好最近也在研究Erlang,就看看。

CouchDB是一个文档形数据库。本身的程序已经实现了基本的管理。和数据库的交互采用的是JS,具体传输的数据是JSON格式的。

下面是Eralng的架构图:

erlang-arch

可以看到,中间层完全使用Erlang编写, 底层搜索则是Lucene。

ubuntu下面的安装:

sudo apt-get install couchdb

OK了之后,直接运行: sudo couchdb 即可运行。

/etc/couchdb/couch.ini,可以对运行的程序参数进行配置。

访问:http://127.0.0.101:5984/_utils/browse/index.html 就可以看到数据库的情况了。

此后的所有操作都可以在界面完成。

假如新建了一个blog的数据库,字段为text.

需要查询数据的时候,直接访问:http://127.0.0.1:5984/blog/1 就可以了。

显示的数据和这个类似:

{"_id":"1","_rev":"2166111176","text":"hello,world"}

初步使用了一下,觉得还不错,但是还是有几个疑问:
1,对于大规模的操作,性能如何?
2,直接页面编辑,必须按照JSON格式, 输入字符之类的,要“”补全。不能自动实现此功能,不爽。
3,中文字符似乎处理还不是很好。

Erlang的官方网站:http://couchdb.apache.org/index.html

23rd May
2009
written by cashplk

项目中看到,可以使用数据库的一个字段表示记录的不同状态。主要实用的是位运算,涉及的函数是 BIT系列函数。具体如下:


BITAND function:返回两个数值型数值在按位进行 AND 运算后的结果。

BITNOT function:返回数值型数值在按位进行 NOT 运算后的结果。

BITOR function:返回两个数值型数值在按位进行 OR 运算后的结果。

BITXOR function:返回两个数值型数值在按位进行 XOR 运算后的结果。

Tags: , ,