zhaohai-shen

导航

 

2016年6月13日

摘要: VSL是Virtools提供的一个非常有创意的脚本语言,它以输写代码的方式(区别于Virtools现有的图形化编程界面)进行编程开发,提高了程序的可读性和工作效率。 下图的功能是:将一个3D物体拷贝出10个,然后分别重新命名这10个新的3D物体。要完成这样的功能需要4个BB进行组合,要连接8条线。 阅读全文
posted @ 2016-06-13 10:30 zhaohai-shen 阅读(667) 评论(0) 推荐(0) 编辑
 

2014年8月28日

摘要: http://www.iteye.com/news/27628http://zyan.cc/post/394/ 阅读全文
posted @ 2014-08-28 14:17 zhaohai-shen 阅读(123) 评论(0) 推荐(0) 编辑
 

2014年8月13日

摘要: 创建sstable文件了解了sstable文件的存储格式,以及Data Block的组织,下面就可以分析如何创建sstable文件了。相关代码在table_builder.h/.cc以及block_builder.h/.cc(构建Block)中。6.4.1 TableBuilder类构建sstabl... 阅读全文
posted @ 2014-08-13 17:51 zhaohai-shen 阅读(364) 评论(0) 推荐(0) 编辑
 
摘要: http://blog.csdn.net/sparkliang/article/details/8635821BlockBuilder的接口首先从Block的构建开始,这就是BlockBuilder类,来看下BlockBuilder的函数接口,一共有5个:[cpp]view plaincopyvoi... 阅读全文
posted @ 2014-08-13 17:49 zhaohai-shen 阅读(279) 评论(0) 推荐(0) 编辑
 

2014年8月12日

摘要: SSTable是Bigtable中至关重要的一块,对于LevelDB来说也是如此,对LevelDB的SSTable实现细节的了解也有助于了解Bigtable中一些实现细节。 本节内容主要讲述SSTable的静态布局结构,SSTable文件形成了不同Level的层级结构,至于这个层级结构是如何形成的我... 阅读全文
posted @ 2014-08-12 15:13 zhaohai-shen 阅读(361) 评论(0) 推荐(0) 编辑
 

2014年8月11日

摘要: 分析完KV在内存中的存储,接下来就是操作日志。所有的写操作都必须先成功的append到操作日志中,然后再更新内存memtable。这样做有两个有点:1可以将随机的写IO变成append,极大的提高写磁盘速度;2防止在节点down机导致内存数据丢失,造成数据丢失,这对系统来说是个灾难。在各种高效的存储... 阅读全文
posted @ 2014-08-11 18:11 zhaohai-shen 阅读(498) 评论(0) 推荐(0) 编辑
 
摘要: 背景我们都知道,对于一个高性能的服务器端程序来说,内存的使用非常重要。C++提供了new/delete来管理内存的申请和释放,但是对于小对象来说,直接使用new/delete代价比较大,要付出额外的空间和时间,性价比不高。另外,我们也要避免多次的申请和释放引起的内存碎片。一旦碎片到达一定程度,即使剩... 阅读全文
posted @ 2014-08-11 15:20 zhaohai-shen 阅读(756) 评论(0) 推荐(0) 编辑
 
摘要: memtable常驻于内存,需要按照key进行排序,通常意义上的话,可以使用二叉查找树来实现,跟进一步可以使用红黑树保证树的平衡,但是leveldb中使用了另外的一种数据结构:跳表Skip List。memtable声明在db/memtable.h中,定义如下:view plainclassMemT... 阅读全文
posted @ 2014-08-11 10:32 zhaohai-shen 阅读(345) 评论(0) 推荐(0) 编辑
 

2014年8月10日

摘要: http://www.cnblogs.com/xuqiang/archive/2011/05/22/2053516.html跳表是由William Pugh发明。他在 Communications of the ACM June 1990, 33(6) 668-676 发表了Skip lists: ... 阅读全文
posted @ 2014-08-10 18:44 zhaohai-shen 阅读(546) 评论(0) 推荐(0) 编辑
 

2014年8月8日

摘要: http://blog.csdn.net/sparkliang/article/details/8604416 阅读全文
posted @ 2014-08-08 09:31 zhaohai-shen 阅读(115) 评论(0) 推荐(0) 编辑
 

2014年8月7日

