资源描述
Copyright200,5,南开创元,Introduction to,主存数据库-,63,Altibase,主存数据库产品介绍,韩国,Altibase,公司,南开创元信息技术有限公司,顾鸿翔,Email:guhongxiangg-,韩国 Altibase 公司,一、主存数据库技术简介,二、,Altibase,主存数据库特色,目 录,一、主存数据库技术简介目 录,一、主存数据库技术简介,IT,市场的需求,主存数据库概念,技术发展历程,主存数据库和磁盘数据库的比较,主存数据库应用的必要性和可行性,应用领域,一、主存数据库技术简介IT市场的需求,主存数据库,概念,主存数据库,(,M,MDB:,Main,Memory Database,),是将所有数据存于物理内存,因此能够不需要访问磁盘直接访问数据,从而获得极高的存取速度和极强的并发访问能力的数据库系统。,主存数据库与传统的基于磁盘的数据库系统(,DRDB,Disk-Resident Database)的重大区别在于数据的存储介质和针对物理内存而特别设计的数据储存结构的存取机制,一般存取速度的增加在10,至1000倍左右,。,主存数据库定义,主,存数据库和磁盘数据库的区别,主存数据库概念 主存数据库定义主存数据库和磁盘数据库的区,主存数据库技术发展历程,从上个世纪60年代末到80年代初。在这个时期中,出现了主存数据库的雏形。1969年,IBM,公司研制了世界上最早的数据库管理系统-基于层次模型的数据库管理系统,IMS,,并作为商品化软件投入市场。在设计,IMS,时,,IBM,考虑到基于内存的数据管理方法,相应推出了,IMS/VS Fast Path。,Fast Path,是一个支持内存驻留数据的商业化数据库,但它同时也可以很好地支持磁盘驻留数据。在这个产品中体现了主存数据库的主要设计思想,也就是将需要频繁访问,要求高响应速度的数据直接存放在物理内存中访问和管理。在这个阶段中,包括网状数据库、关系数据库等其他各种数据库技术也都逐渐成型。,雏形期,主存数据库技术发展历程 从上个世纪60年代末到80年代,主存数据库技术发展历程,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,语句和满足不同的应用领域,可以应用在计费、电子商务、在线安全领域,几乎包括磁盘数据库的所有应用领域,主存数据库技术发展历程几种主存技术应用的比较第一代 : 用户,主存数据库和磁盘数据库的比较,数据存储,1、,在磁盘上存储数据库,查询算法,2、,使用,B-Tree,算法进行查询,查询优化,3、,需要复杂的查询优化,(减少磁盘,I/O,瓶颈),写入速度,4、,写入数据速度一般,磁盘数据,库,主存数据库,数据存储,1、,在内存中存储数据库,查询算法,2、,使用,T-Tree,算法进行查询,查询优化,3、,简单的查询优化,(不存在磁盘,I/O,瓶颈),写入速度,4、,写入数据比磁盘数据库快,10至1000倍以上,主存数据库和磁盘数据库的比较数据存储 1、在磁盘上存储数据,主存数据库,应用的必要性,高速聚集的海量信息,快速增长的用户群,互联网的快速发展,需要新型数据库管理系统,主存数据库管理系统,极高的数据存取速度,极强的并发访问能力,满足大量并发访问,快速处理海量信息,磁盘数据库管理系统,数据库系统处理能力不足,信息服务遇到,瓶颈,信息管理系统,技术要求,主存数据库应用的必要性高速聚集的海量信息快速增长的用户群互联,主存数据库,应用的可行性,半导体内存大规模生产,动态随机存取存储器(DRAM)的容量越来越大,而价格越来越低,这无疑为计算机内存的不断扩大提供了硬件基础,使得主存数据库的经济可行性逐步成熟。,经济可行性,技术可行性,64bit,芯片的普及。系统最大寻址空间决定了数据库容量。,主,存,: 32 bit =,最大 4,GB,寻址空间,64 bit =,几乎无限的寻址空间,高稳定性操作系统出现UNIX等操作系统发展到近年来已经非常稳定,可以承受的住几个月,甚至一年的不停的运转。这样的可靠性能大大减少了数据库系统的风险,。,主存数据库应用的可行性 经济可行性技术可行性 64bit,主存数据库应用模式-嵌入式系统模式,航空航天系统,大型IP路由,系统,电信通信交换系统,主存数据库,API,卫星通讯系统,实时嵌入式操作系统,应用,1,API,应用,2,API,应用,n,应用,n,嵌入式系统,智能交通控制系统,主存数据库应用模式-嵌入式系统模式航空航天系统大型IP路由,主存数据库应用模式混合模式,磁盘数据库服务器,(Oracle, Informix, Sybase, DB2, ),冷数据区,存储历史数据等,冷数据,(80%),热数据,(20%),主存数据库和磁盘数据库混合使用成为,可以承担高速事务处理的关系型数据库,大型应用系统中,80%的访问是,针对,DBMS,中20%的数据进行的,热数据区,存储实时数据等,主存数据库服务器,管理机制,主存数据库应用模式混合模式磁盘数据库服务器(Oracle,主存数据库,应用领域,混,合模式应用,电,子商务领域,电子商务网络运营商,实时行情显示、网上银行、网上证券交易系统、航空订票,系统、 国际贸易互联网谈判交易系统等大型的电子商务平台,.,通信领域,通信计费营帐系统,预付费业务,前台营业处理、实时网络管理系统、,CTI技术、WAP服务器、智能网络服务,、增值服务系统,.,多样化的网络终端服务系统,为便携电脑、手机、携带终端、游戏机、网络电视等网络终端提供互联网服务,实时系统领域,控制系统与自动化工程、电信通信、网络通信、航空航天、雷达信号处理、智能交通管理、实时GIS系统、铁道工程、POS销售终端、医疗仪器、车载信息系统、瘦客户机等,嵌,入式系统模式应用,主存数据库应用领域混合模式应用电子商务领域 通信领域嵌入式系,数据网管,传输网管,话务网管,oss,门户认证,BSS,财务分析,经营分析,市场分析,CRM,MSS,Web Log Editor,Web,Web Logs,主存数据库,主存数据库,电信应用领域,数据网管传输网管话务网管oss门户认证BSS财务分析经营分析,二、,Altibase,主存数据库产品介绍,Altibase,主存数据库,Altibase DBMS,服务器特色,Altibase,与商用磁盘数据库比较,Altibase DBMS,复制功能,Altibase DBMS,产品构成,Altibase,应用领域,二、Altibase 主存数据库产品介绍Altibase,Altibase,主存数据库,目前世界上最先进的主存数据库,Altibase Co., Ltd,成立与1999年11月,先后与韩国电子通讯研究院,和美国,CONSOCIO Inc.,合作,目前已应用于韩国80%的电信厂商和运营商 (包括韩国电信,,Samsung .,),Altibase 主存数据库 目前世界上最先进的主存数据库,问题,Altibase,的增强,10,倍之上的性能提高,强健的稳定性和可维护性,对于实时处理系统没有额外的负,担,通过复制技术实现容错服务,使用工业化的标准(,ANSI SQL),使开发更容易,灵活的架构来反映用户不同的,需求,磁盘,DBMS,的局限,性能上的不满意,对整个系统过重的负担,由于应用的局限性造成的不通用,开发以及维护非常困难,系统可用性、灵活性和效率方面的降低,磁盘,DBMS,用户定制,实时系统领域,实时系统,问题Altibase的增强 磁盘DBMS的局限 由于应用的局,Altibase,主存数据库的物理结构,Server Threads,Table A,Table C,Memory DB,Datafiles,Log files,Loganchor,Altibase Database,Datafile 1,检查点操作:同步内存和磁盘数据文件中的数据,Loganchor,: 储存磁盘数据文件和日志文件的相关信息,磁盘数据文件,,Loganchor,和日志文件保障了在事务失败,/,系统故障,/,媒体故障时可对数据库,进行完全恢复,Altibase 主存数据库的物理结构Server Thre,Altibase,数据库内存领域 : 32K(2,17,) 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 :,可扩展到 2,17,Page,64 Bit O/S :,可扩展到 2,49,Page,Local or Shared Memory,均能自动扩展,Altibase,主存数据库内存结构,Altibase 数据库内存领域 : 32K(217) P,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,Altibase DBMS 产品构架Altibase Pro,Hot Tables(100%),Small sized DB,Altibase DBMS App.,单独使用,Altibase,将全部数据和管理驻留在内存中,.,Altibase DBMS Server,针对需要高速处理的应用领域,CTI or HLR,实时处理系统,自动化处理、智能交通,独立,Altibase,DBMS Server,Hot Tables(100%)Altibase DBMS,Cold Tables(80%),Hot Tables(20%),Disk DBMS,(Oracle, Informix, Sybase, DB2, ),Altibase DBMS App.,Disk DBMS App.,如何与磁盘数据库联用,Altibase DBMS App.,Disk DBMS App.,Hot Tables, Gathering Real-time Data,Shared Tables, etc,Storing Cold Tables,History Data, etc,Altibase DBMS Server,Altibase DBMS Server,Cold Tables(80%)Hot Tables(,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 适用方,Reference Site,(V),Altibase,适用方案 (注意事项),为了使用 Altibase,,,首先要进行data sizing,,,必须确保内存可以容纳所有的数据和应用程序运行开销 。,Altibase,Oracle,Data Sizing,Table Sizing,record,条数 * ( data长度 + 24 byte ),24 Byte :,记录 Versioning 情况 Record Header 的长度,基本 Data size + PCTFREE(default : 10%) +PCTUSED(default : 40%),Sizing,后一般情况下 Altibase 比 Oracle 更少,Index Sizing,因为使用 T-tree,,,只储存数据存在的记录的指针,所以只需很少的空间,同时拥有 Value 和 Rowid的B*+ Tree ,所以需要很多空间,CPU,运用 Application Busy 决定,Application,Altibase,和 Oracle Pro*C Program 时句型几乎一样, 所以只做一点的修改就能使用,Reference Site (V)Altibase 适用方,Client,Server,SunSolaris,HP-UX,IBMAIX,HPTru64,Linux,WindowsNT/2000,RTOSs,(VxWorks,QNX),Operating Systems,Storage Management Layer,LockManager,RecoveryManager,TransactionManager,MemoryManager,CheckpointManager,LogManager,IndexManager,Query Processing Layer,DictionaryManager,SQLParser,Optimizer,SQLExecutor,StoredProcedure,ExtendedModuleManager,Communication Layer,ReplicationManager,SessionManager,Interface Layer,ODBC,JDBC,ESQL,SQLCLI,LDAP,XA,Utilities,DB admin,Monitor,Import/export,iSQL,Audit,Mem Mgr.,SNMP,Altibase DBMS,组成部分,ClientServerSunSolarisHP-UXIB,Altibase DBMS,服务器特色,Altibase DBMS Server Feature,综合了主存数据库领域目前已知的最先进的技术.,存储管理,用MVCC (Multi Version Concurrency Control)实现并发控制,使事务之间的冲突最小化.,记录的读/写操作中不使用Lock和Latch,实现死锁检测,保存点 (Implicit, Explicit),Fuzzy & Ping-pong检查点,支持动态、共享内存数据库结构,数据库在运行时可以自动扩展,支持T-Tree, 部分B+-Tree, R-Tree,为了系统的多样性,在内存中或者磁盘上支持多种数据文件的格式,数据文件和日志文件可以在不同的目录,数据文件可以由多个文件组成,Altibase DBMS 服务器特色Altibase DB,支持完整的SQL92标准.,查询处理,Altibase DBMS,服务器特色,多种内建函数,基于WAL(Write Ahead Logging)的日志,检查点,脏页写到磁盘上.,调整日志信息. (自动删除日志存档).,管理当前处理的事务的信息.,在线备份,恢复的范围 : 事务失败 / 系统故障 / 媒体故障,日志 & 恢复,聚合,数字,字符,日期,转换,其它(,Decode,等),嵌套查询没有限制,表,join,没有限制,用Hint调节查询,执行计划,扩展DDL,查询优化(CBO & RBO)增强,支持复杂查询,支持分等级查询,支持完整的SQL92标准.查询处理Altibase DBMS,应用开发环境,提供标准CLI, ODBC, JDBC.,提供Embedded SQL (预编译程序),类似于 Oracle Pro*C/C+,原来使用,Oracle,的,开发者很容易适应,可以降低开发,和维护成本,减少开发周期.,支持多线程客户端,支持存储过程,支持本地存储过程(Native Stored Procedure),(嵌入式架构的替代功能),支持XA接口,负载平衡,R-Tree (,OpenGIS,标准),提供各种工具,Sql,交互工具, dbadmin, audit, shmutil, , 等等.,Altibase DBMS,服务器特色,应用开发环境 提供标准CLI, ODBC, JDBC.Al,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 Memory,Altibase vs. Disk DBMS,CPU,Physical Memory,Database,Tables,Indices,Backup DB,Datafile 1,Logfile n,DBS,LOGS,CPU,Physical Memory,Buffer,Database,Datafiles,Controlfiles,Redofiles,访问内存最佳的索引结构(使用 T-Tree ),数据查询算法本身就很简单 (减少 CPU Time 占有率) 减少系统的负荷,数据,caching,没有多余的数据拷贝(Disk I/O),,,减少了系统负荷,Recovery 时只发生必需的,最少I/O,System tablespace,User tablespace,Table tablespace,Index tablespace,Rollback tablespace,Temporary tablespace,Log,Logfile1,Log anchor,Altibase vs. Disk DBMSCPUPhysi,Altibase vs. Disk DBMS,(内存管理),硬盘,DBMS,的查询最佳算法的基本在于减少硬盘 I/O 次数,硬盘,DBMS,不能排除数据存在于硬盘的假设,所以使用了假设数据存在于硬盘的,最坏(worst case)情况的算法,Altibase,的所有数据都存在于主存中,所以不需要考虑数据存在于硬盘的最坏情况,只需使用 最佳的算法访问数据,假设数据存在于磁盘,复杂的查询算法,增加CPU Time,数据常驻主存,简单的查询算法,减少CPU Time,已有基于硬盘的DBMS,Altibase Main Memory DBMS,Altibase vs. Disk DBMS (内存管理),Altibase vs. Disk DBMS,(索引算法),B-tree Index,T-tree Index,无需把逻辑地址变换成物理地址,(直接指向相当于入口的纪录的内存地址),逻辑地址变换成物理地址的工作,(包含的数据页相当于入口的记录),T-tree entry,T-tree node,memory data block,B-tree Entry,Key-value RID,B-tree Node,Data page,Slot,基于硬盘的DBMS,Altibase Main Memory DBMS,Altibase vs. Disk DBMS(索引算法)B-,Altibase vs. Disk DBMS,索引日志 ,Altibase,一般不做对索引的日志,,,所以日志的量很少.,检查点算法 表面看起来只把脏页存储到磁盘备份数据区,其实为了对在线事务处理施,加最小的影响,使用了Ping-pong & 模糊检查点方法.,因为所有数据都在内存中,所以读取数据时没有相关索引的 I/O,,,提高了更新和删除操作的速度.,Altibase vs. Disk DBMS 索引日志,Altibase vs. Disk DBMS,(不间断服务构成方法),Altibase,Disk Based DBMS,构成方法,Replication (,利用 Network),RAC (Disk Clustering),体现难度,简单,复杂,性能低下程度,比 Standalone server 10% 不到,比 Standalone server30 40%,费用,低,(无需另外费用),高 (Disk Clustering H/W 费用 +Clustering S/W费用+ RAC S/W费用),特点,Table,单位,数据库全部,系统扩展性,容易(N-way),困难,优缺点,容易体现多样的系统构成及 DR(灾难恢复)系统.设计系统时, 要考虑数据冲突(提供相应策略 ),出现 Cluster 的硬盘故障时没有应付方法,受到地域的限制.,RAC(OPS),Disk Clustering,Replication,Disk,Disk,Altibase vs. Disk DBMS (不间断服务构,Altibase vs. Disk DBMS,(总结),产品区分,Altibase DBMS,Disk Based DBMS,系统,数据模型,关系型,关系型,结构,Client/Server,Client/Server,服务器结构,Multi-Thread,Process,索引结构,使用了内存最佳访问算法,T-Tree,使用B,*,Tree,处理同量事务时系统性能,CPU,使用率,使用简单的查询算法CPU 使用量最小化,使用复杂的查询算法 CPU 使用率高,DISK I/O,只在 Recovery 时发生最低限度的 I/O, Insert, Update, Delete 时不发生直接的Disk I/O,Insert, Update, Delete,时发生直接的 Disk I/O , 数据,caching(Select),时进行数据拷贝发生不必要的 I/O,事务处理性能(OLTP) 比较,INSERT,5,740,350,UPDATE,5,898,323,SELECT,6,500,2,530,DELETE,5,502,340,不间断服务,体现方式,利用 Network 的复制方法无需添加 H/W,,,可以容易的体现,RAC(OPS),结构时, 必须进行 DISK Clustering,,,体现起来比较复杂,性能,组成服务器的性能下降不到 10%,组成服务器的性能下降 3040%,费用,无需另外费用,需另行购买 RAC(OPS), 还有对硬件的 Disk Clustering 及 Clustering S/W 费用,缺点,设计系统时, 要考虑数据冲突,被 Cluster 的硬盘故障时没有应付方法,服务扩展性,体现方式,利用 N-Way 复制在服务增加时容易扩展,服务增加时,可能要更换服务器 H/W,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.,测试实验室结果,测试项目,Disk Based DBMS,Altibase3 MMDB,Insert 100,000 records took,100 seconds,1,000 tps,7 seconds,14,286 tps,Update 100,000 records took,115 seconds,870 tps,5 seconds,20,000 tps,Delete 100,000 records took,123 seconds,813 tps,3 seconds,33,333 tps,Truncate Table took,2 seconds,1 second,测试部门Taiwan Chunghwa Telecom 测,Altibase,与商用磁盘数据库性能比较,测试环境,:Server:,sun E-450,memory: 4GB,CPU: 2 * 400Mz,测试部门:韩国,Altibase,公司和韩国,三星电子,比较产品:,Altibase DBMS,和,Disk Based DBMS,测试工具:TPC-B, TPC-H Benchmark,性能标准:TPS (Transaction Per Second),,,每秒事务处理量,Altibase 与商用磁盘数据库性能比较 测试环境:S,性能比较简单查询性能测试,数据量,TPS,TPC-B,测试结果:,Altibase,处理能力比磁盘数据库快10倍以上,性能比较简单查询性能测试数据量TPSTPC-B测试结果:A,数据量,TPS,TPC-B,测试结果:使用,NSP,使得,Altibase,的处理能力有进一步的提升(2.5倍),性能比较简单查询性能测试(NSP),数据量TPSTPC-B测试结果:使用NSP使得Altibas,性能比较 TPC-H测试,TPC-H Test,是反映现代复杂商务情况的国际DBMS性能测试基准,测试适用于无法预测数据和频繁变化的网络环境的DBMS的基准,由22个复杂的SQL语句构成,什么叫TPC-H Test,?,1,测试结果:,Altibase,的复杂查询处理能力比磁盘数据库有整体的提高,性能比较 TPC-H测试 TPC-H Test是反映现代,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,TPC-H 性能测试 (Altibase VS Disk D,复制的必要性,Altibase DBMS,复制特色,高可用性,当系统发生故障时,可以立即访问,down,掉的数据存储的复制体。,靠分配工作量到多个节点保证可伸缩性。,DBMS,AP,AP, ,可能是,故障点,.,可用性 = 1 p,n,(,p,=,down,机的可能性),例如:如果,p,= 5%,有复制的数据库系统 的可用性增加到 99.75%.,DBMS,AP,AP, ,会发生,瓶颈,.,降低系统响应时间,限制系统吞吐量,负载平衡(增强性能),复制的必要性Altibase DBMS复制特色高可用性 当,数据库产品的复制方式:,1.在一个应用程序中执行复制:,当服务器性能降低和发生故障时很难保持数据库的,一致性.,2.,通过传送查询语句执行复制:,负载平衡效率低,难以验证数据冲突,3.,通过传送执行计划执行复制,:,数据传输的增加大大增加了通信量,.,4.,通过转换日志为查询语句执行复制,:,转换和查询处理的成本很高,.,5.,通过将发送的日志转换为执行计划执行复制:,需要转换成本,但是能够提高复制的性能,.,6.,像服务器恢复一样发送日志,执行复制,:,速度快,但是不能实现active-active模式,.,Altibase DBMS,复制特色,实现复制的方法,基于日志的复制,Altibase,复制技术采用了读取储存事务内容的日志文件,,,并发给从复制服务器的同步方式. 所以不会影响在主复制服务器进行的事物,只发生线程读取日志文件和创建事务并发送的负荷,所以只要CPU资源允许几乎没有性能下降.,数据库产品的复制方式:Altibase DBMS复制特色实现,Altibase DBMS,复制特色,复制特性,拓扑结构,支持点-点的复制.,通过支持,N,向复制提供星型架构的复制拓扑结构.,提高系统的容错、容灾能力,提供系统的负载均衡能力,基于日志,在数据库日志的基础上实现复制,使服务器的负荷最小化,复制时保持standalone性能的90%以上,.,表级的复制,可以复制整个数据库中的表的一部分,.,提高操作效率,实时复制,支持实时事务处理的实时复制,简化实时服务的实现,提高可用性,当系统发生故障时,可以立即访问,down,掉的数据存储的复制,体,这样可以实现系统服务的连续性.,高稳定性,检测,服务器的故障和网络错误并进行适当的错误处理,.,通过复制恢复保持数据的一致性.,现在, 在30多个站点的150多个系统中正在运行着,Altibase,的复制系统,Altibase DBMS复制特色复制特性拓扑结构 支持点-,Active-Standby,Active-Active,Altibase DBMS Server A,Rep_Manager,Rep_Manager,AB_Sender,AB_Receiver,AB_Sender,AC_Sender,AC_Receiver,Rep_Manager,Altibase DBMS Server B,Altibase DBMS Server C,REP_AB,REP_AC,AB_Receiver,Altibase,复制特色,线程结构,与服务同步 & 减少处理开销,包括,管理器,发送器,接收器,线程,使占用的内部资源最小化,复制的内部结构,Active-StandbyActive-ActiveAlt,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,复制技术,Point-To-Point ReplicationServ,如何使用,Altibase,复制技术,Altibase,的 DB 复制接口 与 SQL是相同的结构,简单、容易使用.,运营系统时, 可以随意控制复制的Create, Start, Stop,,,所以容易运营及管理系统和服务.,设计时尽可能的考虑到了客户的复制运营及管理的容易性.,create replication,rep1,with,remotehost,portno remotehost,portno,from,localtableA,to,remotetableA,from,localtableB,to,remotetableB,;,drop replication,rep1;,alter replication,rep1,start;,alter replication,rep1,stop;,alter replication,rep1,sync;,alter replication,rep1,quickstart;,alter replication,rep1,drop table from,user_name.table_name,to,user_name.table_name,;,alter replication,rep1,add table,from,user_name.table_name,to,user_name.table_name,;,alter replication,rep1,add host,remotehost, portno,;,alter replication,rep1,drop host,remotehost, portno,;,alter replication,rep1,Set host,remotehost, portno,;,复制对象 Creation,复制 Start,复制 Stop,与被复制的服务器同步数据后, Start,不考虑之前状况,只考虑当前复制点 Start 快速 Start,复制对象 Drop,停止复制后, 删除复制 Table (对复制不能执行DDL 语句),停止复制后, 添加复制 Table(对复制不能执行DDL 语句),停止复制后, 添加 Host,停止复制后, 删除 Host,停止复制后,变更 Host,如何使用 Altibase 复制技术 Altibase的,通过基于,DB,服务器功能的划分很容易提供可伸缩性.,Altibase DBMS 1(,当前) - Altibase DBMS 2(当前),很容易通过添加,Altibase DBMS,服务器来扩展服务来解决服务的,retrieval,负载增加的问题.,很容易解决复制的数据冲突问题.,表 n,Altibase DBMS 3(Active),表 B,表 A,Retrieval,事务,处理,发生,Insert/Update,/Delete 数据,事务,表 n,Altibase DBMS 1(,当前),表 B,表 A,Active-Active,复制,表 n,Altibase DBMS 2(,当前),表 B,表 A,Retrieval,事务,处理,Active-Active,复制,可扩展系统,Altibase,Replication,配置方案,基于,DBMS,的功能划分,通过基于DB服务器功能的划分很容易提供可伸缩性. 表,分别管理共享表,将共享表按业务特性分类来配置灵活的系统.,共享表 : 被大多数应用频繁访问的表,也就是热表(Hot Table).,共享表管理服务器,和共享表相关,的Insert/Update,/Delete 数据,B,A,B,A,A,E,D,C,A,E,D,C,B,H,G,F,B,H,G,F,专门的业务A,DBMS 服务器,共享表 : A,业务表 : C,D,E,专门的业务 B,DBMS 服务器,共享表 : B,业务表 : F,G,H,Active-Active,Active-Standby,Active-Standby,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,
展开阅读全文