大型网站架构之Google的体系架构
在BigTable中存储结构化数据
• BigTable 是一个大型的容错和自我管理系统,包括太(万亿)字节的内存和皮字节的内存。它每秒能够处理几百万的读写。
• BigTable是一个构建在GFS之上的分布式散列机制。它不是一个关系数据库。它不支持联结或者SQL类型查询。
• 它提供查找机制,可以通过键来访问结构化的数据。GFS存储不透明数据和许多应用所需的结构化数据。
• 商业化数据不能伸缩到这个层次,它们不在1000个机器上工作。
• 通过控制它们自己的低层次存储系统,Google得到更多的控制和有力的工具来改进它们的系统。例如,如果它们想要使得分布
数据操作更简单的特征,它们可以在里面构建。
• 当系统运行的时候,机器可以增加和减少,而整个系统还会正常工作。
• 每个数据条存储在一个可以使用行键,列键或者时间邮票访问的单元中。
• 每行存储在一个或者更多个tablet中。一个tablet是数据形式的64KB块的序列叫做SSTable。
• BigTable 有三个不同类型的服务器:
- 主服务器分配tablet到tablet服务器中。它们跟踪的位置,当需要时还会重新分配任务。
- Tablet 服务器处理tablet的读写请求。当tablet超过规模限制(通常是100MB - 200MB)时,它们将它分开。当一个tablet服务器出故障时,会有100个tablet服务器每个捡起一个新的tablet,所以系统就恢复了。
• 一个位置组可以被用作与几比特的数据相关的物理存储,为了有一个更好的参考位置。
• Tablets尽可能在RAM里被缓存。
0
相关文章