摘要: http://www.kuqin.com/database/20110919/265041.htmlSlice非常简单的数据结构,它包括length和一个指向外部字节数组的指针。为什么使用Slice,而不直接使用string呢??相比返回string,返回Slice的开销会小的多(没有拷贝,Slic... 阅读全文
posted @ 2014-08-07 16:02 zhaohai-shen 阅读(167) 评论(0) 推荐(0) 编辑
 
摘要: 星星:http://duanple.blog.163.com/blog/#m=0leveldb 细节:http://www.kuqin.com/database/20110919/265039.htmlhttp://blog.csdn.net/tankles?viewmode=contentsroc... 阅读全文
posted @ 2014-08-07 15:56 zhaohai-shen 阅读(118) 评论(0) 推荐(0) 编辑
 
摘要: http://blog.sina.com.cn/s/blog_7708265a01010pb5.html 阅读全文
posted @ 2014-08-07 15:26 zhaohai-shen 阅读(152) 评论(0) 推荐(0) 编辑
 
摘要: http://blog.sina.com.cn/s/blog_693f08470101n2lv.html说起跳表,我们还是要从二分查找开始。二分查找的关键要求有两个,1,数据能够按照某种条件进行排序。2,可以通过某种方式,取出该数据集中任意子集的中间值。能够满足的数据结构主要是有序数组,但对于数据量... 阅读全文
posted @ 2014-08-07 10:42 zhaohai-shen 阅读(264) 评论(0) 推荐(0) 编辑
 

2014年8月5日

摘要: Coming from http://blog.sina.com.cn/s/blog_693f08470101njc7.html今天来聊聊lsm tree,它的全称是log structured merge tree ,简单来说,lsm tree可以认为是针对传统b树在磁盘写入上低劣表现的一种优化,... 阅读全文
posted @ 2014-08-05 20:42 zhaohai-shen 阅读(559) 评论(0) 推荐(0) 编辑
 
摘要: http://qing.blog.sina.com.cn/whisperxd?page=2 阅读全文
posted @ 2014-08-05 10:40 zhaohai-shen 阅读(114) 评论(0) 推荐(0) 编辑
 
摘要: http://blog.csdn.net/v_july_v/article/details/6530142第一节、B树、B+树、B*树(原文部分摘录)1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree... 阅读全文
posted @ 2014-08-05 10:39 zhaohai-shen 阅读(163) 评论(0) 推荐(0) 编辑
 

2014年8月4日

摘要: coming fromhttp://duanple.blog.163.com/blog/static/7097176720120391321283/ 阅读全文
posted @ 2014-08-04 17:23 zhaohai-shen 阅读(275) 评论(0) 推荐(0) 编辑
 
摘要: coming fromhttp://blog.csdn.net/sparkliang/article/details/8573618 阅读全文
posted @ 2014-08-04 14:48 zhaohai-shen 阅读(107) 评论(0) 推荐(0) 编辑
 
摘要: coming fromhttp://blog.csdn.net/sparkliang/article/details/8567602【前言:看了一点oceanbase,没有意志力继续坚持下去了,暂时就此中断,基本上算把master看完了,比较重要的update server和merge server... 阅读全文
posted @ 2014-08-04 14:47 zhaohai-shen 阅读(299) 评论(0) 推荐(0) 编辑
 

2014年8月1日

摘要: coming from http://zhidao.baidu.com/link?url=B_7AA_O6TkCVlKw9t_Xifu6TzpaFUiDEVkH1iTRT4vUGD0uRmazwdufY5-c0o74Z9h3k7CpVNl3JYq7ackdTpuMyo0srJuYbCcn14ktq7... 阅读全文
posted @ 2014-08-01 17:16 zhaohai-shen 阅读(185) 评论(0) 推荐(0) 编辑
 
摘要: coming from http://www.cppblog.com/wrhwww/archive/2010/07/29/121573.html在处理图形运算,特别是3D图形生成运算时,往往要定义一个Fixed数据类型,我称它为定点数,定点数其时就是一个整形数据类型,他的作用就是把所有数进行转换,从... 阅读全文
posted @ 2014-08-01 17:13 zhaohai-shen 阅读(289) 评论(0) 推荐(0) 编辑
 
摘要: coming from http://www.cnblogs.com/smark/archive/2012/05/03/2480034.html 在编写网络通讯的时候我们经常需要把一些数据存储到byte[]中然后再发送出去,数值则是我们经常处理的数据成员。发越少的东西意味着使用更少的IO和带宽 ,所... 阅读全文
posted @ 2014-08-01 17:12 zhaohai-shen 阅读(227) 评论(0) 推荐(0) 编辑