代码之家  ›  专栏  ›  技术社区  ›  Joe R.

分布式数据库?

  •  1
  • Joe R.  · 技术社区  · 14 年前

    Informix-SQL 7.32(SE)Linux当铺应用程序。

    我有一些用户在方圆100英里内拥有几家当铺。每个当铺应用程序都与SE一起运行。这些所有者唯一需要的功能是:能够远程登录到任何商店,以便查看事务、运行汇总并在工作日结束时合并每日汇总。这可以通过拨号调制解调器实现,因为应用程序不需要显示blob。每天结束时,每个商店的总数都被卸载到一个平面文件中,并传输到所有者的系统。

    通过转换为分布式数据库,我的所有者会得到什么?…是否能够查明一家商店的客户是否在另一家商店开展了业务,或者另一家商店是否有所需的库存商品可供销售?(不重要,自我发生)。大多数顾客通常会在同一家商店做生意,如果他们没有想要的东西出售,他们会去最近的竞争对手当铺。分布式数据库为实现第一段中描述的相同功能提供了哪些好处?…当铺老板绝对拒绝通过互联网连接他们的生产系统!他们不信任它的安全性,甚至使用VPN、Cisco等,或者它的可靠性!在世界的这个地区,ISP的正常运行时间记录很差。我知道有几个应用程序由于通信问题从网络转换到拨号!

    4 回复  |  直到 14 年前
        1
  •  0
  •   Gary Myers    14 年前

    如果您不打算在数据库之间建立90%以上的正常运行时间连接,那么分布式数据库就没有任何好处。

    一个主要好处是,当一台机器停机或不可用时,为大型企业提供“故障转移”。如果他们将数据库分布在三台或四台机器上,那么丢失一台不会影响他们的业务能力。

    第二个主要好处是数据库太大,一台服务器无法应付。互联网规模的数据库(Amazon、Twitter等)拥有这样的流量水平。沃尔玛的交通量会达到这个水平。一些店面的操作不会。

        2
  •  2
  •   Jonathan Leffler    14 年前

    分布式DBS,更准确地说是InformixXPS和IDS,并没有一个优势。如果您只关心从不同的地方获取数据,那么只需要一个设计策略就可以完成它。如果你添加了一个“分支ID”,或者类似的东西,你就完成了。

    分布式DBS有很多优点,从可用性到可扩展性。你必须先复习这些东西。

    很抱歉这样的回答,但很难就这个话题给你一个直接的答案。

        3
  •  1
  •   user177800    14 年前

    CouchDB 是基于对等的分布式数据库系统。任何数量的couchdb主机(服务器和离线客户机)都可以具有同一数据库的独立副本,其中应用程序具有完整的数据库交互(查询、添加、编辑、删除)。当重新联机或按计划运行时,数据库更改将双向复制。

    CouchDB具有内置的冲突检测和管理功能,复制过程是增量和快速的,只复制自上次复制后更改的文档和单个字段。大多数应用程序不需要特殊的计划来利用分布式更新和复制。

    与将分布式功能栓接到相同的遗留模型和数据库上的繁琐尝试不同,这是精心设计、工程和集成的结果。文档、视图、安全性和复制模型、特殊用途的查询语言、高效和健壮的磁盘布局都经过精心集成,以实现可靠和高效的系统。

        4
  •  0
  •   Jonathan Leffler    14 年前

    我认为这是一个没有什么可从分布式数据库操作中获得的上下文。

    如果您要进行分布式操作,我可能会考虑使用一个简单的ER拓扑,其中“head office”商店是主(根)节点,其他商店是叶节点。然后,您将对单个存储数据库的更改复制到HQ节点;您可能会或可能不会将数据传播回其他存储。尤其是对于只有两个存储区的情况,实际上您可能只需将所有信息复制到两个存储区;这将为您提供数据库的自动非现场备份。(在这种情况下,您可能会将所有节点配置为根节点——至少在链增长到(比如说)五个或六个节点之前是这样的。)

    这将为灾难恢复提供一定的弹性。它还允许总部(尤其是总部)查看每家商店的情况。

    我的印象是,您可能不会平均讨论“每秒事务数”;单个存储的事务速率可能是每分钟几个事务,其中“少数”可能少于一个TPM。因此,网络带宽在任何时候都不可能成为瓶颈,即使是拨号速度(尽管这可能是边界)。