【IT168 现场报道】2013年4月18-20日,第四届中国数据库技术大会(DTCC 2013)在北京福朋喜来登酒店拉开序幕。在为期三天的会议中,大会将围绕大数据应用、数据架构、数据管理(数据治理)、传统数据库软件等技术领域展开深入探讨,并将邀请一批国内顶尖的技术专家来进行分享。本届大会将在保留数据库软件应用实践这一传统主题的基础上,向大数据、数据结构、数据治理与分析、商业智能等领域进行拓展,以满足于广大从业人士和行业用户的迫切需要。
4月18日下午,在内存数据库分会场上,美国麦科捷有限公司(McObject)亚太区高级工程师黄东旭发表了主题为《eXtremeDB内存数据库性能提升方案分享》的精彩演讲。在本次演讲过程中,黄东旭结合eXtremeDB内存数据库技术为大家分享了内存数据库性能提升的方式,并强调了eXtremeDB内存数据库在一些应用领域的成功案例。
随着大数据时代的来临,数据量爆发增长,系统变得越来越大,使用的软件越来越多。在大数据的环境下,磁盘数据库面临着一些性能瓶颈,这也催生了内存数据库成为厂商的新宠。
什么是内存数据库?内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。
黄东旭表示,在内存数据库中,内存为主要存储介质,所有的表及索引总是在内存中,内存数据库为访问内存而设计的非常好的访问方法和索引模式,并在数据缓存、快速算法、并行操作也进行了相应的改进,它消除了 I/O 瓶颈。相比于传统磁盘数据库,内存数据库在访问成本、容量、 数据持久性、 索引算法和内存管理算法、 系统架构中的角色方面更有优势。
在谈及内存数据库的特点方面,黄东旭总结了三点:快、小、易失性。其中快是指速度,速度是内存数据库最大的优势,小是指内存占用系统资源方面,易失性是指内存本身掉电丢失的特性,因此需要提前对内存上的数据做保护。内存数据库所处理的数据通常是“短暂”的,即有一定的有效时间,过时则有新的数据产生,而当前的决策推导变成无效。所以,实际应用中采用内存数据库来处理实时性强的业务逻辑处理数据。
如何提高内存数据管理性能?黄东旭分别从运行时接口、事务处理管理器、 索引管理器和内存管理方面进行了详细的解析。
在谈及索引优化方面,黄东旭强调了树形索引是常见的索引类型,磁盘数据库系统的典型的索引技术是 B-tree索引。B-tree结构的主要目的是减少完成数据文件的索引查找所需要的磁盘I/O的数量。B-tree通过控制节点内部的索引值达到这个目 的,在节点中包含尽可能多的索引条目(增加一次磁盘I/O可以访问的索引条目)。另一方面,T-tree是针对主存访问优化的索引技术。T-tree是一种一个节点中包含多个索引条目的平衡二叉树,T-tree的索引项无论是从大小还 是算法上都比B-tree精简得多。T-tree的搜索算法不分搜索的值在当前的节点还是在内存中的其他地方,每访问到一个新的索引节点,索引的范围减少 一半。
黄东旭在谈及内存数据库eXtremeDB性能时表示,数据库操作的速度以微秒计,静态内存分配及定制的API缩短了代码执行路径,既提高了性能,更提高了系统健壮性,下图显示了eXtremeDB操作一条记录能达到惊人的个位微秒级性能。
在内存数据库的功能扩展方面,黄东旭分别从内存数据保护、事务日志、高可用版、集群和特殊版本等方面重点进行了解析。
在内存数据保护方面,内存数据库有高可用性组件和集群组件,在不同设备中同步多个数据库实例,与磁盘数据库进行数据同步,事务日志点可以实现定期检查点和前滚/回滚恢复。
在事务日志方面,事务日志以事务为单位记录事务日志,设备故障或系统出错的情况下,对于RAM中内存数据库实例提供了强大的恢复能力。事务日志提供了”Data Relay” 特性,与后端数据库进行无缝。
在高可用性方面,内存数据库的高可用功能能够同步多个独立的数据库实例,保证它们的一致性。比较常见的场景有:如在一个局域网内两个或两个以上的计算机、在同一硬件环境的多个进程或线程。
在集群方面,设备故障或系统出错的情况下,内存对于RAM中内存数据库实例提供恢复能力。集群通过集群之间的协议对数据进行镜像,节点间共享数据,保证了数据一致性。
此外,黄东旭重点介绍了McObject的 eXtremeDB的优势所在。McObject的 eXtremeDB 金融版内存数据库系统可提高数据管理效率,加快算法交易、定量分析、对盘和其他实时资本市场系统的性能。 该版本基于矢量的数学函数,通过最大限度地提高一级/二级缓存的使用率来加快对时间序列数据的管理。通过组织函数形成顺序的运算流水线来支持统计/定量分析,从而避免频繁占用CPU的资源。
在核心eXtremeDB内存数据存储之外,麦科捷的eXtremeDB混合版添加了混合的存储方式。特定的记录类型可以利用灵活的缓存来被指定给磁盘存储。基于性能、稳定性、成本和结构等要素来选择您最适合的存储介质。eXtremeDB为开发人员提供了多种应用程序开发接口(API)。
内存数据库的应用场景非常广泛,金融领域、电信领域、安全控制系统、工业控制、消费电子、军事/航空航天和其他领域等,其中金融领域比如实时交易结算系统,期货交易系统,交易中心软件等,电信领域实时计费和实时会话等。
McObject从一开始就创建了eXtremeDB内存数据库系统,现已拥有大量的成熟解决方案案例,拥有超过300个全球各行业领军客户。
最后,黄东旭在现场与大家分享了eXtremeDB在不同领域的具体应用。大连商品交易所使用了eXtremeDB,后端的Oracle作为行情数据库,用户的买单和卖单数据从终端传输到内存数据库,每天的数据会在将内存数据库同步到Oracle数据库中。
电信应用方面,Lifetree的开发团队评估过多个现有的商用数据库系统作为J@nus内存缓存的潜在供应商,并最终选择了eXtremeDB。那是由于eXtremeDB最快速的响应速度,高可用性和对64位的支持。
通讯应用-F5方面,为了达到如BIG-IP网络应用的性能要求,快速地设置查询结构参数是非常重要的。eXtremeDB的微秒级查询性能符合了这个要求。
军工方面,由波音公司生产的世界领先的AH-64D Apache Longbow 多功能的战斗直升机,利用eXtremeDB作为飞机关键的实时板载系统研发的一部分。
其它行业,黑龙江福彩研发团队评估了多个内存数据库,以应对当期彩票销售状况实时监控和分析。eXtremeDB最终以极高的响应速度和高可靠的特性,成为黑龙江福彩的最终选择。尤其是HA特性,即可以保证数据的安全性,同时保证故障发生时的系统可靠性。
欲知更多大会详情,请关注专题http://www.it168.com/redian/dtcc2013/