www.hj8828.com 8

www.hj8828.com天下武功唯快不破Oracle Coherence 12C

数据虚拟化牵涉的是整个企业,它所带来的挑战往往是组织和文化方面的,而不是技术方面的。

www.hj8828.com 1

面向服务领域平时谈得不够多的一个话题是数据虚拟化。也就是说,能够将来自不同数据源的数据汇入到抽象的服务层,这很方便,这与让服务或应用程序使用实时生产数据库形成了对照。这有助于减小对物理存储系统的需要,又为使用数据的所有应用程序尤其是商业智能系统、分析系统和事务系统)提供了统一接口。Judith
Davis和Robert Eve著有新书《超载传统数据集成,实现业务敏捷性》Going
Beyond Traditional Data Integration to Achieve Business
Agility),文中深入浅出地探讨了为什么要使用数据虚拟化技术,如何使用这项技术。与任何服务技术的情况一样,数据虚拟化技术也牵涉整个企业的许多部门和人员,所以它所带来的挑战往往是组织和文化方面的,而不是技术方面的。

大数据就像是从当代数据环境中不断涌现出的丰富的、极度膨胀的资源。如今,不断扩张的物联网、随处可见的移动设备、社交媒体、点击流量、网页以及开放的数据都是导致我们今日数据不断增长的的主要因素。根据IDC-Seagate最近的一项研究显示,截止到2025年,这些因素的导致的全球数据增长预计将是现在的10倍,总计达到163ZB(ZB为十万亿亿字节)。

image.png

Davis和Eve概述了从事数据虚拟化工作的任何人都应该考虑的六大最佳实践:

虽然数据资源富足,但这些数据都是最原始的、未经提炼的,其中存在大量不能用的数据。与其他”自然”资源一样,“原始的”数据必须经过提炼后,才能被用于生产目的,例如设备维护、产品创新、竞争情报、市场营销以及数据货币化等等。

www.hj8828.com,4G移动互联网的普及,让我们每一个人都融入到了这个需要高速度,高可靠性,高可扩展性,高通用性的IT大环境中,我们有没有想过要支撑这样的环境,服务器后台需要怎样的IT技术。随着网络速度的升级,用户容忍的响应时间,从以前的7,8秒钟,到现在的3秒钟左右,用户点击某个功能,如果数1,2,3,功能没有正常显示的话,有80%的用户就直接放弃访问了,这就对我们的IT服务的响应提出了更快,更高,更稳的要求。

1.将数据虚拟化方面的责任集中起来。两位作者说:“这么做的一个主要优点就是,能够迅速推动这项工作,并且着手处理更宏大的概念,比如定义通用规范和实施智能存储组件。”

数据细化、提炼的过程可以纳入数据探查,准备,关联和背景化,标注和注释,统一和整合以及安全和治理政策的应用。
元数据也是一个重要的组成部分,它在数据整体细化过程中输入、输出阶段起着十分重要的作用。

天下武功唯快不破,那么在IT技术领域要实现快,都有哪些产品和技术方案呢?Oracle
Coherence是什么呢?我们都知道内存比磁盘快,不管你是普通磁盘还是SSD磁盘,所以要快,就要用内存。相应的内存计算的概念就出现了。按照Forrester的定义,内存计算是利用内存来加速数据访问和应用的性能,并降低应用开发复杂度的技术。Gartner将内存计算定义为一种革命性的技术,使得企业应用可以在海量的数据集上运行高级查询,或复杂的事务处理,不仅在速度上快至少一个数量级,并且具有更好的可扩展性,同时仍保持数据的可用性,一致性和完整性。
最近一份Forrester关于In-Memory Data Grids的报告,明确的说明了,Oracle
Coherence在内存缓存 ,内存计算方面一直处于领头羊的位置。

2.约定和实施一种通用数据模型。“这将确保一致性、高质量的数据,让业务用户对于数据更有信心,并且提高IT工作人员的灵活性和生产力。”

www.hj8828.com 2

www.hj8828.com 3

