问:怎样管好数据库?
冯春培:
通常来说我们要规划、管理数据库的话,我们先知道的肯定内存资源是已知的,我们就是看怎样平衡这个资源在系统中平衡的百门比,就是使用他的优化组合。要考验到数据库有多少,还要考虑到我们怎样连接达到最好的应用,然后做一个综合的计算,目标就是让内存在交换中分区,我们又能充分分配在数据库中的百分比。
汪海:
通过表或者对象放在内存中是最好的方面,那么我们怎样横行在内岑中的数量这是非常有额学问的,我们用的是ORC,需要一套很好的监控内存的使用率,而且我们还需要了解那一套内存管理的基本的东西,这样我们才能更好的掌握内存分配统策略,这些都是我们需要考虑的一些东西,我的经验就是尽量减少IO,通过这些获得更好的性能。
问:实现超大型集成的数据库系统与过去单一系统的应用系统在设计模块方面有什么大的差别?这样大型的系统数据质量有什么保证的策略?人们都希望有决策的支持,你们是怎样理解的?
中国移动段云峰:
我们现在已经有在超大型做数据仓库的工作,在数据仓库我个人理解如果是面临很海量的时候,第一要解决的问题就是它的体系结构,目前的情况,跟传统数据库的角度来说,更大的数据量应该是碰到T级的,所以说数据结构应该是第一个要解决的。在这里面体系结构之余还要考虑到相关产品的内容,产品是数据最终的一些环节,如果体系结构处理得好可以降低一些对产品的要求。从刚才王博士提出的一些问题,回答数据质量这个层面,我们取得源数据是一个关键技术手段,可以有效帮助提高数据仓库的数据质量。有了原数据以后可以帮助及时找到问题的所在,这些方面也都会通过元数据的模式解决掉。像从我们的实践经验也是最好遵循一些国际标准,这样的话对管理海量数据是一个不错的工具,因为在海量超大规模的条件下管理比数据质量要大的多,管理是从不同有杂质的外围系统中进入的。
在整个超大规模后续有关的应用这方面应该说也涉及到很多内容,因为数据的目的就是为了应用,在这里我们可以引用一些数据挖掘的技术,尽可能快速把数据中隐含的一些信息、及时发现出来、挖掘出来。从我们时间的情况来看,应该说这方面的工作都做了积极的尝试,而且在数据方面尤其对海量数据数据挖掘相关技术也提出了前所未有的要求,因为这和少量数据面临着对性能的要求是差别很大的。所以我想在决策支持这个层面从数据仓库角度来说也可以做很多东西,包括数据挖掘等等应用。应用是在海量数据重罪关键的。
万正勇:
因为人寿保险公司的系统是一个比较特殊的系统,分的是相对比较清楚的,对于寿险公司的系统数据是在不停的进行保障的,所以数据量会越来越大,同时它又是个在线作业的系统,所以数据量可能没有上百个T那么大,而他的并发两是非常大的,这是我们系统的现状。这样我们会跟平常的系统设置会不太一样,我们会用OL设计系统,这个跟理论的经验可能有一些冲突的地方,但我们想一下,两张表上亿的数据量时候如果取出来一定不会有支持,那么我们一定要做冗余,如果数据在一张表中取出来在差异的时候我们会做一些性能上的提高,这是我们设计上的一些经验。还有一个经验就是,因为它是超大型的系统,并发量发展大,比如说分区、并行,我们会用这些方法来处理出现的问题,我们是采取底层的分区技术还是放在人为的表中实现?如果是前者就会出现系统的不稳定情况出现,那么我们就一定要考虑把数据分布在不同的表中,会带来性能上的提高非常明显。
问:在实际应用中使用XML,有那些需求是我们传统数据库不能或者很难解决的,需要XML技术的?第二个,XML与实际应用结合中最困难的难点在什么地方?第三,XML未来会是怎样?
刑海捷:
XML是一项比较火的技术,这也是应用所驱动的,主要有两个方面。
一方面传统的关系型数据库实际上已经发展的很成熟了,但是我们知道关系型数据库再处理交易型、结构化数据的时候是非常有效的,但是随着应用的发展,随着互联网技术的推广,越来越多的需求,像文档之类的半结构化,或者说无结构的这种数据,这些数据本身虽然不是XML格式的,但大多都能转化成XML格式,并且这些原厂商现在也乐于这种转换,所以我想以后一个大类的应用,这些半结构化或者无结构化的数据转换成XML格式后存放到数据库中去进行查询、分析、处理等等,这是一个方面的应用。
另外,基于XML和SQL Server应用体系的发展,我相信XML技术以后会在不同应用系统的集成这些方面发挥更大的作用,所以我们有一个应用需求问题。我想难点在这么几个方面,第一个性能问题,XML文档本身比较大,我们知道任何一个元素之前或者之后都有一个标记,各个属性有各属性的名字,这无疑会加大网络的开销,这时候XML是需要整编的,往往我们会对XML文档进行解析,我们形成对象来完成一些相关的业务逻辑,这样的话在业务逻辑处理完毕之后,我们可能还要再次形成新的XML文档存到数据库中去,有可能解编不只一次,所以整个系统的效率都会有所下降。还有数据库的支持,我们尽管知道IBM已经支持,像ORC(音译)也知道了,但是这些新的系统、新的产品还需要时间和实践进行进一步考验,另外广大的系统还是以前版本的数据库,数据库的升级也不是一朝一夕的,需要一个过程,可能性能问题和便利性问题都还不如现在最新的版本。
第二,XML还是比较新兴的技术,规范、标准还是在完善过程中的,这方面还不是很成熟。
另外,XML的行业标准我觉得也是比较难指定的,尽管有许多组织制定出XML的数据定义还有数据传输的标准,但是至少从目前来看还不能认为取得了广泛的成功,主要的难点就是不同的独立企业或者单位对于XML中数据予以一致性的认可存在比较大的障碍。谢谢!
盖国强:
我谈一下我个人对XML的认识,回顾一下,我个人是在2000年就解除了XML,那时候还没有数据库支持XML,我认为第一是性能,第二我关注的是安全性,性能问题,我想大家应该都会有过一些认识,我记得曾经有两个比较著名的网站,它的WEB是用XML搭建的,到现在如果大家去看的话这两个网站已经放弃或者局部的放弃了XML用在外部的应用。那么这样一些转变或者现状让我注意到实际上在应用中大家最关注的仍然是性能,如果没好的性能一项技术的实现和推动就会有障碍。这一点不是我担心的,因为JAVA推出的时候大家普遍存在的就是它的性能问题,随着发展它的问题被解决了,毫无疑问XML是未来发展的趋势,但还需要加以推广和大家的关注。
第二,我觉得XML的安全性也是没有管组,最近我看到XML在网上有一些攻击,这种攻击可能已经被解决了,但是这些问题是普遍存在的,当我们的信息放在网络或者数据库中它是否能够安全的存在,是否能够被服务器访问。上个星期我自己遭遇了一次攻击,这些信息被泄露,通过技术手段获得5460以前基于XML的数据是非常容易,有些非法分子获得这些数据以后进行诈骗,这是我自己遭遇的。所以我认为XML的安全性是非常关键的一些内容。
问:到底是什么样的数据是被我们称为异构的数据?
齐红胤:
对一个企业来说数据过程是逐步建立的,根据不同的业务会建立不同的信息系统,因为是逐步建立的,所以在建立第一个系统的时候就没有必要去考虑第二个信息是如何来建,这样在逐步建立信息之间就会建立关联,这样就会出现信息孤岛的现象。
问:除了传统的数据库系统之外,那么还有哪些数据是被我们称为异构的数据?
牛新庄:
可能各行各业在今天都希望能够挖掘自己的细分客户,比如银行都要挖掘自己的细分客户,但是在一个行业或者企业内可能过去存在着各个系统上限不同步性,而各个部门在整个系统结构在整个应用开发结构的不一致性,所以我认为,所谓的不一致就是在企业或者行业的内部我们需要去整合,异构指的是结构,就像我用的数据库不一样,我用的系统不一样,我的架构不一样,这是一方面的异构。第二方面,今天的企业不管是在企业的内部要跟外部的企业打交道,这种不一致还体现在今天的数据存在着非结构或者半结构化,我们需要一种技术来让它达到一致。
问:能不能用超级的系统就会把信息孤岛的问题解决呢?
牛新庄:
不是的,我认为现在很多企业都有这方面的需求,我们必须要选择一个基础的方向能力把它很好的整合进来,我举个例子,我们用过一个BB2的II,就相当一个桥梁一一,把各个部门内的数据很好利用这个桥梁来架构进来。今天可能很多企业之间的关联性非常的大,我认为现在BB2V9里面有一个技术,我觉得这个技术可以把很多东西关联在一起,在传统我们没有考虑到数据库的负责性,今天随着企业信息的发展,很多数据库结构化的描述非常难描述,或者描述一个企业的订单,我曾经去过很多国内大型企业的ERP系统,我当时很奇怪它有几万张表,我发现他们每一个业务都有一张表,我觉得XML可能会是未来的趋势,能够把很多异构的系统整合进来。
问:在SOA的大环境下,怎么提升数据库系统服务能力?
李强:
随着未来SOA架构的普及,我认为尤其是在一些大型的数据库领域,第一是对数据库的可伸缩性提出了更多的要求。另外对生产系统的数据库来说往往运行了成千上万个表,在成长运行情况下当你有一定足够的计划、灾难备份各方面一系列妥当的文档之后我们可以看到这个数据库是在可控的环境下运行的,但是在将来的环境下使用其他日益更新的架构可能对数据库管理的容量提供更多的要求,尤其是在项目上马的时候在数据库会存在大量数据更新这些情况出现,因此要数据库有一个很好的性能,既可以满足日常生产中的运行需要,也可以满足在新的结构下,新的体系架构对数据库的性能各方面的日益严峻要求。我本身是做系统的,从系统的角度说,比如主机BB2,运行时参数可能对它里面参数的规划和设置有更多的要求,比如以前我碰到这样的例子,一般我们会把BB2的锁是放在内存中的,但如果使用一些先进的架构的话,这种BB2目前状态下管理锁的机制将会导致内存被很快的使用耗尽,因此我们当时想的办法就是把锁放到硬盘上,主机上叫虚村的地方,通过主机专用的通道进行连接,这样一方面既解决了对于内存的需求、约束,另一方面也能够保证一定的速度,从应用的角度我觉得可能数据很大的时候,我认为就是超出数据库之外的一些知识、技巧,比如说反规范化,一些反分区各种各样的方式。
王明胜:
因为SOA产生的背景是源于对运用的整合,现在尤其在大的行业中大的系统都是纵向来建设的,就是说每一个系统都会有WEB Server纵向条,这种模式会在将来给企业带来两个问题,一个是给企业带来成本的增加,第二资源得不到合理的应用。SOA提出之后解决了几个问题,第一对数据库要对存储量有所提升,另外,在于数据结构上的问题,因为SOA的理念其中有一个,就是随需应变,可是我们对应用的发展是未知的,在结构上给我们提出挑战,我的数据结构可能随时变化,BB2推出来的方案会弥补这方面的缺点。第三,有关安全方面,对于我们应用系统的整合,数据需要做到共享与独享的统一或者平衡,对我的业务来讲我需要关系型而且需要独享的,对于管理数据可能需要。这就需要对我数据库的用户、角色授权方面作出更好的规划,同时可以借助数据库之外的软件,比如IBM现在推出来的T可以管理外用可以管理授权解决这方面问题。另外,本身对数据库的安全也是一个挑战,大量数据存在,数据恢复、备份这方面也需要更多的提升。