Bigtable 数据库的特性、应用与选型指南
1. Bigtable 在企业中的应用特性
1.1 写入与数据摄入
- 带日志的内存写入 :部分数据库可将数据快速写入内存,同时将变更记录(日志)写入磁盘,确保服务器故障时数据持久化。日志体积小,保存速度比直接将变更应用到磁盘上的所有数据库结构更快。
- 并行数据摄入 :向数据库写入大量数据时,应分散负载。Bigtable 数据库通过行键(有时称为分区键)分散数据,相邻行键值存储在同一数据块中。为确保新数据分散在各服务器上,需选择能保证新记录不在单个服务器的同一数据块上的行键。
1.2 内存缓存
- 数据重复请求 :在许多系统中,相同数据常被请求。如新闻网站展示各板块的最新新闻,应将最新新闻缓存,避免每次请求都从磁盘读取。
- 高速写入处理 :高速写入时,将所有数据写入内存数据库文件,仅将日志写入磁盘,可提高吞吐量,同时保证系统故障时的数据持久性。Hypertable 能主动缓存数据,自动调整内存优先级。
1.3 索引
- 索引特点 :与键值存储类似,Bigtable 克隆版能跟踪大量键。客户端驱动缓存键范围分配,减少查找键存储位置与请求值之间的延迟。Bigtable 存储多列值,列分组为列族,更像传统数据库。但 Bigtable 通常不关注值的数据类型,除 Cassandra