Oracle Coherence中文教程十五:序列化分页缓存

序列化分页缓存

本章提供了大量的二进制数据的离堆缓存信息。

本章包含以下各节:

了解序列化分页缓存

分页缓存配置序列化

优化分区的高速缓存服务

配置高可用性

配置负载平衡和故障转移

支持巨大的缓存

15.1了解序列化分页缓存

Coherence提供高效巨额自动过期数据使用潜在的高延迟的存储机制,如磁盘文件缓存的明确支持。其优点包括支持更大的数据集可以管理在内存中,同时保留出了管理时序的一个有效的终止机制(和自动释放的资源管理有关的) ,该数据。最佳使用场景包括许多大型对象存储能力,很少访问XML文档或内容,或容忍一个更高的延迟,如果缓存的数据已经被分页到磁盘的访问。请参见第13章“实现存储和备份地图。 ”

序列化分页缓存定义如下:

序列化意味着,存储在缓存中的对象被序列化和存储在二进制商店;参照现有的序列化地图功能和序列缓存。

分页意味着存储在缓存中的对象是分段管理效率。

高速缓存意味着可以有指定高速缓存的大小的限制,在这种情况下,限制为并发的网页的缓存管理到期前页的最大数目,从最旧的页开始。

结果是一个特点,组织数据在缓存中的数据被放置在缓存中,然后就可以有效地从高速缓存中的数据,整个页面在一个时间到期时间的基础上,通常,无需重新加载任何数据从磁盘。

15.2配置序列化分页缓存

序列化的主配置分页缓存是由两个参数:高速缓存管理的页面,一个页面是有效的时间长度的数字。例如,一天的缓存中的数据,高速缓存可以被配置为每个一小时的24页,或96页,每次15分钟,依此类推。

每一页缓存中的数据是由一个单独的二进制存储管理。缓存需要二进制存储管理器,它提供的手段来创建和销毁这些二进制商店。 Coherence提供二元店经理对所有的内置的二进制商店实现,包括伯克利DB (简称“BDB ” )和各种NIO实现。

序列化分页缓存配置缓存中的配置文件内<external-scheme>和<paged-external-scheme>的元素。参见“外部计划”和“分页外部计划” 。

15.3优化分区的高速缓存服务

Coherence提供一个优化的分区的高速缓存服务,因为 - 当它是用来备份分区的高速缓存在任何序列化地图和缓存中存储的数据是完全的二进制形式。这就是所谓的二元地图优化,并启用时,它给人的序列化地图,序列化缓存,并假定被保存在缓存中的所有数据是二进制序列化分页缓存权限。这种优化的结果是较低的CPU和内存利用率,性能也略高。见<external-scheme>和<paged-external-scheme>缓存配置元素

15.4配置高可用性

还提供了明确的支持,在序列化分页缓存分区的高速缓存服务的高可用性功能,通过提供一种可用于主存储的数据和用于备份的存储的数据进行了优化的配置的配置。在备份存储的配置是已知的作为被动模式,因为它不积极届满从其存储的数据,而是反映发生在一级高速缓存存储期满。当使用高可用性数据分区的高速缓存服务功能(备份数1或大于1 ,默认值是1 ) ,并采用分页缓存序列化作为主要的备份存储服务,这是一个最好的做法还可以使用序列化分页Cache作为备份存储,并配置备份与被动的选择。请参见的缓存配置<paged-external-scheme>元素。

15.5配置负载平衡和故障转移

