BigTable是一种压缩的、高性能的、高可扩展性的,基于Google文件系统(Google File System,GFS)的数据存储系统,用于存储大规模结构化数据,适用于云端计算。
BigTable发展于2004年[1],现今已成为Google的应用程序。像是MapReduce就常通过BigTable来存储或更改数据,[2]其他还有Google Reader[3]、Google Maps[4]、Google Book Search、"My Search History"、Google Earth、Blogger.com、Google Code hosting、Orkut[4]、YouTube[5]以及Gmail[6]等。Google自行发展出特别的巨型数据库的原因,自然是性能的问题[7]。
BigTable不是传统的关系型数据库,不支持JOIN这样的SQL语法,BigTable更像今日的NoSQL的Table-oriented,优势在于扩展性和性能。BigTable的Table数据结构包括row key、col key和timestamp,其中row key用于存储倒转的URL, 例如www.google.com必须改成com.google.www。BigTable使用大量的Table,在Table之下还有Tablet。每 一个Tablets大概有100-200MB,每台机器有100个左右的Tablets。所谓的Table是属于immutable的SSTables, 也就是存储方式不可修改。另外Table还必须进行压缩,其压缩又分成table的压缩或系统的压缩。客户端有一指向META0的Tablets的指 针,METAO tablets保储所有的META1的tablets的数据记录。
BigTable发展于2004年[1],现今已成为Google的应用程序。像是MapReduce就常通过BigTable来存储或更改数据,[2]其他还有Google Reader[3]、Google Maps[4]、Google Book Search、"My Search History"、Google Earth、Blogger.com、Google Code hosting、Orkut[4]、YouTube[5]以及Gmail[6]等。Google自行发展出特别的巨型数据库的原因,自然是性能的问题[7]。
BigTable不是传统的关系型数据库,不支持JOIN这样的SQL语法,BigTable更像今日的NoSQL的Table-oriented,优势在于扩展性和性能。BigTable的Table数据结构包括row key、col key和timestamp,其中row key用于存储倒转的URL, 例如www.google.com必须改成com.google.www。BigTable使用大量的Table,在Table之下还有Tablet。每 一个Tablets大概有100-200MB,每台机器有100个左右的Tablets。所谓的Table是属于immutable的SSTables, 也就是存储方式不可修改。另外Table还必须进行压缩,其压缩又分成table的压缩或系统的压缩。客户端有一指向META0的Tablets的指 针,METAO tablets保储所有的META1的tablets的数据记录。
Comments
Post a Comment
https://gengwg.blogspot.com/