nosql是目前快速的,基于key value的,一般不支持sql查询的一种数据库的统称。
Nosql是为了解决性能问题才被提到桌面上的,如果不是为了性能,就用一般的DBMS即可。
http://www.oschina.net/project/tag/235/nosql 这里有许多nosql的东西。
http://www.oschina.net/news/24176/2011-hot-nosql-dbs 这几个nosql估计很好。
http://article.yeeyan.org/view/271351/239915#comment也讨论了几种nosql技术。都没有提高leveldb。不过google 的 leveldb应该是比较靠后出来的。
用nosql就要先弄清为什么要用?用nosql比自己用哈希表哪里好?
nosql的实现一般都是用了 原子更新,就是你不必是用mutex就可以在多线程中put/get数据,而不会产生乱码。因为nosql内部是有这些东西的。
所以使用比较方便,但是对于Key Value这种形式,保存的数据许多都是string类型,哎,还要为了他的key value 吧自己的东西构造成这种东西。
我的需求就是C/C++开发使用的,其他也没什么要求。暂时选择leveldb,google的。
leveldb最大的恶心的地方就是文档太差劲,你必须阅读源码才能知道一些东西怎么使用。!
再弄点leveldb的资料:http://hideto.iteye.com/blog/1328921 资料整理
以及 leveldb 初学者的宝典:http://www.blogjava.net/sandy/archive/2012/03/08/leveldb1.html 编译方法
给这个文章补充一下:
编译命令为g++ ldbtest.cpp -o ldbtest -L. -I./include -lpthread -lleveldb
(工作目录就是leveldb目录中) include下面是leveldb的头文件,-L 搜索library 为了libleveldb.a能够被调用。