NoSQL:混合持久化
发布日期:2021-07-01 04:08:51 浏览次数:2 分类:技术文章

本文共 620 字,大约阅读时间需要 2 分钟。

我们不能只用一种“数据库引擎”(database engine)来应对所有需求,要使用不同的数据库来解决不同的问题,为每种问题选择最合适的数据库。例如,关系型数据库善于确保数据之间确实存在关系,然而如果要探寻关系,或是从不同表中找出属于同一对象的数据,那么使用关系型数据库就很困难了。

这种解决持久化问题的混合方式(hybrid approach)定义为“混合持久化”(polyglot persistence)。

以电子商务平台为例:

  • 键值数据库:购物车及会话数据。
  • 文档数据库:已完成的订单。
  • 列族数据库:评价信息。
  • 关系型数据库:库存及产品价格。
  • 图数据库:客户社交图。

而且我们可以进一步把全部数据库封装为服务,让应用程序只和一系列服务通信。这样的话,无需修改依赖其数据的应用程序,即可在服务内部完善数据库。

即:

  • 键值数据库:购物车及会话数据。------>会话存储服务
  • 文档数据库:已完成的订单。------------>订单持久化服务
  • 列族数据库:评价信息。------------------>评论持久化服务
  • 关系型数据库:库存及产品价格。------->库存及价格服务
  • 图数据库:客户社交图。------------------>节点和关系服务

但是一旦决定了要在应用程序中使用混合持久化技术,那么就要谨慎考虑部署复杂度(deployment complexity)。要确保在投入生产状态后的应用程序能同时访问所有数据库。


转载地址:https://mortal.blog.csdn.net/article/details/83153180 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:OpenCV——使用GrabCut算法进行物体分割
下一篇:NoSQL:模式迁移

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年05月04日 15时45分26秒