3.确定一种治理方法。“这需要考虑到如何管理数据虚拟化环境。关键问题是谁负责共享的基础架构,谁负责共享的服务。”

其中,数据探查主要是对数据进行技术性分析,对数据的内容、一致性和结构进行描述。数据探查担负着两种不同的目标:战略性的和战术性的。

image.png

4.对业务用户进行教育,让他们认识到数据虚拟化的优点。Davis和Eve建议:“抽出时间与业务用户进行交流,确保他们明白数据。日常多开展工作,让数据虚拟化能够为企业的其余部门所接受。”

  1. 战略性:一旦确定了某个候选数据源,就应当进行一次轻量级的探查评估来确定该数据源是否适合于包含到数据仓库中,针对早期的采纳/不采纳问题提供决策。理想情况下,应当在业务需求分析过程中确定出一个候选数据源之后立即进行战略性评估。较早地找出那些不合格的数据源是一个责任重大的步骤,即使带来的是坏消息,也是必要的一步。如果很晚才发现数据源无法支持要做的工作,对DW/BI团队的积极性将产生重大的打击,特别是当项目已经展开数月之后才发现数据源存在问题时更是如此;
  2. 战术性:一旦将某个数据源引入项目的基本战略决策已经定下来,就需要进行一系列战术性的数据探查工作来尽可能多地确定出各种问题。通常这一工作从数据建模过程就开始了,一直到ETL系统设计过程。有时ETL团队也可能需要使用一个其内容没有经过彻底评估的数据源。系统也可能支持产品过程的需求,但是却存在ETL方面的难题,因为对产品处理并不重要的字段用来进行分析也是不可靠和不完整的。

Oracle Coherence是什么?

Oracle Coherence
是行业领先的内存中数据网格解决方案,通过快速访问常用数据,让企业能够以可预测的方式扩展任务关键型应用。为企业提供了一个健壮的可扩展的数据抽象层,在应用程序和数据源之间进行数据提供和数据需求的代理,能够以更低的成本降低共享数据服务的负载。

Oracle Coherence
在可靠的、高度可伸缩的对等集群协议之上提供了复制的、分布式的(分区的)数据管理和缓存服务。Coherence
不存在单点故障,当某台服务器无法操作或从网络断开时,它可以自动且透明地进行故障切换并重新分布它的集群化数据管理服务。当新服务器加入或故障服务器重启时,它会自动加入集群,Coherence
会将服务切回到该服务器,透明地重新分布集群负载。

Oracle Coherence
是一个适用于集群化应用程序和应用服务器的内存中分布式数据网格解决方案。使客户可以将数据推送到更靠近应用程序的地方,从而提高访问速度和资源利用率。

Oracle
Coherence带有一套丰富的处理和事件能力,因此应用程序能够在数据量增长时扩展处理能力。通过对数据进行自动和动态的分区,Oracle
Coherence即使在服务器失败的时候,也能够确保持续的数据有效性和事务完整性。

Oracle Coherence在IT应用服务中所处的位置如下下图:

www.hj8828.com 4

image.png

5.注意性能调整和可扩展性。“在开发过程的早期阶段,就要调整性能、测试解决方案的可扩展性。要考虑引入大规模并行处理功能,以便处理大容量数据方面的查询性能。要兼顾这个事实:用户在专门查询和报告方面是无法预测的。”

该子系统中揭示出来的问题最终会产生两种详细说明:

Oracle Coherence 12c 新特性

