leveldb是一个非常强悍的kv数据库,自然,我也希望能在go中使用。 假设有官方的go leveldb实现,那我会优先考虑。譬如这个。可是该库文档全然没有,而且在网上没发现有人用于实战环境。对其是否能在生产环境中使用打上问号,保险起见,我还是决定不使用。 由于leveldb有c的接口,所以通过c ...
分类:
数据库 时间:
2017-05-24 19:14:27
阅读次数:
234
Hash hash可以算是一种两级kv,首先通过key找到一个hash对象,然后再通过field找到或者设置相应的值。 在ledisdb里面,我们需要将key跟field关联成一个key,用来存放或者获取对应的值,也就是key:field这种格式。 这样我们就将两级的kv获取转换成了一次kv操作。 ...
分类:
数据库 时间:
2017-05-24 14:40:25
阅读次数:
268
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因有:完全基于内存;数据结构简单,对数据操作也简单;使用多路I/O复用..
分类:
编程语言 时间:
2017-05-19 14:33:44
阅读次数:
144
SSDB简介SSDB是一个C/C++语言开发的高性能NoSQL数据库,支持KV,list,map(hash),zset(sortedset)等数据结构,用来替代或者与Redis配合存储十亿级别列表的数据.SSDB是稳定的,生产环境使用的,已经在许多互联网公司得到广泛使用,如奇虎360,TOPGAME.下载和安装wget--no-check-certific..
分类:
数据库 时间:
2017-05-11 22:31:30
阅读次数:
270
特别说明: 1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识; 2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库; 3、 本文未深入数据库 ...
分类:
数据库 时间:
2017-05-03 09:22:08
阅读次数:
184
一、查询缓存说明MySQLQueryCache是用来缓存我们所执行的SELECT语句以及该语句的结果集,MySql在实现QueryCache的具体技术细节上类似典型的KV存储,就是将SELECT语句和该查询语句的结果集做了一个HASH映射并保存在一定的内存区域中。当客户端发起SQL查询时,QueryCache的查找逻..
分类:
数据库 时间:
2017-04-28 23:35:44
阅读次数:
224
主要用来过滤剩下行键计数一类 KeyOnlyFilter 官方API解释如下: A filter that will only return the key component of each KV (the value will be rewritten as empty). This filte ...
分类:
其他好文 时间:
2017-04-27 23:13:52
阅读次数:
284
数据库访问性能优化特别说明:1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库;3、 本文... ...
分类:
其他好文 时间:
2017-04-04 17:27:42
阅读次数:
215
LevelDB由 Jeff Dean和Sanjay Ghemawat开发。 LevelDb是能够处理十亿级别规模Key-Value型数据持久性存储的C++ 程序库。 特别如下: 1、LevelDb是一个持久化存储的KV系统,将大部分数据存储到磁盘上。 2、LevleDb在存储数据时,是根据记录的ke ...
分类:
数据库 时间:
2017-04-02 12:42:09
阅读次数:
295
复合数据类型 Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域a Maps(K-V对):访问指定域可以通过["指定域名称"]进行,例如,一个Map M包含了一个group-》gid的kv ...
分类:
其他好文 时间:
2017-03-24 10:44:56
阅读次数:
218