google bigtable 浅析

本文深入探讨Google Bigtable,一个key-value模式的分布式存储系统。文章详细介绍了其key-value结构、依赖的Google构件如GFS和Chubby,以及tablet的概念、组织结构、分配和变更。此外,还讨论了服务架构中的优化策略,包括局部性群组、缓存和Bloom Filter。
摘要由CSDN通过智能技术生成

目录

概述

key-value模式详解

构件

组件

tablet概念

tablet组织结构

tablet分配

tablet变更

tablet服务架构

优化

局部性群组

缓存

bloom filter


概述

bigtable是一个key-value模式的分布式结构化存储系统,不提供传统关系数据库的sql功能,设计目标是高适用性、高扩展性、高性能、高可用

key-value模式详解

bigtable的key-value模式如下:

(row:string, column:string, time:64) ==> string

其中key是一个三元组,包含行、列、时间戳,value是一个string。bigtable不会解析string而是由用户自定义schema。这里给一个例子:

这里row:string为"com.cnn.www",有三个列,其中"contents:"的列有三个版本,即三个时间戳,通过("com.cnn.www","contents:",t3)可以唯一映射到一个value值,这里是url的html body

构件

bigtable依赖其他几个google基础构件:

  • google flie system:用gfs存储日志和数据文件,关于gfs的剖析可以参照gfs的paper
  • google sorted string table:用作bigtable内部存储文件的格式,关于sstable的剖析可以参照leveldb源码分析中相关内容
  • chubby:bigtable用chubby协调服务,例如master选举、元数据保存等,chubby相关内容可以参照chubby的paper

组件

bigtable包含几个主要组件:链接到客户程序中的库、master节点、tablet server。其中master负责为tablet server分配tablet、检测新加入的或者失效的tablet server

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值