当您需要扩展您的应用程序来满足日益增长的在基础架构之上的移动和云应用的需求时,Oracle
Coherence 12c被设计用来在性能和管理方面都能够进行高效的交付。
Coherence直播事件:通过为应用程序提供始终准确、实时的数据,来保持客户体验的丰富和无滞后。
GoldenGateHotCache:保持数据库和Coherence数据缓存之间的同步,确保没有“陈旧”的数据从过时的缓存中交付到应用程序当中。
可管理的Coherence服务器:与OracleWebLogic无缝集成,为动态扩展提供可管理的、模板化的环境。利用WebLogic管理框架简化集群生命周期管理,为WebLogic和Coherence实例提供一站式的管理。
用于高可用性的增强的部署选项:跨越多个机架或者数据中心的Coherence集群能被配置成即使失去多台主机、机架或者站点,仍能够提供持续有效的服务的能力。用户也可以通过配置异步备份,实现高速的一致性数据交换。
OracleExalogic弹性云上的Coherence:通过利用OracleExalogic弹性云的简化操作获得工程系统的成本与性能优势。

6.分阶段实施数据虚拟化。“先对数据源进行抽象处理,然后将商业智能应用程序放到上面,最后逐步实施数据虚拟化的更高级的联合功能。” 

  1. 将数据送回原来的数据源中,请求改善数据质量;
  2. 构成了数据质量子系统的需求。

Oracle Coherence的优势

性能:Oracle Coherence
通过将数据移近应用程序以便高效访问,解决了延迟问题并显著提升了性能。内存中性能可减轻瓶颈效应并减少数据争用,从而改进应用程序的响应能力。并行查询和计算增强了实时计算的性能和扩展能力。

可靠性:Oracle Coherence
建立在容错网之上,该网提供数据可靠性和准确性。通过 Oracle Coherence
的数据容错和连续操作支持,组织可以满足关键任务环境中的数据可用性需求。数据网格的可靠性将应用程序弥补服务器和网络故障的需求降至最低,简化了开发和部署流程。没有单点瓶颈
,没有单点故障。

可扩展性:通过Oracle
Coherence,应用程序可以线性、动态地扩展,从而可预测成本并提高资源利用率。许多应用程序都提供了增加共享数据源的有效容量的简单方法。Oracle
Coherence 可处理不断增加的应用程序负载,而没有数据丢失或服务中断的风险。

自动容错和恢复:基于自管理的特点,一个Node挂掉后,集群能自动监测到,并做好死亡节点的数据恢复机制,客户端依然能正确的读出在死亡节点上存储的数据,容错和恢复对客户端来说是透明的。

灾难恢复:通过数据复制和维护事务完整性的能力,Coherence能够作为一个优秀的灾难恢复工具。Coherence集群能够为企业数据维护整个企业和跨越地域所构成的一个自动化“备份库”。独立的主机、机架和数据中心能够灵活的进行本分,来确保客户数据的有效性。

完全面向应用:Oracle Coherence 不需要 (J2EE)容器 /
服务器,一个库,没有外部依赖,可以直接嵌入独立运行,不会影响架构。

应用服务器集成::Oracle
Coherence提供了很多集成点与领先的应用服务器技术进行集成,在不需要任何编码改变的情况下,为你的应用程序带来数据网格的能力。CoherenceWeb是一个HTTP会话管理模块,用于管理集群环境中的会话状态,为内存会话的管理和存储带来Oracle
Coherence的数据扩展性、有效性、可靠性和性能。Coherence
Web能够支持WebLogic服务器、GlassFish和其他主流应用服务器。

易用性:虽然上述特点看起来似乎很复杂,但那都是Coherence自己内部的事儿。Coherence集群以统一的逻辑试图对外提供缓存的读写接口,看起来使用Coherence
Client就像在使用一个缓存一样。对于客户端来说,与最简单的Map
操作一样,仅仅是 put(key,value), get(key) 等。

www.hj8828.com 5

image.png

正是基于以上技术和特点,Coherence成为一个高可用性,高扩展性,高性能但使用非常简单的网格型(Data
Grid)分布式缓存框架。

Coherence的网络结构如下:

www.hj8828.com 6

image.png

面向服务领域平时谈得不够多的一个话题是…

(备注:元数据(Metadata),又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。)

Oracle Coherence 4大功能

Caching数据缓存
数据缓存,应用可以直接从缓存中读取数据,
应用程序在数据网格中缓存数据,避免了成本高昂的后端数据源请求。共享数据缓存提供单一、一致的缓存数据视图。从缓存读取数据比查询后端数据源更快,且可通过应用程序层以内在方式进行扩展。

