如何将其与企业IT融合 如今的企业中,并非所有用例都直观地倾向于使用关系型数据库,或者都需要严格的ACID属性(特别是一致性和隔离性)。在80年代及90年代,绝大部分存储在企业数据库里的数据都是结构化的业务事务的“记录”,必须用受控的方式来生成或访问,而如今它已一去不复返了。无可争辩的是,仍有这一类型的数据在那里,并将继续也应该通过关系型数据库来建模,存储和访问。但对于过去15年以来,随着Web的发展,电子商务和社交计算的兴起所引起的企业里不受控的非结构化并且面向信息的数据大爆炸,该如何应对呢?企业确实不需要关系型数据库来管理这些数据,因为关系型数据库的特点决定了它不适用于这些数据的性质和使用方式。 上图总结了现今以web为中心的企业中信息管理的新兴模式。而“非关系型数据库” 是处理这些趋势的最佳选择(较之关系型数据库来说),提供了对非结构化数据的支持,拥有支持分区的水平伸缩性,支持高可用性等等。 以下是支持这一观点的一些实际应用场景: 日志挖掘——集群里的多个节点都会产生服务器日志、应用程序日志和用户活动日志等。对于解决生产环境中的问题,日志挖掘工具非常有用,它能访问跨服务器的日志记录,将它们关联起来并进行分析。使用“非关系型数据库”来定制这样的解决方案将会非常容易。 分析社交计算——许多企业如今都为用户(内部用户、客户和合作伙伴)提供通过消息论坛,博客等方式来进行社交计算的能力。挖掘这些非结构化的数据对于获得用户的喜好偏向以及进一步提升服务有着至关重要的作用。使用“非关系型数据库” 可以很好的解决这一需求。 外部数据feed聚合——许多情况下企业需要消费来自合作伙伴的数据。显然,就算经过了多轮的讨论和协商,企业对于来自合作伙伴的数据的格式仍然没有发言权。同时,许多情况下,基于合作伙伴业务的变更,这些数据格式也频繁的发生变化。通过“非关系型数据库”来开发或定制一个ETL解决方案能够非常成功的解决这一问题。 高容量的EAI系统——许多企业的EAI系统都有高容量传输流(不管是基于产品的还是定制开发的)。出于可靠性和审计的目的,这些通过EAI系统的消息流通常都需要持久化。对于这一场景,“非关系型数据库” 再次体现出它十分适用于底层的数据存储,只要能给定环境中源系统和目标系统的数据结构更改和所需的容量。 前端订单处理系统——随着电子商务的膨胀,通过不同渠道流经零售商、银行和保险供应商、娱乐服务供应商、物流供应商等等的订单、应用、服务请求的容量十分巨大。同时,由于不同渠道的所关联的行为模式的限制,每种情况下系统所使用的信息结构都有所差异,需要加上不同的规则类型。在此之上,绝大部分数据不需要即时的处理和后端对帐。所需要的是,当终端用户想要从任何地方推送这些数据时,这些请求都能够被捕获并且不会被打断。随后,通常会有一个对帐系统将其更新到真正的后端源系统并更新终端用户的订单状态。这又是一个可以应用“非关系型数据库”的场景,可用于初期存储终端用户的输入。这一场景是体现“非关系型数据库”的应用的极佳例子,它具有高容量,异构的输入数据类型和对帐的"最终一致性"等等特点。 企业内容管理服务——出于各种各样的目的,内容管理在企业内部得到了广泛的应用,横跨多个不同的功能部门比如销售、市场、零售和人力资源等。企业大多数时间所面临的挑战是用一个公共的内容管理服务平台,将不同部门的需求整合到一起,而它们的元数据是各不相同的。这又是“非关系型数据库”发挥作用的地方。 合并和收购——企业在合并与收购中面临巨大的挑战,因为他们需要将适应于相同功能的系统整合起来。“非关系型数据库” 可解决这一问题,不管是快速地组成一个临时的公共数据存储,或者是架构一个未来的数据存储来调和合并的公司之间现有公共应用程序的结构。 但我们如何才能准确的描述,相对于传统的关系型数据库,企业使用“非关系型数据库”带来的好处呢?下面是可通过非关系型数据库的核心特点(正如上一节所讨论的)而获得的一些主要的好处,即企业的任何IT决策都会参考的核心参数——成本削减,更好的周转时间和更优良的质量。 业务灵活性——更短的周转时间 “非关系型数据库”能够以两种基本的方式带来业务灵活性。
|