Percolator论文阅读笔记

Percolator论文阅读笔记
Percolator是Google在2011年发的论文,用于替换MapReduce做索引。核心是分布式事务和观察者通知机制。 概述 Google搜索引擎建立网页索引:通过处理网页库,会建好一个索引库。之后爬虫会新抓下来少量页面(相比于原始网页库的数量)。对于新抓来的页面,如何处理?有两种方式。两种方式差异如图示: MapReduce批处理方式是新旧网页合并在一起,作为新网页库,通过MapReduce批处理建立新的索引库。Percolat...

再读GFS论文

再读GFS论文

再读GFS的一些笔记。主要涉及GFS架构、Chunk大小选择的一些折中考量、元数据管理及锁、写数据流程、GFS一致性模型的理解、快照的实现原理、过期失效副本检测等几个问题。

浅谈数据库隔离级别

浅谈数据库隔离级别

本文介绍了关系型数据库的隔离性。ANSI标准里面定义了Read Committed, Repeatable Read, Serializable隔离级别,Jim Gray等针对ANSI的标准提出了改进,并介绍了Cursor Stability, Snapshot Isolation等隔离级别。

写跨平台C语言代码的十个规则

写跨平台C语言代码的十个规则

翻译了一篇关于写跨平台C语言代码的文章,介绍了10个相关规则。Rule #1: 同时开发 – 不要先开发后移植。不要把迁移工作外包。Rule #3: 使用标准C类型,不要使用特定于平台的类型。Rule #4: 只使用内置的 #ifdef 编译标志,不要自己发明轮子。 Rule #5: 开发一个简单的可重用的跨平台的基础库,来隐藏每个平台的代码。Rule 6#: 在所有的API中都使用Unicode(特别是UTF-8)。Rule #7: 不要使用第三方应用程序框架或者运行时环境来是你的代码跨平台。Rule #8: 原生代码本来就总是可以所有平台上编译->不是某个脚本让它们从不能编译变得能够编译了。 Rule #9:所有的程序都能在所有的平台编译。Rule #10:开除那些懒惰、不称职、态度差、不遵循这些规则的程序员。