Analytics数据分析
在数据网格中进行简单的并行查询或复杂的模型分析,利用数据网格大量的并行功能,应用程序可在内存中查询和分析数据。Oracle
Coherence
对数据搜索、聚合和分类提供现成的支持,包括对自定义分析函数的支持。它并行处理整个数据网格中的操作,从而可确保服务器故障或速度下降不会影响计算结果。

Transactions交易处理
在数据网格中进行交易处理,处理业务逻辑,
应用程序在数据网格内管理内存中事务数据。无与伦比的可扩展性和性能的组合使
Oracle Coherence
成为极限事务处理负载的首选。同类最佳的内存中复制和有保证的数据一致性意味着它适合管理内存中事务,直到这些事务被永久保存到外部数据源进行存档和报告。

Events事件触发
基于事件的自动处理功能,
应用程序可实时响应整个数据网格中的数据更改。每个事务可能触发许多事件,每个事件可能需要在几毫秒内得到处理。Oracle
Coherence
提供了可应对高事件发生率的事件处理技术,包括服务器端流处理和交互技术,如用于实时桌面应用程序的“连续查询”。

上面说了这么多的这么多的Coherence的本身的特性和优势,那么我们在什么应用场景下面能利用Coherence达到快的目的呢?

如果还没有为分析提供数据,那么这些数据可能会受到碎片化、最小化标记和丢失信息的影响。这些特征在电子健康记录(EHRs)中很明显,这说明了优化数据面对的挑战。收集和分析EHR数据的其中的一个障碍就是缺乏适当的标签和一致的语义的缺乏。

应用场景

应用场景-频繁访问共享数据

www.hj8828.com 7

image.png

应用场景-用户在线状态维护

www.hj8828.com 8

image.png

要想IT提供响应更快,更高,更稳的服务,请考虑使用Oracle
Coherence内存数据网格解决方案。有关Coherence更多的信息,或者你想试用Coherence产品,请继续关注甲骨文开发者社区。

Oracle Coherence的版本

Oracle Coherence提供了三种不同的版本:标准版、企业版和网格版。

EHRs的设计主要是为了满足病人的医疗、行政和经济的需要。埃尔斯的多用途目标——不考虑每一种数据的数据分析——可能造成数据碎片化,这需要在为临床研究等分析提供数据之前进行纠正。

Oracle Coherence

标准版用于中大规模的应用程序部署,通常用于业务线中。这些业务线需要具有持久性、事务处理以及与应用服务器基础架构的深入集成等功能的分布式数据管理。

从共享患者健康记录中构建数据集的另一个挑战是在卫生保健组织中如何实现EHRs的标准化,甚至在相同的卫生保健系统中也缺乏标准化。。例如,不同的部门(例如:同一家医院的放射学、整形和内医学)可能采用不同的方法来满足他们独特的数据输入需求、文档和排序需求,以及偏好,因此,会产生数据仓。

Oracle Coherence 企业版

用于企业级共享数据服务平台,通常是大规模部署中基础架构的单独一层或核心部分。这些大规模部署注重实时分析、事务管理、事件基础架构以及复杂的应用程序数据缓存实现。

(备注:电子健康记录(EHR,electronic health
record)是个人官方的健康记录,这些记录可以在多个设备和机构中共享。一个电子健康记录通常包括:联系方式;访问医护专业人员信息;过敏史;医疗保险信息;家族遗传病史;免疫状况;身体状况或疾病信息;服用药物清单;住院记录;做手术信息等

Oracle Coherence 网格版

用于企业级共享数据服务平台,通常是大规模部署中基础架构的单独一层或核心部分。这些大规模部署注重实时分析、事务管理、事件基础架构以及复杂的应用程序数据缓存实现。使应用程序可以访问和更新
Java、.NET 以及 C++
之间的公共数据。始终支持对桌面客户端进行实时数据网格访问和数据更新。