Google Percolator分布式事务
2022-04-21 本文已影响0人
九楼记
背景:
1.倒排索引是Google搜索引擎中最为关键的技术之一。应对海量数据时,高效的索引创建和索引的实时更新都是必须解决的难题。
2.Google设计了MapReduece系统解决了海量数据索引创建的问题,但MR并没有解决增量数据的实时更新问题,带来的问题是网页索引更新慢。
3.需求来源于对谷歌的网页索引系统的改进。
需要满足的目标:
1.海量数据
2.增量处理
3.事务支持
因地制宜地改进:
由于BigTable本身提供行级别的事务支持,此外还提供数据Version的概念,所以Percolator自然的实现就是借助MVCC的思想,在BigTable的行锁基础上增加跨行和跨表的Snapshot级别的事务隔离。
Percolator的结构:https://karellincoln.github.io/2018/04/05/percolator-translate/
Percolator的实现仅需要增加2个服务Percolator Worker和Timestamp Oracle(简称TSO),以及在客户端提供与Percolator协议兼容的库。
[1] https://www.jianshu.com/p/c39e64d6c5da