数据库与流处理-对数据管理的未来意味着什么

  公司如何从数据库转移到事件流,以及为什么事件流本身不足以支持您的应用程序

数据库与流处理-对数据管理的未来意味着什么

  > Provided By Author

  当我们考虑数据时,我们经常认为数据可以使人类获得洞察力,从而做出更好的决策。因此,存在诸如数据库之类的应用程序来与UI应用程序交互以了解当前状态。

  但是,数据可以帮助我们做出更好的决策,并帮助其他软件做出更好的决策,从而将人员从系统的关键路径中剔除。

  想想Netflix,他们的业务是从出租DVD服务开始的,您到Netflix租借DVD,然后他们将通过邮政服务发送DVD。到2022年,Netflix已成为纯软件平台,用户可以通过单击按钮观看任何电影。

  Airbnb最初是从Craiglist之类的网站开始的,没有付款服务提供商-您通过该网站与房东建立联系,然后您实际向房东付款。在2022年,Airbnb变成了纯软件平台,用户可以通过单击按钮来租用任何房屋和体验。

  业务变得越来越自动化-业务流程变得更像自动驾驶仪。

  我们还开始看到许多应用程序,其中用户界面是整个程序包的较小部分。我们看到公司创造了为最终用户和人类服务的软件,并开发了与另一个系统对话的系统。

  当我们考虑数据管理系统时,有两件事:流处理和数据库。了解两者之间的差异可以帮助我们了解如何为自己创建更好和有效的系统。

  主动和被动数据

  数据库和流处理的相似之处在于它们是存储数据的容器。但是,它们的数据移动方式不同。

  如果要存储大量数据以存储数据库所累积的内存,则将使用Cassandra。如果要存储包含实体之间关系的数据,则可以使用Neo4J之类的图形数据库;如果您想拥有主动查询功能,则可以使用弹性搜索。

  该数据库为我们有关数据的问题提供了答案。它们被构建为与包含UI的用户交互。因此,存储在该数据库中的数据是被动的,它等待您对它们进行一些处理,而我们对它们进行的查询是主动的。如果我们(人类)在特定时间停止与数据库进行交互,那么它将无济于事。

  另一方面,流处理是异步的。他们的最终用户不是我们(人类),而是其他软件。它们也像数据库一样存储数据,但是数据是活动的。通常触发的操作基于信息本身。它们帮助我们在系统中自动化流程。换句话说,查询(操作)被动地等待被触发。

  您去过哪里与现在去过哪里

  该数据库可帮助我们回答有关我们处于应用程序当前状态的位置的问题。数据库表表示单个时间点的当前状态。您不知道以前发生了什么。一个英语语法的比喻将数据库表更像一个名词。它有助于告诉您当前的位置。

  另一方面,事件流更像动词。事件流回答了状态发生的历史。它记录您手机中的移动,鼠标悬停或订单进度。它将每个动作记录到事件中,可以及时回放。您会获得有关发生的更多信息。如果是国际象棋游戏,您可以知道对手的举动是否明智。

  可变性与不变性

  我们可以认为流处理和数据库表的作用相同,但属性不同。事件流是一种不可更改的特殊表,您无法对其进行更改。数据库表通常是可变的,它使我们能够插入,删除和更新其元素。

  事件流中的每个事件都像一个事实。如果您订购商品而要取消。系统将取消状态附加在订单状态之上-您可以倒回历史记录以查看已完成的操作。它就像一个分类帐。只追加的好处之一是因为我们与之交互的数据快速移动。到您要更新当前状态时,另一个服务已经使用了它并执行了一些操作。因此,它需要创建一个补偿事件链,以将所有这些动作传播到其订户。

  另一方面,数据库将更新状态以取消订单。您可以编辑数据移动的行。它为系统提供了有关应用程序当前状态的真相来源。

  数据库和事件流服务于具有不同目的的应用程序,这些应用程序具有不同的受众。对于数据库,我们(人类)是其最终用户。因此,将数据库设计为同步,被动数据并将其标记为单个真值源是有意义的。对于事件流,最终用户不是人类,而是软件。如果最终用户不是人类,我们可以利用异步性来优化我们的资源。数据成为触发其他软件执行特定操作的数据。

  尽管事件流和数据库在不同的用例中表现不同,但是团队不需要采用任何一种。更多的应用程序需要流和数据库,以更好地了解其内部系统。这意味着我们在需要处理同步和异步的现代应用程序中会看到更多。因此,更多的企业应用程序使用面向流的数据库的混合方法。有几个活动数据库,例如MongoDB,CouchbaseDB和RethinkDB。也有可以用作数据库表的流处理器,例如Flink和Hazelcast Jet。无论您的应用程序使用哪种混合方法,了解它们之间的差异都可以帮助我们了解拥有我们系统之一的体系结构的含义。

  资源资源在数据库之外,在流处理器之外:数据管理的下一步是什么?影片版本

  最初在edward-huang上发布。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值