kafka 数据库

网友投稿 216 2023-11-27

际上,人们一直都在这么做,而且 Kafka 的设计意图之一就是要将它作为数据存储系统。

kafka 数据库

你可能在构建一个基于事件溯源的应用程序,需要一个数据存储来保存变更日志。理论上,你可以使用任何一种存储系统。Kafka 已经解决了不可变(immutable)日志和基于这些日志生成“物化视图”的问题,既然这样,为什么不直接使用 Kafka 呢?纽约时报已经在他们的 CMS 系统里使用 Kafka 来保存他们的文章。

你可能在应用程序里使用了缓存,并从 Kafka 上获取数据来更新缓存。你可以将 Kafka 的主题设置为压缩型日志,应用程序每次在重启时就可以从零偏移量位置重新刷新缓存。

你的流式作业数据流来自 Kafka,在流式作业的逻辑发生变更后,需要重新计算结果。最简单的办法就是将偏移量重置为零,让新代码重新计算结果。

数据经过校验后被持久化在磁盘上,并通过复制副本提升容错能力。再多的数据都不会拖慢 Kafka,在生产环境中,有些 Kafka 集群甚至已经保存超过 1 TB 的数据。

kafka

Kafka Streams API 提供了交互式的查询功能。基于 Kafka Streams 开发的应用就是一个 Kafka 消费者,只不过它们可以维护计算状态,而且这些状态可以直接保存到外部的存储系统,这种物化视图让 Kafka 具备了低延迟的查询能力。Kafka 集群保存日志,Streams API 保存物化视图并处理查询请求。后来我们引入了 KSQL——Kafka 的流式 SQL 引擎。有了 KSQL,用户可以直接使用 SQL 语句从 Kafka 上获得物化视图。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub-/69949806/viewspace-2980370/,如需转载,请注明出处,否则将追究法律责任。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Redis数据类型及使用场景有哪些
下一篇:Mysql索引失效场景有哪些
相关文章

 发表评论

暂时没有评论,来抢沙发吧~