当使用分布式缓存服务,特别应考虑负载平衡和容错的目的。分区计数参数的分布式缓存服务应设置高于正常人,如果缓存中的数据量是非常大的。高分区数打破了整体的缓存,负载平衡和恢复处理因故障转移成小块。例如,如果缓存有望成为一个terabyte ,两万分区打破了缓存为单位平均约50MB 。如果一个单位(分区大小)是太大,它会导致缓存负载平衡??时的内存条件。 (请记住,以确保分割数是素数;见http://primes.utm.edu/lists/small/素数的列表,您可以使用)

15.6支持巨大的缓存

为了支持庞大的缓存过期数据(例如,terabytes兆兆字节) ,到期处理守护线程同时进行没有缓存处理中断。其结果是,许多数以千计或数以百万计的对象可以存在于一个单一的缓存页面,他们可以异步过期,从而避免任何服务中断。守护线程是一个选项,默认情况下是启用的,但它可以被禁用。见<external-scheme>和<paged-external-scheme>缓存配置元素。

当缓存被用于大量的数据,这些页面是典型的磁盘备份。由于缓存最终过期的每一页,从而释放磁盘资源,默认情况下,缓存将使用虚拟擦除优化。明确从缓存中删除或过期的数据实际上没有从底层二进制存储中删除,但是当一个页面(二进制存储)完全清空,其全部擦除。这减少了I / O的幅度相当,特别是在期间届满的处理和操作,如负载均衡,集群内引入大量数据。这种优化的成本的磁盘文件(如一个基于磁盘的二进制存储“选项时) ,往往是大于它们管理的数据,否则意味着,由于磁盘空间被认为是比较廉价的其他因素,例如响应时间,虚拟擦除优化默认启用,但可以禁用它。假设一个级别的,注意的磁盘空间通常是本地分配给每个服务器,从而TB级的缓存分区超过百台服务器将只使用每台服务器的磁盘空间( 10GB的主存储和备份存储10GB , 20GB左右备份。 )

时间: 2024-08-18 00:29:45

Oracle Coherence中文教程十五:序列化分页缓存的相关文章

Oracle Coherence中文教程十:调整TCMP行为

调整TCMP行为 本章提供了指令TCMP默认设置改变. TCMP还提供简要概述.参见"了解TCMP TCMP其他细节.此外,请参阅Oracle Coherence的管理员指南,其中包括许多微调的建议和说明. 本章包含以下各节: 概述TCMP数据传输 节流数据传输 减少负载的捆绑包 更改数据包重传行为 配置传输数据包池大小 配置的数据包缓冲区的大小 调整数据包的最大尺寸 更改分组扬声器音量阈值的 更改消息处理行为 更改TCMP插座供应商实施 10.1概述TCMP数据传输 集群成员使用Tangoso

Oracle Coherence中文教程十四:缓存数据来源

缓存数据来源 本章提供了用于缓存数据源使用作为临时记录系统的连贯性.本章包括样品和实施注意事项. 本章包含以下各节: 的缓存数据来源概述 选择一个高速缓存策略 创建一个缓存存储实现 在缓存存储实施堵漏 样品的缓存存储 可控的缓存存储范例 实施注意事项 14.1缓存数据源概述 Coherence支持透明,读/写缓存的任何数据源,包括数据库,Web服务,打包应用程序和文件系统,数据库是最常见的使用案例.作为速记, "数据库"是用来形容任何后端数据源.有效的缓存必须同时支持密集只读和读/写操

Oracle Coherence中文教程十九:使用便携式对象格式

使用便携式对象格式 使用便携式对象格式(POF)具有许多优点,包括语言独立性的性能优势.建议你仔细看您的系列化解决方案时,在POF工作具有连贯性.对于如何使用POF建设.NET时,延长客户的信息,请参阅"楼宇集成对象NET客户端"Oracle Coherence的客户端指南.对于如何构建C++扩展客户时,与POF的信息,请参阅"楼宇集成对象的C + +客户端"Oracle Coherence的客户端指南. 本章包含以下各节: POF系列化概述 使用POF API序列

Oracle Coherence中文教程十六:使用群体

使用群体 本章包含以下各节: 概观 使用群集仲裁 使用分区的高速缓存定额组 使用代理法定人数 启用自定义操作策略 16.1概述 法定人数,在Coherence,是指在集群所需要的服务行动之前允许或不允许的服务成员的最低数目.法定人数是有利的,因为他们保证,集群行为预期的方式当成员达到阈值时,自动提供.例如,一个分区的高速缓存备份法定人数可能需要至少5存储功能分区的高速缓存服务之前允许备份分区. 法定人数特定服务和内法定人数政策定义;群集服务,分区的高速缓存服务的分区的法定政策,以及代理服务代理法

Oracle Coherence中文教程二十一:使用缓存事件

使用缓存事件 Coherence提供缓存使用JavaBean事件模型的事件.收到你的需要,你需要他们的地方,不管变化实际上是发生在集群中的事件,这是非常简单的.熟悉JavaBean模型的开发应与事件工作有没有困难,即使在复杂的群集. 本章包含以下各节: 监听器接口和事件对象 了解事件担保 支持活动的缓存和类 注册的所有活动 使用内部类作为MapListener 配置一个MapListener一个Cache 具体身份签约活动 过滤事件 "精简版"的活动 高级:听查询 高级:合成事件 高级

Oracle Coherence中文教程二十五:Map管理操作触发器

Map管理操作触发器 Map触发补充标准的Oracle Coherence的能力,以提供高度自定义的缓存管理系统.例如,地图触发器可以防止非法交易,执行复杂安全授权或复杂的业务规则,提供透明的事件日志和审计,并收集统计数据修改.触发器的其他可能用途,包括限制行动,打击一个缓存,在应用程序重新部署时间发出. 例如,假设你有代码是与NamedCache工作,条目插入地图之前,你想改变一个条目的行为或内容.除了地图触发,而无需修改现有的代码,使你做出这种改变. 地图触发器也可以作为升级过程的一部分.除

Oracle Coherence中文教程二十:预加载缓存

预加载缓存 本章介绍了不同的模式,你可以用它来预加载缓存.该模式包括批量装载和分布载荷. 本章包含以下各节: 执行批量加载和处理 执行分布式批量加载 20.1执行批量加载和处理 例20-5, PagedQuery.java ,演示了在一个连贯缓存技术,有效地批量加载和处理项目. 20.1.1批量写入缓存 使用连贯性时,一个常见的场景是预先填充缓存应用程序使用它之前.一个简单的方法来做到这例20-1中的Java代码所示: 例20-1预加载缓存 public static void bulkLoad

Oracle Coherence中文教程十三:实施存储和备份的Map

本章提供的信息存储使用备份地图.本章包含以下各节: 缓存层 本地存储 操作 容量规划 使用分区的备份地图 使用弹性数据功能来存储数据 使用三角洲备份的 13.1高速缓存层 分区(分布式)缓存服务在Coherence中有三个不同的层次: 客户视图 - 客户端视图代表一个虚拟层提供访问底层分区的数据.进入这一层提供使用NamedCache接口.在这一层,你也可以创建合成数据结构,如NearCache或ContinuousQueryCache的. 存储管理 - 存储管理器,服务器端负责处理高速缓存相关

Oracle Coherence中文教程二:安装Oracle Coherence

安装Oracle Coherence 本章提供说明安装Oracle Coherence的java(简称为Coherence).本章不包括安装连贯性的说明*扩展的客户端分发(C ++和.NET)或相干*网站.请参阅Oracle Coherence的客户指南和Oracle Coherence的Oracle Coherence的网络,用户指南,安装这些组件的说明. 本章包含以下各节: 系统要求 提取分派 设置环境变量 初次运行连贯性 2.1系统需求 以下是建议的最低系统要求安装在开发环境中的连贯性: