- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内存数据库研究
目录 内存数据库应用背景 常用提升数据检索速度的技术 什么是内存数据库 内存数据库关键技术 T-Tree索引 Hash索引 内存数据库和共享内存技术对比 闪盘技术介绍 内存数据库和闪盘应用对比 技术对比 内存数据库技术应用场景建议 内存数据库使用方案 目录 内存数据库需要提供交易完整性 事务处理日志记录和持久性 所有事务处理都记录在内存中日志缓冲区,然后永久提交到磁盘上: 异步提交:后台日志冲刷程序不断地将数据永久提交到磁盘上 永久提交:应用程序等待事务处理永久提交到磁盘 自动检查点:系统会自动将数据存储的检查点保存到磁盘 系统重启后,数据存储可从检查点文件加载到内存中: 重做检查点文件中不存在的事务处理 事务处理日志记录和持久性 为获得很高的事务处理吞吐量而优化事务处理日志管理器 所有连接按数据存储共享一个事务处理日志(包括日志缓冲区和日志文件) 异步提交:后台日志冲刷程序不断地将数据永久提交到磁盘上 永久提交:应用程序等待事务处理永久提交到磁盘 应用程序开发人员可详细控制磁盘日志记录选项 数据存储检查点 检查点操作可以: 将内存中数据存储映像写入磁盘 清除过时的事务处理日志文件 每个检查点操作都可以选择写入两个检查点文件中的一个文件 检查点文件与事务处理日志文件配合使用可确保数据的永久性 数据发布 - Transaction Log API (XLA)? 事务处理隔离级别 隔离级别可以控制并发事务处理的交互方式: 读取已提交: 读进程不会阻塞写进程,写进程不阻塞读进程 未获取对扫描行的锁 可能导致不可重复的读取 提供比可串行化隔离级别更好的并发性 可串行化: 在被扫描行上获取共享锁 为可重复读取提供 读取已提交隔离 可串行化隔离 保护内存数据库不受应用故障影响 共享进程空间会使嵌入式应用受进程故障的影响 Oracle TimesTen的MicroLogging? 技术确保内存数据库不受应用进程故障的影响 异常终止的应用进程不会影响Data Store,受到影响的交易会被滚回(Rollback) 其他进程/线程可以继续运行,不受影响 内存数据库可以继续运行,不需中断 目录 只读高速缓存组 IMDB高速缓存表不可直接更新 磁盘数据库中的更新可以自动刷新到内存数据库高速缓存 可以选择将更新通过内存数据库传递到 磁盘数据库中 可更新的高速缓存组 直接对 IMDB高速缓存表执行事务处理 同步直写式事务处理在 磁盘数据库中同步提交 异步直写式事务处理在 磁盘数据库中按批提交 从内存数据库到磁盘数据库的数据同步 将 IMDB 高速缓存更新传输到对应的 磁盘数据库: 自动传播 手动冲刷 从磁盘数据库到内存数据库的数据同步 将 磁盘数据库更新和数据传输到对应IMDB 高速缓存: 递增自动刷新 完全自动刷新 手动加载 手动刷新 SQL语句透传(PassThrough) 通过IMDB数据存储连接,透明地将语句传送到应用程序: 将 IMDB 数据存储无法处理的语句重定向到 Oracle DB IMDB管理到 Oracle 的连接 同步直写式高速缓存组数据流 应用程序 (0) SELECT .. UPDATE .. INSERT .. (1) COMMIT IMDB (2) 将事务处理传播至 Oracle (UPDATE、INSERT 和 COMMIT) Oracle (3) 提交事务处理并返回 TimesTen IMDB (4) 提交至事务处理日志 (5) 将控制权返回给应用程序 异步直写式高速缓存组 先在 IMDB中提交高速缓存表更新,然后再通过复制代理将这些更新传播到 磁盘数据库中进行提交 无须等待 磁盘数据库提交完成,即可对高速缓存表发出新的事务处理 异步直写式高速缓存组数据流 应用程序 (0) SELECT .. UPDATE .. INSERT .. (1) COMMIT IMDB (2) 提交至事务处理日志 (3) 将控制权返回给应用程序 (4) 将事务处理传播至 Oracle (UPDATE、INSERT 和 COMMIT) Oracle (5) 提交事务处理并返回 TimesTen 按需高速缓存 示例:按需高速缓存 IMDB: 当前开单记录 登录用户概要文件 Oracle 数据库: 开单历史记录资料档案库 所有用户概要文件 数据老化(Data Aging) Data aging 将不再需要的数据从缓存中移除 基于时间设定,移除过期数据 移除不再需要的数据 两种 Data aging 操作 Time-
文档评论(0)