Altibase电信级内存数据库介绍.ppt
,Altibase主存数据库产品介绍,韩国 Altibase 公司南开创元信息技术有限公司顾鸿翔,一、主存数据库技术简介 二、Altibase 主存数据库特色,目 录,一、主存数据库技术简介,IT市场的需求主存数据库概念技术发展历程主存数据库和磁盘数据库的比较主存数据库应用的必要性和可行性应用领域,主存数据库概念,主存数据库(MMDB:Main Memory Database)是将所有数据存于物理内存,因此能够不需要访问磁盘直接访问数据,从而获得极高的存取速度和极强的并发访问能力的数据库系统。主存数据库与传统的基于磁盘的数据库系统(DRDB,Disk-Resident Database)的重大区别在于数据的存储介质和针对物理内存而特别设计的数据储存结构的存取机制,一般存取速度的增加在10至1000倍左右。,主存数据库定义,主存数据库和磁盘数据库的区别,主存数据库技术发展历程,从上个世纪60年代末到80年代初。在这个时期中,出现了主存数据库的雏形。1969年IBM公司研制了世界上最早的数据库管理系统-基于层次模型的数据库管理系统IMS,并作为商品化软件投入市场。在设计IMS时,IBM考虑到基于内存的数据管理方法,相应推出了IMS/VS Fast Path。Fast Path是一个支持内存驻留数据的商业化数据库,但它同时也可以很好地支持磁盘驻留数据。在这个产品中体现了主存数据库的主要设计思想,也就是将需要频繁访问,要求高响应速度的数据直接存放在物理内存中访问和管理。在这个阶段中,包括网状数据库、关系数据库等其他各种数据库技术也都逐渐成型。,雏形期,主存数据库技术发展历程,1984年,D J DeWitt等人发表了主存数据库系统的实现技术一文。第一次提出了Main Memory Database(主存数据库)的概念 预言当时异常昂贵的计算机主存价格一定会下降,用户有可能将大容量的数据库全部保存在主存中 提出了AVL树、哈希算法、主存数据库恢复机制等主存数据库技术的关键理论,为主存数据库的发展指出了明确的方向 1984年,D J DeWitt等人提出使用非易逝内存或预提交和成组提交技术作为主存数据库的提交处理方案,使用指针实现主存数据库的存取访问。1985年,IBM推出了IBM 370上运行的OBE主存数据库 1986年,RB Hagman提出了使用检查点技术实现主存数据库的恢复机制。威斯康星大学提出了按区双向锁定模式解决主存数据库中的并发控制问题。并设计出MM-DBMS主存数据库。贝尔实验室推出了DALI主存数据库模型。1987年,ACM SIGMOD会议中提出了以堆文件(HEAP FILE)作为主存数据库的数据存储结构。Southern Methodist大学设计出MARS主存数据库模型。1988年普林斯顿大学设计出TPK主存数据库。1990年普林斯顿大学又设计出System M主存数据库。,技术理论成熟期,主存数据库技术发展历程,随着互联网的发展,越来越多的网络应用系统需要能够支持大用户量并发访问、高响应速度的的数据库系统,主存数据库市场成熟 半导体技术快速发展,半导体内存大规模生产,动态随机存取存储器(DRAM)的容量越来越大,而价格越来越低,这无疑为计算机内存的不断扩大提供了硬件基础,使得主存数据库的技术可行性逐步成熟 1994年美国OSE公司推出了第一个商业化的,开始实际应用的主存数据库产品 Polyhedra 1998年德国SoftwareAG推出了Tamino Database。1999年日本UBIT会社开发出XDB主存数据库产品。韩国Altibase推出Altibase 2000年奥地利的QuiLogic公司推出了SQL-IMDB 2001年美国McObject推出eXtremeDB。加拿大Empress公司推出EmpressDB,产品发展期和市场成长期,主存数据库技术发展历程,几种主存技术应用的比较,第一代:用户定制的主存数据库,通过应用程序来管理内存和数据.(主要目的:提高性能)不支持SQL语句,不提供本地存储,没有数据库恢复技术 性能好但很难维护和在别的应用中不能使用。应用在实时领域比如工厂自动化生产。,第二代:简单功能的主存数据库,能够快速处理简单的查询 支持部分的 SQL语句和简单的恢复技术 主要目的是能够快速处理大量事务 针对简单事务处理领域,尤其是交换机,移动通信等,第三代:通用的主存数据库,针对传统的商业关系型数据库领域,能够提供更高的性能、通用性以及稳定性.提供不同的接口来处理复杂的SQL语句和满足不同的应用领域 可以应用在计费、电子商务、在线安全领域,几乎包括磁盘数据库的所有应用领域,主存数据库和磁盘数据库的比较,磁盘数据库,主存数据库,主存数据库应用的必要性,高速聚集的海量信息,快速增长的用户群,互联网的快速发展,需要新型数据库管理系统,主存数据库管理系统,极高的数据存取速度,极强的并发访问能力,满足大量并发访问,快速处理海量信息,磁盘数据库管理系统,数据库系统处理能力不足,信息服务遇到瓶颈,信息管理系统,技术要求,主存数据库应用的可行性,半导体内存大规模生产,动态随机存取存储器(DRAM)的容量越来越大,而价格越来越低,这无疑为计算机内存的不断扩大提供了硬件基础,使得主存数据库的经济可行性逐步成熟。,经济可行性,技术可行性,64bit 芯片的普及。系统最大寻址空间决定了数据库容量。主存:32 bit=最大 4GB 寻址空间 64 bit=几乎无限的寻址空间 高稳定性操作系统出现UNIX等操作系统发展到近年来已经非常稳定,可以承受的住几个月,甚至一年的不停的运转。这样的可靠性能大大减少了数据库系统的风险。,主存数据库应用模式-嵌入式系统模式,航空航天系统,大型IP路由系统,电信通信交换系统,主存数据库,API,卫星通讯系统,实时嵌入式操作系统,应用 1,API,应用 2,API,应用 n,应用 n,嵌入式系统,智能交通控制系统,主存数据库应用模式混合模式,冷数据(80%),热数据(20%),主存数据库和磁盘数据库混合使用成为可以承担高速事务处理的关系型数据库,大型应用系统中,80%的访问是针对DBMS中20%的数据进行的,主存数据库应用领域,混合模式应用,电子商务领域 电子商务网络运营商,实时行情显示、网上银行、网上证券交易系统、航空订票 系统、国际贸易互联网谈判交易系统等大型的电子商务平台.,通信领域 通信计费营帐系统,预付费业务,前台营业处理、实时网络管理系统、CTI技术、WAP服务器、智能网络服务、增值服务系统.多样化的网络终端服务系统 为便携电脑、手机、携带终端、游戏机、网络电视等网络终端提供互联网服务,实时系统领域 控制系统与自动化工程、电信通信、网络通信、航空航天、雷达信号处理、智能交通管理、实时GIS系统、铁道工程、POS销售终端、医疗仪器、车载信息系统、瘦客户机等,嵌入式系统模式应用,主存数据库电信应用领域,二、Altibase 主存数据库产品介绍,Altibase 主存数据库Altibase DBMS服务器特色Altibase 与商用磁盘数据库比较Altibase DBMS复制功能Altibase DBMS产品构成Altibase 应用领域,Altibase 主存数据库,目前世界上最先进的主存数据库 Altibase Co.,Ltd成立与1999年11月,先后与韩国电子通讯研究院 和美国CONSOCIO Inc.合作 目前已应用于韩国80%的电信厂商和运营商(包括韩国电信,Samsung.),问题,Altibase的增强,10倍之上的性能提高 强健的稳定性和可维护性 对于实时处理系统没有额外的负 担 通过复制技术实现容错服务 使用工业化的标准(ANSI SQL)使开发更容易 灵活的架构来反映用户不同的 需求,磁盘DBMS的局限 性能上的不满意 对整个系统过重的负担,由于应用的局限性造成的不通用 开发以及维护非常困难 系统可用性、灵活性和效率方面的降低,磁盘 DBMS,用户定制,实时系统领域,实时系统,Altibase 主存数据库的物理结构,检查点操作:同步内存和磁盘数据文件中的数据 Loganchor:储存磁盘数据文件和日志文件的相关信息 磁盘数据文件,Loganchor和日志文件保障了在事务失败/系统故障/媒体故障时可对数据库 进行完全恢复,Altibase 数据库内存领域:32K(217)Page的集合,Data Page,Catalog Page,Local(Process)or Shared Memory,数据库系统信息的储存位置 储存数据库产生的详细信息 储存除自己之外数据页列表及使用信息 启动及停止时数据库全面检查及维护变更信息,储存实数据的储存位置 由Page Header 和 Page Body构成 Page Header:维护相互之间列表的连接信息和类型,以自身页码构成 Page Body:为了储存实数据分割成多个slot Slot:储存实数据的最终储存位置,Altibase 主存数据库最大容量 32 Bit O/S:可扩展到 217 Page 64 Bit O/S:可扩展到 249 Page,Local or Shared Memory 均能自动扩展,Altibase 主存数据库内存结构,Altibase DBMS 产品构架,Altibase Product Architecture,Data Replication,Client&Server Applications/Tools,Real-Time Application Pgms,Physical Memory,Unlimited Database Size with 64bit,Disk Structures,Catalog Page,Data Page,Process or Shared Memory,Altibase,(Tables and Indices),IPC|UNIX DOMAIN|TCP/IP,E/SQL|CLI|ODBC|JDBC,Datafiles,Loganchor,Logfiles,Hot Tables(100%)Small sized DB,Altibase DBMS App.,单独使用Altibase,将全部数据和管理驻留在内存中.,针对需要高速处理的应用领域 CTI or HLR 实时处理系统 自动化处理、智能交通,独立Altibase DBMS Server,Cold Tables(80%),Hot Tables(20%),Disk DBMS(Oracle,Informix,Sybase,DB2,),如何与磁盘数据库联用,Hot Tables,Gathering Real-time Data,Shared Tables,etc,Storing Cold Tables,History Data,etc,Altibase DBMS Server,Reference Site(V),Altibase 适用方案,选择时间消耗较大的的已有应用程序,转换成 Altibase 的应用程序 为了优化内存大小,把 应用程序使用的数据从 Oracle 提取,载入到 Altibase 根据需要把在 Altibase 变更的数据反映到 Oracle 数据提取,载入,应用程序执行等一系列 DB工作过程自动化处理,DataMigration,Disk Based RDBMS,Migration,Import,Performance-hungry APs,Altibase,Export,Disk Based RDBMS,Sync,Hot Transaction App.,Reference Site(V),Altibase 适用方案(注意事项),为了使用 Altibase,首先要进行data sizing,必须确保内存可以容纳所有的数据和应用程序运行开销。,Client,Server,Altibase DBMS 组成部分,Altibase DBMS 服务器特色,Altibase DBMS Server Feature,综合了主存数据库领域目前已知的最先进的技术.,存储管理,用MVCC(Multi Version Concurrency Control)实现并发控制 使事务之间的冲突最小化.记录的读/写操作中不使用Lock和Latch 实现死锁检测 保存点(Implicit,Explicit)Fuzzy&Ping-pong检查点 支持动态、共享内存数据库结构 数据库在运行时可以自动扩展 支持T-Tree,部分B+-Tree,R-Tree 为了系统的多样性,在内存中或者磁盘上支持多种数据文件的格式 数据文件和日志文件可以在不同的目录 数据文件可以由多个文件组成,支持完整的SQL92标准.,查询处理,Altibase DBMS 服务器特色,多种内建函数,基于WAL(Write Ahead Logging)的日志 检查点 脏页写到磁盘上.调整日志信息.(自动删除日志存档).管理当前处理的事务的信息.在线备份 恢复的范围:事务失败/系统故障/媒体故障,日志&恢复,聚合,数字,字符,日期,转换,其它(Decode等),嵌套查询没有限制 表join没有限制 用Hint调节查询 执行计划,扩展DDL 查询优化(CBO&RBO)增强 支持复杂查询 支持分等级查询,应用开发环境,提供标准CLI,ODBC,JDBC.提供Embedded SQL(预编译程序)类似于 Oracle Pro*C/C+原来使用Oracle的开发者很容易适应,可以降低开发和维护成本,减少开发周期.支持多线程客户端 支持存储过程 支持本地存储过程(Native Stored Procedure)(嵌入式架构的替代功能)支持XA接口,负载平衡 R-Tree(OpenGIS 标准)提供各种工具 Sql 交互工具,dbadmin,audit,shmutil,等等.,Altibase DBMS 服务器特色,Altibase vs.Disk DBMS,Memory Copy Overhead 硬盘 RDBMS 的 application 不能直接访问数据库内存缓存中的特定记录,所以把记录拷贝到内存进行操作。但 Altibase 的所有的数据都存在于内存,所以直接访问特定记录。Buffer Management Overhead 硬盘 RDBMS 把数据读到内存缓存中使用时,需要内存缓存往硬盘写 old pages 和变更数据状态的工作。,DBMS“Engine”,Run-Time Database,Altibase,Memory Copy Overhead,Search Translation Overhead,Buffer Mgmt Overhead,Excess Features Overhead,Altibase Main Memory RDBMS,Disk based RDBMS,Catalog Page,Data Page,Disk-OptimizedRDBMS Engine,Application Programs,Process or Shared Memory,Altibase vs.Disk DBMS,Physical Memory,Database,Tables,Indices,Backup DB,Datafile 1,Logfile n,DBS,LOGS,Physical Memory,Buffer,Database,Datafiles,Controlfiles,Redofiles,访问内存最佳的索引结构(使用 T-Tree),数据查询算法本身就很简单(减少 CPU Time 占有率)减少系统的负荷,数据 caching 没有多余的数据拷贝(Disk I/O),减少了系统负荷,Recovery 时只发生必需的,最少I/O,Log,Logfile1,Log anchor,Altibase vs.Disk DBMS(内存管理),硬盘 DBMS 的查询最佳算法的基本在于减少硬盘 I/O 次数 硬盘 DBMS 不能排除数据存在于硬盘的假设,所以使用了假设数据存在于硬盘的 最坏(worst case)情况的算法 Altibase 的所有数据都存在于主存中,所以不需要考虑数据存在于硬盘的最坏情况,只需使用 最佳的算法访问数据,假设数据存在于磁盘,复杂的查询算法,增加CPU Time,数据常驻主存,简单的查询算法,减少CPU Time,已有基于硬盘的DBMS,Altibase Main Memory DBMS,Altibase vs.Disk DBMS(索引算法),B-tree Index,T-tree Index,无需把逻辑地址变换成物理地址(直接指向相当于入口的纪录的内存地址),逻辑地址变换成物理地址的工作(包含的数据页相当于入口的记录),基于硬盘的DBMS,Altibase Main Memory DBMS,Altibase vs.Disk DBMS,索引日志 Altibase一般不做对索引的日志,所以日志的量很少.检查点算法 表面看起来只把脏页存储到磁盘备份数据区,其实为了对在线事务处理施 加最小的影响,使用了Ping-pong&模糊检查点方法.因为所有数据都在内存中,所以读取数据时没有相关索引的 I/O,提高了更新和删除操作的速度.,Altibase vs.Disk DBMS(不间断服务构成方法),Altibase vs.Disk DBMS(总结),测试部门,Taiwan Chunghwa Telecom 测试结果,Telecommunication Laboratories BU8 PS Team,测试实验室环境,SUN E4500,2GB main memory,2CPUs,SUN OS 5.8.Access 100,000 records which include Number and Char type.,测试实验室结果,Altibase 与商用磁盘数据库性能比较,测试环境:Server:sun E-450memory:4GBCPU:2*400Mz 测试部门:韩国 Altibase 公司和韩国三星电子 比较产品:Altibase DBMS 和 Disk Based DBMS 测试工具:TPC-B,TPC-H Benchmark 性能标准:TPS(Transaction Per Second),每秒事务处理量,性能比较简单查询性能测试,数据量,TPS,TPC-B,测试结果:Altibase处理能力比磁盘数据库快10倍以上,数据量,TPS,TPC-B,测试结果:使用NSP使得Altibase的处理能力有进一步的提升(2.5倍),性能比较简单查询性能测试(NSP),性能比较 TPC-H测试,TPC-H Test是反映现代复杂商务情况的国际DBMS性能测试基准 测试适用于无法预测数据和频繁变化的网络环境的DBMS的基准 由22个复杂的SQL语句构成,什么叫TPC-H Test?,1,测试结果:Altibase的复杂查询处理能力比磁盘数据库有整体的提高,TPC-H 性能测试(Altibase VS Disk DBMS),Demonstrates multiple aspects of a servers ability to process queries in order to give answers to critical business questions of real-world.Evaluates a DBMSs ability to process unexpected data and apply to network environments with frequent change.Consists of 22 of complex SQL statements.,About TPC-H Test,复制的必要性,Altibase DBMS复制特色,高可用性,当系统发生故障时,可以立即访问down掉的数据存储的复制体。,靠分配工作量到多个节点保证可伸缩性。,可能是 故障点.可用性=1 pn(p=down机的可能性)例如:如果 p=5%,有复制的数据库系统 的可用性增加到 99.75%.,会发生 瓶颈.降低系统响应时间 限制系统吞吐量,负载平衡(增强性能),数据库产品的复制方式:1.在一个应用程序中执行复制:当服务器性能降低和发生故障时很难保持数据库的 一致性.2.通过传送查询语句执行复制:负载平衡效率低,难以验证数据冲突 3.通过传送执行计划执行复制:数据传输的增加大大增加了通信量.4.通过转换日志为查询语句执行复制:转换和查询处理的成本很高.5.通过将发送的日志转换为执行计划执行复制:需要转换成本,但是能够提高复制的性能.6.像服务器恢复一样发送日志,执行复制:速度快,但是不能实现active-active模式.,Altibase DBMS复制特色,实现复制的方法,基于日志的复制,Altibase 复制技术采用了读取储存事务内容的日志文件,并发给从复制服务器的同步方式.所以不会影响在主复制服务器进行的事物,只发生线程读取日志文件和创建事务并发送的负荷,所以只要CPU资源允许几乎没有性能下降.,Altibase DBMS复制特色,复制特性,拓扑结构,支持点-点的复制.通过支持N向复制提供星型架构的复制拓扑结构.提高系统的容错、容灾能力 提供系统的负载均衡能力,基于日志 在数据库日志的基础上实现复制 使服务器的负荷最小化 复制时保持standalone性能的90%以上.表级的复制 可以复制整个数据库中的表的一部分.提高操作效率 实时复制 支持实时事务处理的实时复制 简化实时服务的实现 提高可用性 当系统发生故障时,可以立即访问down掉的数据存储的复制体,这样可以实现系统服务的连续性.高稳定性 检测服务器的故障和网络错误并进行适当的错误处理.通过复制恢复保持数据的一致性.现在,在30多个站点的150多个系统中正在运行着Altibase的复制系统,Altibase 复制特色,线程结构 与服务同步&减少处理开销 包括管理器,发送器,接收器线程 使占用的内部资源最小化,复制的内部结构,Point-To-Point Replication,Server A,Table A,Altibase,Server B,Altibase,Server C,Altibase,Table A XLOG,Table A XLOG,Table AInsert,Update,DeleteTransaction,Table A,Table A,Why Server B does not send XLOG transmitted from Server A to Server C?:Because infinite loop can occur if Table A was replicated between Server A and Server C.,Table A,Altibase,Server B,Altibase,Server C,Altibase,Table A XLOG,Table A,Table A,Table A XLOG,Server A,Table AInsert,Update,DeleteTransaction,Solution using N-Way Replication,If Table A is replicated among Server A,B,C Server A(Active)Server B(Standby),Server A(Active)Server C(Standby),Altibase 复制技术,如何使用 Altibase 复制技术,Altibase的 DB 复制接口 与 SQL是相同的结构,简单、容易使用.运营系统时,可以随意控制复制的Create,Start,Stop,所以容易运营及管理系统和服务.设计时尽可能的考虑到了客户的复制运营及管理的容易性.,通过基于DB服务器功能的划分很容易提供可伸缩性.Altibase DBMS 1(当前)-Altibase DBMS 2(当前)很容易通过添加 Altibase DBMS 服务器来扩展服务来解决服务的 retrieval 负载增加的问题.很容易解决复制的数据冲突问题.,发生Insert/Update/Delete 数据事务,表 n,Altibase DBMS 1(当前),表 B,表 A,Active-Active复制,Active-Active复制,可扩展系统,Altibase Replication 配置方案,基于 DBMS 的功能划分,分别管理共享表,将共享表按业务特性分类来配置灵活的系统.共享表:被大多数应用频繁访问的表,也就是热表(Hot Table).,Altibase Replication 配置方案,基于业务的功能划分,Primary-Standby Architecture,Altibase,Altibase,ApplicationProgram,Replication,Primary Server,Standby Server,Altibase,Altibase,Primary Server,Standby Server,Altibase,Altibase,Primary Server,Standby Server,Sync&Replication,Active-Active Architecture,ApplicationProgram,ApplicationProgram,如何使用 Altibase 复制技术,Primary-Multi Standby Architecture,Altibase,Altibase,Primary Server,Standby Server,Altibase,Altibase,Primary Server Failure,Standby Server,Primary-Multi Standby Architecture using Propagator Server,Altibase,Standby Server,Altibase,Standby Server,如何使用 Altibase 复制技术,Replication,Replication,ApplicationProgram,ApplicationProgram,Replication,数据库复制:主数据库(E450)从数据库(E450)复制时保持standalone性能的90%以上.,复制性能测试,Admin 工具,Admin工具 执行所有的Altibase操作管理(例如start和stop),配置管理和各种监测。数据库创建工具 共享内存管理工具,应用程序编程语言:JAVA,C,C+,接口环境:Web服务器,Web客户端 可以实现互操作的产品:ORACLE,INFORMIX,DB2,WebLogic,TMAX,Tuxido,通信协议:TCP/IP,Unix Domain,IPC,32/64 Bit:Solaris,HP-UX,AIX,Compaq,Itanium 32 Bit:Linux,Windows2003,FreeBSD RTOS:VxWorks,QNX,开发环境,支持的操作系统,Altibase DBMS产品构成,Client-Server应用:SES(Embedded SQL),JDBC,ODBC,CLI(与ODBC类似)嵌入式应用:本地存储过程(Native Stored Procedure),iSQL 提供SQL交互功能,创建、保存、执行SQL脚本,自动保存、执行最近使用的命令,保存和加载iSQL缓冲区中的SQL语句 iLoader 以指定的格式下载和上传数据库数据的工具,下载的格式和Oracle和SQL server兼容 Audit(for DB replication)检查并确保本地Altibase系统和远程Altibase系统之间数据的一致性,检查并确保复制的数据库之间的数据的一致性 其它 CheckServer等等,应用程序库,工具,Altibase DBMS产品构成,Altibase 应用背景,应用背景,低延迟,高实时性,用户数和通话数大量增长下保持系统性能,稳定的处理大容量的事务,提供故障发生的解决方法,开放的平台和多种标准接口 高性能的星型复制技术 稳定、强健的系统特性 良好的可维护和易用性,技术特点,Altibase DBMS 应用领域,通信领域,Altibase DBMS 应用领域,通信领域,Altibase DBMS 应用领域,通信领域,Altibase DBMS 应用领域,财经服务领域,Altibase DBMS 应用领域,军事&其他领域,我们的合作伙伴,谢谢各位领导、专家的光临指导,天津总部:天津华苑产业园区榕苑路1号软件出口基地A座9层邮 编:300384 电 话:022-83719090 传真:022-83719091北京分公司业务中心:北京海淀区世纪城6-2邮 编:100089 电 话:010-88596905/07 手 机:传真:010-88596917北京分公司研发中心:望京科技园区106楼412电 话:电子邮件:Web:http:/,天津南开创元信息技术有限公司,