数据系统的未来趋势与挑战
1. 数据流与时间依赖连接
最快且最可靠的网络请求其实就是无网络请求。如今,我们不再采用远程过程调用(RPC),而是进行购买事件与汇率更新事件之间的流连接。这种连接具有时间依赖性,若在后续时间重新处理购买事件,汇率可能已发生变化。若要重建原始输出,就需获取购买当时的历史汇率。无论是查询服务还是订阅汇率更新流,都必须处理这种时间依赖性。
订阅变更流而非在需要时查询当前状态,让我们更接近电子表格式的计算模型。当某一数据发生变化时,依赖它的派生数据能迅速更新。尽管围绕时间依赖连接等问题仍存在诸多疑问,但基于数据流理念构建应用是极具前景的方向。
2. 观察派生状态
数据处理系统提供了创建派生数据集(如搜索索引、物化视图和预测模型)并保持其更新的过程,这一过程可称为写入路径。当信息写入系统时,可能会经过多个批处理和流处理阶段,最终所有派生数据集都会更新以纳入新写入的数据。
创建派生数据集通常是为了后续查询,这就是读取路径。在处理用户请求时,从派生数据集中读取数据,可能还会对结果进行进一步处理,然后构建响应返回给用户。
写入路径和读取路径涵盖了数据从收集到消费的整个过程。写入路径是预先计算的部分,数据一进来就会积极处理;读取路径则是在有人请求时才会发生。这类似于函数式编程语言中的积极求值和惰性求值。
派生数据集是写入路径和读取路径的交汇点,它代表了写入时和读取时所需工作量之间的权衡。
3. 物化视图与缓存
以全文搜索索引为例,写入路径更新索引,读取路径搜索索引中的关键词。读写都需要进行一定的工作。写入时需更新文档中所有出现的词条的索引条目;
超级会员免费看
订阅专栏 解锁全文
930

被折叠的 条评论
为什么被折叠?



