正文内容加载中...
posted @ 2016-05-12 21:59 emailed 阅读(1079) 评论(2) 编辑
摘要: 这篇文章是对知乎上 "如何自己实现一个关系型数据库" 的一个尝试性回答,后续会不断更新。 对外数据模型为关系型数据库,内部的实现主要分成两大类,一类是disk based,比如mysql,postgres,一类是memory based,后者包括MemSQL,SAP HAHA,OceanBase。这阅读全文
posted @ 2016-05-06 00:19 emailed 阅读(807) 评论(1) 编辑
摘要: physical clock机器上的物理时钟,不同的机器在同一个时间点取到的physical clock不一样,之间会存在一定的误差,NTP可以用来控制这个误差,同一个机房内的机器之间的时钟误差可以控制在1us以内,跨机房可以控制在几十ms。两个事件a和b,a在机器M1上physical cloc...阅读全文
posted @ 2015-11-22 14:51 emailed 阅读(1169) 评论(0) 编辑
摘要: HBase对外暴露出来的是一个表格数据模型,如下图所示![](http://pic002.cnblogs.com/images/2012/176446/2012010621260722.jpg)rowkey应用程序可以自己设计。每一个Cell可以保存多个版本的数据,由timestamp标示版本。应用...阅读全文
posted @ 2015-08-04 21:38 emailed 阅读(364) 评论(0) 编辑
摘要: 今天谈谈分布式事务的时序问题。在说这个问题之前首先说说这为什么是个问题。####单机场景对于数据库来说,读到已经commit的数据是最基本的要求。一般来说,为了性能,读写不互相阻塞,现在的数据库系统(Oracle,MySQL,OceanBase,Spanner,CockRoachDB,HBase)几...阅读全文
posted @ 2015-03-30 19:24 emailed 阅读(3102) 评论(0) 编辑
摘要: F1是Google开发的分布式关系型数据库,主要服务于Google的广告系统。Google的广告系统以前使用MySQL,广告系统的用户经常需要使用复杂的query和join操作,这就需要设计shard规则时格外注意,尽量将相关数据shard到同一台MySQL上。扩容时对数据reshard时也需要尽量...阅读全文
posted @ 2015-03-25 19:30 emailed 阅读(2732) 评论(0) 编辑
摘要: HDFS Append时packet的格式以及DataNode对block/checksum文件的处理HDFS的Block一般比较大,默认64MB/128MB,客户端给DataNode发数据实际上是以Packet的形式发送的,Packet一般只有64KB左右。Packet内部由分为一个个chunk,...阅读全文
posted @ 2015-03-17 15:43 emailed 阅读(469) 评论(1) 编辑
摘要: [HDFS-RAID](https://github.com/facebookarchive/hadoop-20/tree/master/src/contrib/raid) 是Facebook基于hadoop-20-append分支(第一代Hadoop)开发的raid方案,对HDFS的修改极少,主要...阅读全文
posted @ 2015-03-13 23:55 emailed 阅读(1761) 评论(0) 编辑
摘要: Facebook在OSDI 2014上发表论文[f4: Facebook’s Warm BLOB Storage System](https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-muralidhar.pdf),这个...阅读全文
posted @ 2015-02-13 21:37 emailed 阅读(389) 评论(0) 编辑
摘要: 最近迁移数据时需要执行大Scan,HBase集群经常碰到以下日志:```Exception in thread "main" org.apache.hadoop.hbase.DoNotRetryIOException: Failed after retry of OutOfOrderScannerN...阅读全文
posted @ 2015-02-11 15:19 emailed 阅读(1529) 评论(0) 编辑