8.3个性化查询Google个性化查询)是一个双向服务;该服务记录用户的查询和点击,涉及多个 Google 服务,如Web查询、图像和新闻。用户可以浏览其查询历史,重复先前的查询和点击,还可以基于Google使用历史模式定制个性化查询结果。个性化查询使用 Bigtable 存储用户数据,每个用户都有唯一的用户ID,与特定列名绑定。一个单独的列族用于存储各种行为类型(例如,存储所有 Web查询 的列族)。每个数据项被标注Bigtable的时间戳,记录了对应的用户行为发生时间。

个性化查询通过基于 BigtableMapReduce 任务生成用户数据图表,这些图表用于定制化当前查询结果。数据在多个 Bigtable集群 中复制,增强了可用性并降低客户端与Bigtable集群之间的延迟。开发团队最初创建了客户侧的复制机制以保证一致性,现在则使用内建的复制子系统。

该存储设计允许其他团队在自己的列中加入新用户数据,支持 数据共享 的简单配额机制,使多个Google服务能够存储用户配置参数和设置。数据共享的广泛应用带来了大量列族需求,优化了系统的多团队支持。