从 LSM Tree 到 HBase
之前的文章 《初涉 HBase》 初步介绍了 HBase 底层逻辑,包括 HBase 的基础架构、读写数据流程以及表设计要注意的一些要点。这篇文章着重从 LSM Tree 的角度介绍 LevelDB 的经典实现,并以此为切入点加深对 HBase 的认知。 LSM Tree 是什么所谓 LSM(The Log-Structured Merge-Tree),即日志结构合并树,是由两个或两个以上存储数据
之前的文章 《初涉 HBase》 初步介绍了 HBase 底层逻辑,包括 HBase 的基础架构、读写数据流程以及表设计要注意的一些要点。这篇文章着重从 LSM Tree 的角度介绍 LevelDB 的经典实现,并以此为切入点加深对 HBase 的认知。 LSM Tree 是什么所谓 LSM(The Log-Structured Merge-Tree),即日志结构合并树,是由两个或两个以上存储数据
前言上篇从分布式的角度阐述了 ES 的分布式设计和思想,这一篇打算与 Lucene 结合起来,摸透一些 ES 的常遇到的概念,我们可以将了解到的这些东西应用到优化实践中去。 废话不多说,进入正题。 ShardShard 实际上是一个 Lucene 的一个实例(Lucene Index),但往往一个 Elastic Index 都是由多个 Shards (primary & replica)
前言上篇大致介绍了 ElasticSearch CRUD 的数据走向和涉及到的 Gossip 算法和每一种节点扮演的角色。我们对 ES 有了初步的认知,这一篇着重从 CAP 的角度去解读 ES 的分布式思想。 Split Brain之前介绍过,对于去中心化的 ES 分布式系统来说,采用默认配置是无法避免脑裂问题的(可以参考前一篇文章的discovery.zen.minimum_master_nod
前言ElasticSearch (以下简称为 ES)从名字上看是搜索引擎,实际上除了搜索的作用,ES 甚至还支持上千台服务器分布式部署以及 PB 级别的可靠性存储,适合构建高可用和可扩展的系统。本文从设计的角度探讨 ES 是如何运作且能够支撑如此庞大的数据量的检索和插入。 节点类型 Master Eligible Node (候选主节点):设置成node.master=true (default)