教你们用Sybase VLDB(海量数据库系统)解决方案(1)
不知不觉2015年已经过去了这么久,不知道你们的知识学的怎么样,下面就让我们来一起看看这个很多人都问的问题呀。
随着市场和业务模式不断细化,系统功能日益增强,数据库索引应用操作将产生比以往更多的生产型数据,同时企业对历史数据分析的需求也在不断增加,因此将会不可避免的引起业务数据的极度膨胀。我们现在已经看到,越来越多地数据系统达到几百GB甚至于TB级以上的容量。如何建设如此巨大的数据库应用系统,用户需要从多方面加以考察,其中包括系统运行绝对性能、投资回报率(ROI)、系统运行风险和数据可管理性等多方面的因素,以得到一个最优的综合解决方案。
当今许多数据库厂商的产品所支持的数据量已达到TB级。但是对VLDB的支持不仅仅指的是在数据库中的容量——VLDB并不仅仅意味着简单地将所有数据存入一张表,VLDB的性能将涉及到数据库管理的所有方面:日常管理、数据加载、索引建立、运行性能等等。同时还需要支持大量用户连接和大的工作负荷。只有在此基础上保持良好的运行性能才能构成超大型数据库,即:任何针对VLDB的成功的解决方案应该是、也必须是一个完整的解决方案。
VLDB处理方式分析
当前通常的VLDB解决方案更多的是从数据存储优化的角度解决我们所面临的困难,较少关注影响VLDB性能的其他技术因素如日常管理、灾难恢复和系统可用性等方面。
从数据存储技术发展史来看,整个数据存储的发展过程是一个集中-分割-再集中-再分割这样一个循环往复的过程。这个过程也是需求不断拉动数据存储技术发展的过程。
现将一些常用的VLDB存储技术归纳如下:
◆分表技术
分表技术是最早使用的VLDB数据存储技术,早在dBase和Foxbase时代,人们就开始使用分表技术,来弥补PC性能较低,单个表数据量过大,会影响性能的缺陷。
◆表分区技术
表分区技术就是将表根据一定的条件和需求划分为多个分区,每个分区都是一个逻辑实体,是表的一个子集,用户可以象操作单表一样对表分区进行操作,可以根据应用操作的实际需求确定分区的数据管理模式,如针对不同操作可以在相应的分区上建立不同的索引机制,选择不同的并行方式等等。表分区为系统提供了更有效的数据组织方式,为VLDB和并行处理的实现提供了基础。表分区是目前大多数数据库厂家普遍使用的一种VLDB管理和存储技术。
◆Look- through 技术
Look-through技术是一种VLDB数据存储管理方式,它有效地结合了分布式技术和分表技术。通过在本地数据库建立其它数据库系统的视图或代理表,使应用通过访问一个本地小数据库而真正访问远程多个复杂数据库成为可能。
Look- through 技术大大减低了系统开发和管理的难度,对于开发者而言,其处理的只是一个逻辑数据库,数据库的物理位置对开发者是透明的。同时也降低了单点VLDB数据管理的复杂度和软硬件开销。同时不论是表分区,还是分表技术,都建立在同一类型的单一数据库系统之上,而Look- through为异构数据库的VLDB也提供了可能。
◆应用分割
不论是分表、表分区还是Look-through技术,其采取的都是一种数据分割的途径,在现实世界中,也有很多系统在使用数据分割的同时结合了应用分割的方式。通过应用分割为功能相对独立的功能模块单独建立业务系统。各系统之间的内部业务连续可通过分布式事物处理或应用集成来实现。
与其它技术相比,应用分割更像是一种设计方案、思路和经验,而不是一种技术,但由于应用的实际需求,目前,大多系统都在设计中采用了应用分割概念。
通过以上分析,我们可以看到不论是历史的还是现存的VLDB数据存储方案,都有自己特定的技术背景、特点和应用市场。并且各种技术之间并不是互相对立矛盾的,应充分合理地运用一切存储及优化技术,保证VLDB系统的高效运行。
Sybase公司VLDB解决方案
Sybase公司作为主要的数据库软件供应商,在全球拥有丰富的建立和实施VLDB系统的实际经验,用户遍及金融、电信、交通、制造等诸多行业。根据用户的需求和VLDB对数据库系统各方面的要求,Sybase公司的VLDB解决方案主要包括VLDB数据库存储技术、VLDB数据库性能优化以及VLDB数据维护三部分。
1.VLDB数据库的存储技术
根据业务的不同需求,Sybase公司将数据的存储主要细分为:分析型VLDB的数据存储和交易型VLDB的数据存储两种模式,针对不同的需求用户可以采用不同的方式。
◆交易型VLDB的数据存储
不言而喻,在交易速度和VLDB之间存在着固有的矛盾。高并发和高交易量往往是VLDB的最直接的原因,内存数据库但由于关系型数据库的数据存储和索引的特点,数据的基数越大,相应的索引查找和数据搜索的时间也就越长,造成交易速度下降。
Sybase数据库管理系统集成了多种技术,支持用分表、表分区和Look-through的技术方法来解决大数据量管理的解决,同时应用系统也可以在Sybase数据库上利用应用分割的方法解决VLDB的管理问题。
◆分析型VLDB数据存储
分析型业务系统和交易型业务系统明显具有不同的特点。分析型业务系统往往专注于一个或几个事实数据如产品的销售情况、生产系统的次品率等,需要对长期以来的业务状况进行分析。Sybase的数据垂直分区技术正是针对分析型VLDB的这些特点而设计的。在数据垂直分区的管理结构下,不同的数据分类存放,保证了数据的快速和高效率的访问,极大地提高了在VLDB环境下的业务系统性能。
在数据垂直分区的基础上,Sybase在分析型业务系统中引入了专利的bitwise索引技术。Sybase的bitwise索引技术包含了常规的bitmap索引,同时又进行了特别的扩充,根据业务数据类型的不同实现了多种索引技术如:Fast Projection,Low Fast,High Group和High Non-Group。Bitwise索引的最显著特点就在于它在数据垂直分区的基础上,又对数据进行了按位(bit)的分割和存储,大大加快了数据定位和存取访问的速度,同时又为数据压缩提供了基础,控制了VLDB业务环境下数据膨胀速度。
2.VLDB数据库性能优化
Sybase数据库通过多线索体系及并行操作、高效的数据读取优化和工作负载的动态管理,增强了资源利用率,为VLDB数据库提供了强大的性能。
多线索体系及并行操作
Adaptive Server Enterprise能够在SMP系统中配置生成多个引擎,甚至允许在所有引擎之间进行不同的客户连接。引擎也可处理自己的磁盘访问,对增加的用户数提供了近似线性的伸缩性。
小编觉得还是这样看起来比较舒服
#p#分页标题#e#
◆高效的数据读取优化
异步预读取是ASE在数据存取方面优化性能的一种机制,可以将需要访问数据页事先异步读取到缓存中,在运行时可节省大数据量I/O操作的系统开销,可以成倍地提高数据读取得效率。
◆工作负载的动态管理
针对VLDB中广泛存在的混合负载(分析型需求和交易型需求共存)性能瓶颈,即:由于不同类型的应用对性能、功能及资源需求的要求大不相同。通用服务器对所有事务模式和数据类型使用同样的事务处理引擎,这使性能、功能和资源需求等都因折衷而受到影响。Sybase提供多种管理机制如逻辑内存管理器、逻辑进程管理器以及资源**等以保证针对应用的性能进行调整。
◆灵活的优化策略
ASE针对不同类型的应用,提供了不同的优化目标(Optimization Goals),每一个目标(Goal)都可以指导优化器利用各种特性和功能去寻找最优的查询计划。
ASE共有三种优化目标。第一种目标对整个结果集进行优化并平衡OLTP和DSS类型的不同查询。这也是默认设置。第二种优化目标将使得查询处理引擎采用针对单纯OLTP查询最适合的技术来获取最优查询计划。这个优化目标将极大地提高ASE在OLTP环境中处理简单查询的性能。第三种优化目标可以生成尽快返回查询结果集前几行数据的查询计划。这个优化目标为基于游标或Web方式的应用提供了极高的性能。
用户可以在测试或开发的时候就设定优化目标,而且这些优化目标既可以在服务器级别设定,也可以在会话或查询级别设定,所以用户无须提前调整查询处理引擎,就可以使系统在ODSS环境中获得最优的性能。
3.VLDB数据维护
一个优秀的VLDB管理系统,仅仅提供数据存储是不够的,必须为VLDB提供完善的维护、wow数据库备份和管理功能。
对于历史和备份数据的备份和加载,Sybase数据库支持多个设备的并行转储和恢复,从而大大减少了转储单个数据库或事物日志所需的时间。同时通过压缩备份的功能最佳可产生比常规未压缩文档小60%~80%的文档,大大降低了系统保存数据备份和日志备份对介质的要求,可在很大程度上降低硬件投资,提高系统的ROI。
同时Sybase还提供了完善的DBCC功能,可对数据库和表的一致性进行各种检查,以适应VLDB数据库维护的需求。
总结
铁路客票系统至今已经升级到5.0版,每一次系统的平滑升级,都是ASE稳定性的绝好体现。而每一次升级之后的性能提升,都是对ASE强大功能的最好验证。现在客票系统处理一张票的总时间一般小于7秒,其中网络通信时延在 2 秒以内。系统不但经受了历年“春运”巅峰交易量的考验,还管理着容量以 Tb 计的庞大数据库。我们相信随着 ASE和IQ 的最新版本越来越多地应用到客票系统中,Sybase 将为打造一个效率更高、更可靠、更易于使用的平台。
看了上面的文章,大家有没有很激动,小编还是要提醒大家,要好好珍惜现在的生活得啊,就像是课课家的人儿们,都是爱知识的人啊。