【问题标题】:SQL and NoSQL Analogy for the Non-Technical [closed]非技术的 SQL 和 NoSQL 类比 [关闭]
【发布时间】:2013-01-03 21:12:40
【问题描述】:

我正在使用第三个客户端,它将同时使用 SQL 和 NoSQL 解决方案(通常是 SQL Server 和 Mongo)。我与之共事的最后两个客户了解大量技术信息,因此关系数据库或文档存储之类的短语对他们来说很有意义。我倾向于将银行处理用作 SQL 示例,将博客存储用作 NoSQL 示例,到目前为止,这对我的客户来说是有意义的。当客户想到可能包含数十万个字符的事务和“实时提要”等示例时,他们有时会更喜欢这两种解决方案。

另一个客户,他的业务很出色,但没有那种技术优势(他是一位杰出的有魅力的领导者,所以我绝不会贬低他,因为我们都有自己的长处)。我很好奇这里是否有人不得不从技术角度向不熟悉它们的人解释这些数据库概念,以及您使用什么类比来解释每个过程如何单独工作以及它们如何协同工作?

【问题讨论】:

  • 我不会试图用类比来解释这些差异,因为归根结底,人会做得更好。相反,我会介绍 ACID 与 BASE 的业务影响:johndcook.com/blog/2009/07/06/brewer-cap-theorem-base 这是我想客户最感兴趣的内容。例如,“我可以接受我的数据最终相同吗?”

标签: mysql sql sql-server mongodb nosql


【解决方案1】:

没有 noSQL 这样的东西。只有一大堆新的数据库技术具有完全不同的理念和用例,它们的共同点是它们与 SQL 数据库也有共同点。但是,当您真正要问的是“我如何向非技术人员解释异构存储策略”时,我会使用办公室的比喻。

您的办公室里堆满了包含各种信息的纸张。但是您不会以相同的方式存储它们:

  • 有些存储在您的文件柜中
  • 有些东西放在你的桌子上
  • 有些已固定在您的插针板上

你为什么这样做?因为每种信息都有不同的访问特性。您的插板充满了您需要快速访问的数据(例如 memcached)。您的橱柜充满了您很少查看或更改的数据,但这些数据在未来的某个时候可能会变得非常重要。它也非常有组织地优化搜索(如关系数据库)。您的办公桌上堆满了您当前需要快速访问的数据。没有太多的顺序,因为办公桌上东西的严格顺序会降低您的工作效率(例如文档存储)。

就像您为办公室中的每种数据选择不同的存储方式一样,我们对计算机系统中的每种信息使用不同的存储方式。

【讨论】:

    【解决方案2】:

    NoSQL(或无模式,或文档存储,或你有什么)数据库存储信息,就像你在书中的食谱一样。当您想知道如何制作蛋糕时,您可以查看该食谱,所有有关如何制作该蛋糕的信息(配料、准备、混合、烘焙、整理等)都是都在这一页上。

    SQL 就像购买食谱的原料。为了将所有食材放入购物车,您必须前往许多不同的过道来获取每种食材。当您完成购物后,您的购物车将装满您必须跑来跑去收集的所有食材。

    如果有一家商店是按食谱组织的,这样你就可以去商店的一个地方,从那个地方拿走你需要的一切,那不是更好吗?当然,您会在 50 个不同的地方找到像鸡蛋这样的原料,因此在货架上放货时会有一些开销,但从消费者的角度来看,找到他们想要的东西要容易/快捷得多。

    【讨论】:

    • 我真的很喜欢这个类比——我想任何人都可以理解它。正如我所看到的,这种趋势出现在人们使用多种技术组合的情况下,这也说明了为什么两者都有用。
    猜你喜欢
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 2012-10-16
    • 1970-01-01
    • 2010-11-25
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多