GemFire数据存储.pptx_第1页
GemFire数据存储.pptx_第2页
GemFire数据存储.pptx_第3页
GemFire数据存储.pptx_第4页
GemFire数据存储.pptx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

GemFire 数据存储,GemFire 中国社区发起人 杨旭钧(微信号:theseusyang),数据存储,数据存储可用于如下的缓存类型: Cached regions. 从缓存region中持久化/溢出数据。See Using Disk for Backup and Overflow in the GemFire Enterprise Developers Guide. Servers client subscription queues. 溢出订阅消息队列来维持内存利用率. See Overflowing the Client Queue to Disk in the GemFire Enterprise Developers Guide. Gateway messaging queues.持久化消息队列用于HA高可用.这些队列通常是溢出队列. See Gateway Queue Persistence in the GemFire Enterprise Developers Guide. 你可以在缓存级别上定义磁盘存储. 每一个磁盘存储可供多个region和队列来使用.,磁盘存储的使用,每一个成员都有自己的磁盘存储. 对于每一个磁盘存储来说, 你可以定义何时和怎样存储数据到磁盘中. 你也能够为多个region和queue存储数据. 下图显示了一个缓存服务器有region A、B和X。Region A和B使用磁盘存储D,RegionX和客户端订阅队列使用磁盘存储R GemFire写入磁盘存储的信息 成员列表、状态信息, 例如运行、离线和时间戳 写入磁盘存储中的Region列表 对于每个region来说: Region 加载和容量管理属性, 在启动时可快速加载 Region 数据操作,磁盘存储文件名称和扩展,示例,Example files for Disk Stores persistDS1 and overflowDS1 bash-2.05$ ls -tlra persistData1/ total 8 -rw-rw-r- 1 jpearson users 188 Mar 4 06:17 BACKUPpersistDS1.if drwxrwxr-x 2 jpearson users 512 Mar 4 06:17 . -rw-rw-r- 1 jpearson users 0 Mar 4 06:18 BACKUPpersistDS1_1.drf -rw-rw-r- 1 jpearson users 38 Mar 4 06:18 BACKUPpersistDS1_1.crf drwxrwxr-x 8 jpearson users 512 Mar 4 06:20 bash-2.05$ bash-2.05$ ls -ltra overflowData1/ total 1028 drwxrwxr-x 8 jpearson users 512 Mar 4 06:20 -rw-rw-r- 1 jpearson users 0 Mar 4 06:21 DRLK_IFoverflowDS1.lk -rw-rw-r- 1 jpearson users 0 Mar 4 06:21 BACKUPoverflowDS1.if -rw-rw-r- 1 jpearson users 1073741824 Mar 4 06:21 OVERFLOWoverflowDS1_1.crf drwxrwxr-x 2 jpearson users 512 Mar 4 06:21 . Default Disk Store Files for Persistent Region bash-2.05$ ls -tlra total 106 drwxrwxr-x 8 jpearson users 1024 Mar 8 14:51 -rw-rw-r- 1 jpearson users 1010 Mar 8 15:01 defTest.xml drwxrwxr-x 2 jpearson users 512 Mar 8 15:01 backupDirectory -rw-rw-r- 1 jpearson users 0 Mar 8 15:01 DRLK_IFDEFAULT.lk -rw-rw-r- 1 jpearson users 107374183 Mar 8 15:01 BACKUPDEFAULT_1.drf -rw-rw-r- 1 jpearson users 966367641 Mar 8 15:01 BACKUPDEFAULT_1.crf -rw-rw-r- 1 jpearson users 172 Mar 8 15:01 BACKUPDEFAULT.if drwxrwxr-x 3 jpearson users 512 Mar 8 15:01 .,磁盘存储oplog文件,在创建时, 每一个oplog文件利用 max-oplog-size初始化,大小在crf 和 drf 文件之间切分. 当 oplog关闭时, GemFire 回收未用完的文件空间. 当一个oplog文件用完之后, GemFire 会自动关闭它,同时使用下一个序列号创建新的log文件. 这个被称为oplog滚动. 你也能够通过API强制调用一个oplog滚动, DiskStore.forceRoll. 在压缩磁盘存储之前做这个操作,将滚动到最新的oplog进行压缩. 日志压缩能够改变磁盘存储文件的名称. 文件序列号经常被替换, 一些现有的日志被删除或替换成最新的log日志文件. 如果oplog文件已经用完, GemFire怎样处理是否开启自动压缩功能: 如果自动压缩开启, GemFire 在文件目录中创建一个新的oplog文件, 如果超过规定大小,则记录一个告警信息: Even though the configured directory size limit has been exceeded a new oplog will be created. The current limit is of XXX. The current space used in the directory is YYY. 因此当自动压缩开启时, dir-size 并不限制磁盘空间的使用. GemFire 将执行自动压缩, 来清空空间, 但是系统可能超过磁盘的配置限制. 如果自动压缩禁用, GemFire不创建新的oplog文件, 后续的操作将被阻塞,同时GemFire 记录日志错误: Disk is full and rolling is disabled. No space can be created.,压缩磁盘存储log文件,当缓存操作被添加到磁盘存储上时, 任何现存的操作记录都将淘汰, 同时GemFire将其标记为垃圾. 例如,当你创建一个条目时, 创建操作被添加到存储上. 如果你更新条目, 更新操作将被添加,同时创建操作变为垃圾记录. GemFire 并不删除垃圾记录, 但是在每个操作日志中,它跟踪垃圾百分比, 同时一个提供删除垃圾记录、压缩日志文件的机制. GemFire 通过拷贝所有非垃圾记录到当前日志来压缩旧垃圾日志,同时丢弃旧文件. 当记录日志时, oplogs按需滚动,进行压缩。 你可以配置自动压缩任何已关闭的操作日志,当垃圾内容达到一个特定百分比时,可人工请求磁盘存储的压缩. 对于在线磁盘存储,当前的操作日志并不进行压缩操作,无论垃圾的比率是多少.,在线压缩和离线压缩,在线压缩 当垃圾超过了文件配置大小的比率时,旧 log 文件将进行在线压缩。当这个操作被更新的操作所替代时,这个记录将变成垃圾。在压缩过程中,非垃圾记录被添加到当前的日志中,新的缓存操作按顺序进行排列。 在线压缩并不阻塞当前的系统操作。 Automatic 当 auto-compact 置为 true时, GemFire自动压缩每一个oplog,当它的压缩内容超过了 compaction-threshold时。 自动压缩可能自动执行压缩动作, 你也可以禁用自动压缩,执行人工压缩,来节省时间和提高性能。 Manual 为了运行手动压缩, 设置 allow-force-compaction 为 true. GemFire将按需进行文件压缩. 缺省情况下它是禁用的. 当系统运行时,在任何时间你都能运行手动压缩. Oplogs 基于compaction-threshold 进行压缩,. 用户可进行如下操作: 通过API为单个在线存储进行日志压缩: myCache.getDiskStore(“myDiskStore“).forceCompaction(); 此方法滚动oplogs日志,然后进行压缩. gemfire compact-all-disk-stores 使用命令行,在分布式系统中压缩所有在线磁盘存储: 保证 gemfire 调用能够找到 perties 文件. 离线压缩 离线压缩是手动压缩的一种. 所有的日志文件会尽可能压缩,而不考虑有多少垃圾存在. 离线压缩创建了一个新的日志文件,对于已经压缩的日志进行记录. 使用下列命令压缩离线的磁盘存储. gemfire compact-disk-store myDiskStoreName /firstDir /secondDir maxOplogSize=maxMegabytesForOplog 你必须提供磁盘存储的所有目录. 如果没有指定oplog最大值, GemFire则使用缺省值. 离线压缩会消耗大量内存. 在运行时,如果报出内存溢出错误 java.lang.OutOfMemory , 你则需要增加内存堆的大小。 离线压缩和在线压缩的方式大致相同,但是没有压缩时的缓存操作。因为没有当前的日志文件,压缩将创建新的日志文件开始压缩,手动压缩的性能考虑,如果你关闭了自动压缩,在繁忙时,你能够提升性能,同时运行手动压缩,系统负载更低。 在应用执行大量的数据操作之后,你能通过调用API的方式来执行。 在系统使用率低的时候,可以执行 gemfire compactalldiskstores 命令. 为了实施这个策略,所需的磁盘空间要足够大,用来容纳非压缩磁盘数据。通过系统监控来防止磁盘空间过量使用. 你可能只运行离线压缩. 因此,需设置allowforcecompaction为 false ,避免存储手动在线压缩的所需信息. 目录大小限制 在压缩时,如果已经达到了磁盘目录大小限制: 对于自动化压缩, 系统记录警告, 但是并不停止 对于手动压缩, 操作停止,同时返回 DiskAccessException 异常错误, 记录系统已经超出了磁盘空间的限制,示例,磁盘存储压缩 bash-2.05$ ls -ltra backupDirectory total 28 -rw-rw-r- 1 jpearson users 3 Apr 7 14:56 BACKUPds1_3.drf -rw-rw-r- 1 jpearson users 25 Apr 7 14:56 BACKUPds1_3.crf drwxrwxr-x 3 jpearson users 1024 Apr 7 15:02 -rw-rw-r- 1 jpearson users 7085 Apr 7 15:06 BACKUPds1.if -rw-rw-r- 1 jpearson users 18 Apr 7 15:07 BACKUPds1_4.drf -rw-rw-r- 1 jpearson users 1070 Apr 7 15:07 BACKUPds1_4.crf drwxrwxr-x 2 jpearson users 512 Apr 7 15:07 . bash-2.05$ gemfire validate-disk-store ds1 backupDirectory /root: entryCount=6 /partitioned_region entryCount=1 bucketCount=10 Disk store contains 12 compactable records. Total number of region entries in this disk store is: 7 bash-2.05$ gemfire compact-disk-store ds1 backupDirectory Offline compaction removed 12 records. Total number of region entries in this disk store is: 7 bash-2.05$ ls -ltra backupDirectory total 16 -rw-rw-r- 1 jpearson users 3 Apr 7 14:56 BACKUPds1_3.drf -rw-rw-r- 1 jpearson users 25 Apr 7 14:56 BACKUPds1_3.crf drwxrwxr-x 3 jpearson users 1024 Apr 7 15:02 -rw-rw-r- 1 jpearson users 0 Apr 7 15:08 BACKUPds1_5.drf -rw-rw-r- 1 jpearson users 638 Apr 7 15:08 BACKUPds1_5.crf -rw-rw-r- 1 jpearson users 2788 Apr 7 15:08 BACKUPds1.if drwxrwxr-x 2 jpearson users 512 Apr 7 15:09 . bash-2.05$,配置磁盘存储,你可以不用配置任何的磁盘存储来保存数据条目到磁盘. 这将使用GemFire的缺省磁盘存储. 缺省的名称为DEFAULT ,同时在初始化的时候,使用所有的磁盘存储设置都是缺省的.,磁盘存储API,DiskStoreFactory 用于配置和创建一个磁盘存储,同时使用 DiskStore API 来管理它. com.g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论