16、Bigtable数据库:原理、应用与选型指南

Bigtable数据库:原理、应用与选型指南

1. Bigtable企业应用技术要点

1.1 带日志的内存写入

部分数据库支持将写入操作先在内存中完成,这种方式速度极快。同时,会将变更的小记录(即日志)写入磁盘,以确保服务器出现故障时数据的持久性。由于日志的体积小于将变更应用到磁盘上所有数据库结构的操作,因此保存速度更快。

1.2 并行数据摄入

向数据库写入大量数据时,需分散负载。若一个2PB的数据库分布在100台服务器上,但99%的新数据都集中在其中一台服务器上,这不仅毫无意义,还会导致数据摄入性能变差。

Bigtable数据库通过基于行键(有时也称为分区键)来分散数据,相邻的行键值会存储在同一数据块中。为确保新数据能分散到各服务器,应选择能保证新记录不在单台服务器的同一数据块上,而是分散存储在多台服务器的多个数据块中的行键。

Accumulo允许用户插入自己的负载均衡器实现,可根据需求将行数据集中存储或分散到集群中。Accumulo和HBase还支持局部性组,将同一行的特定列存储在一起,这对保证快速读取速度非常有用。Hypertable也支持类似功能,称为访问组。

1.3 内存缓存

数据库系统可能会面临极大的输入输出负载。在许多系统中,相同的数据经常被请求,如新闻网站展示各板块的最新新闻,将最新新闻缓存起来避免每次都从磁盘读取很重要。

当需要高速写入时,最有效的方法是将所有数据写入内存数据库文件,仅将日志(变更的简短描述)写入磁盘,这样能在保证系统故障时数据持久的同时提高吞吐量。

Hypertable是一种能主动缓存数据的数据

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值