| 查看: 936 | 回复: 8 | |||
| 当前主题已经存档。 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
数据库的数据挖掘概述
|
|||
|
数据库的数据挖掘概述(一) 随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将为公司创造很多潜在的利润,而这种从海量数据库中挖掘信息的技术,就称之为数据挖掘。 数据挖掘工具能够对将来的趋势和行为进行预测,从而很好地支持人们的决策,比如,经过对公司整个数据库系统的分析,数据挖掘工具可以回答诸如“哪个客户对我们公司的邮件推销活动最有可能作出反应,为什么”等类似的问题。有些数据挖掘工具还能够解决一些很消耗人工时间的传统问题,因为它们能够快速地浏览整个数据库,找出一些专家们不易察觉的极有用的信息。 下文将对数据挖掘的基本技术作一个简单的介绍。 数据挖掘的基础 数据挖掘技术是人们长期对数据库技术进行研究和开发的结果。起初各种商业数据是存储在计算机的数据库中的,然后发展到可对数据库进行查询和访问,进而发展到对数据库的即时遍历。数据挖掘使数据库技术进入了一个更高级的阶 段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促进信息的传递。现在数据挖掘技术在商业应用中已经可以马上投入使用,因为对这种技术进行支持的三种基础技术已经发展成熟,他们是: 海量数据搜集 强大的多处理器计算机 数据挖掘算法 商业数据库现在正在以一个空前的速度增长,并且数据仓库正在广泛地应用于各种行业;对计算机硬件性能越来越高的要求,也可以用现在已经成熟的并行多处理机的技术来满足;另外数据挖掘算法经过了这10多年的发展也已经成为一种成熟,稳定,且易于理解和操作的技术。 从商业数据到商业信息的进化过程中,每一步前进都是建立在上一步的基础上的。见下表。表中我们可以看到,第四步进化是革命性的,因为从用户的角度来看,这一阶段的数据库技术已经可以快速地回答商业上的很多问题了。 进化阶段 商业问题 支持技术 产品厂家 产品特点 数据搜集 (60年代) “过去五年中我的总收入是多少?” 计算机、磁带和磁盘 IBM, CDC 提供历史性的、静态的数据信息 数据访问 (80年代) “在新英格兰的分部去年三月的销售额是多少?” 关系数据库(RDBMS),结构化查询语言(SQL),ODBC Oracle、Sybase、Informix、IBM、Microsoft 在记录级提供历史性的、动态数据信息 数据仓库;决策支持 (90年代) “在新英格兰的分部去年三月的销售额是多少?波士顿据此可得出什么结论?” 联机分析处理(OLAP)、多维数据库、数据仓库 Pilot、Comshare、Arbor、Cognos、Microstrategy 在各种层次上提供回溯的、动态的数据信息 数据挖掘 (正在流行) “下个月波士顿的销售会怎么样?为什么?” 高级算法、多处理器计算机、海量数据库 Pilot、 Lockheed、IBM、SGI、其他初创公司 提供预测性的信息 表一、数据挖掘的进化历程。 数据挖掘的核心模块技术历经了数十年的发展,其中包括数理统计、人工智能、机器学习。今天,这些成熟的技术,加上高性能的关系数据库引擎以及广泛的数据集成,让数据挖掘技术在当前的数据仓库环境中进入了实用的阶段。 数据挖掘的范围 “数据挖掘”这个名字来源于它有点类似于在山脉中挖掘有价值的矿藏。在商业应用里,它就表现为在大型数据库里面搜索有价值的商业信息。这两种过程都需要对巨量的材料进行详细地过滤,并且需要智能且精确地定位潜在价值的所 在。对于给定了大小的数据库,数据挖掘技术可以用它如下的超能力产生巨大的商业机会: 自动趋势预测。数据挖掘能自动在大型数据库里面找寻潜在的预测信息。传统上需要很多专家来进行分析的问题,现在可以快速而直接地从数据中间找到答案。一个典型的利用数据挖掘进行预测的例子就是目标营销。数据挖掘工具可以根据过去邮件推销中的大量数据找出其中最有可能对将来的邮件推销作出反应的客户。 自动探测以前未发现的模式。数据挖掘工具扫描整个数据库并辨认出那些隐藏着的模式,比如通过分析零售数据来辨别出表面上看起来没联系的产品,实际上有很多情况下是一起被售出的情况。 数据挖掘技术可以让现有的软件和硬件更加自动化,并且可以在升级的或者新开发的平台上执行。当数据挖掘工具运行于高性能的并行处理系统上的时候,它能在数分钟内分析一个超大型的数据库。这种更快的处理速度意味着用户有更多的机会来分析数据,让分析的结果更加准确可靠,并且易于理解。 数据库可以由此拓展深度和广度 深度上,允许有更多的列存在。以往,在进行较复杂的数据分析时,专家们限于时间因素,不得不对参加运算的变量数量加以限制,但是那些被丢弃而没有参加运算的变量有可能包含着另一些不为人知的有用信息。现在,高性能的数据挖掘工具让用户对数据库能进行通盘的深度编历,并且任何可能参选的变量都被考虑进去,再不需要选择变量的子集来进行运算了。 广度上,允许有更多的行存在。更大的样本让产生错误和变化的概率降低,这样用户就能更加精确地推导出一些虽小但颇为重要的结论。 最近,Gartner Group的一次高级技术调查将数据挖掘和人工智能列为“未来三到五年内将对工业产生深远影响的五大关键技术”之首,并且还将并行处理体系和数据挖掘列为未来五年内投资焦点的十大新兴技术前两位。根据最近Gartner的HPC研究表明,“随着数据捕获、传输和存储技术的快速发展,大型系统用户将更多地需要采用新技术来挖掘市场以外的价值,采用更为广阔的并行处理系统来创建新的商业增长点。” 在数据挖掘中最常用的技术有: 人工神经网络:仿照生理神经网络结构的非线形预测模型,通过学习进行模式识别。 决策树:代表着决策集的树形结构。 遗传算法:基于进化理论,并采用遗传结合、遗传变异、以及自然选择等设计方法的优化技术。 近邻算法:将数据集合中每一个记录进行分类的方法。 规则推导:从统计意义上对数据中的“如果-那么”规则进行寻找和推导。 采用上述技术的某些专门的分析工具已经发展了大约十年的历史,不过这些工具所面对的数据量通常较小。而现在这些技术已经被直接集成到许多大型的工业标准的数据仓库和联机分析系统中去了。 [ Last edited by 幻影无痕 on 2006-10-27 at 07:42 ] |
» 猜你喜欢
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
论文投稿,期刊推荐
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
孩子确诊有中度注意力缺陷
已经有14人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
» 本主题相关商家推荐: (我也要在这里推广)
幻影无痕
荣誉版主 (知名作家)
小木虫论坛总监
- 应助: 2 (幼儿园)
- 贵宾: 8.003
- 金币: 16253.5
- 散金: 200
- 红花: 5
- 沙发: 5
- 帖子: 9634
- 在线: 58.2小时
- 虫号: 245777
- 注册: 2006-04-29
- 性别: GG
- 专业: 催化化学
- 管辖: 地学
|
精通数据库系列之入门-基础篇2 数据库系统的产生和发展 众所周知,数据库系统并不是在计算机产生的同时就出现的,而是随着计算机技术的不断发展,在特定的历史时期、特定的需求环境下出现的。人类在1946年发明了世界上的第一台计算机到20世纪60年代这漫长的20年里,计算机操作系统还主要局限于文件的操作,同样,对数据的管理也主要是通过文件系统来实现。进行计算所需要的各种数据存放在各自的文件里面。当要使用这些数据的时候,将文件打开,读取文件中的数据到内存中。当计算完毕后,将计算结果仍旧写入到文件中去。 虽然这种在文件中存放数据的方式目前在很多系统中还在使用,但是,这样的数据存放方式在三四十年前的当时,就已经显示出了非常明显的不足。这些不足主要集中在无法对数据进行有效的统一管理。具体表现在这样几个方面: 程序员编写应用程序非常不方便。应用程序的设计者需要对程序所使用的文件的逻辑结构和物理结构都了解的非常清楚。而计算机操作系统只提供将文件打开、关闭、保存等非常低级的操作,而对数据的修改、查询操作则需要应用程序来解决,如果程序所需要的数据存放在不同的文件里,而且这些文件的存储格式又迥然不同。这样就给应用程序的开发带来了巨大的麻烦,程序员要为程序中所用到的每一个文件都写好相应的接口,而且不同的文件格式相差很大,这样就大大的增加了编程的工作量,从而使得在文件级别上开发应用程序的效率非常低下,严重影响应用软件的发展。 文件结构的每一处修改都将导致应用程序的修改,从而使得应用程序的维护工作量特别大。编过程序的人都有这种体会,就是每当自己开发完毕的程序需要修改的时候,又不得不将源程序重新修改、编译、链接。其麻烦程度可想而知。因为有人戏称编程人员为“老改”人员,个中滋味,外人恐怕很难体会到的。 计算机操作系统中的文件系统一般不支持对文件的并发访问。而在现代计算机系统中,为了充分发挥计算机系统的资源使用效率,一般都允许多个程序“同时”运行,即并发性。对数据库系统同样有并发性的要求,现在比较大型的数据库都有非常强的并发访问机制,这样可以充分利用数据库服务器的软、硬件资源,避免浪费。 由于基于文件系统的数据管理缺乏整体性、统一性,在数据的结构、编码、表示格式等诸多方面不能做到标准化、规范化,不同的操作系统有风格迥异的表示方式,因此在一定程度上造成了数据管理的混乱。另外,基于文件系统的数据管理在数据的安全性和保密性发面难以采取有效的措施,在一些对安全性要求比较高的场合,这种安全上的缺陷是完全不允许的。 针对文件系统的这些重要缺点,人们逐步发展了以统一管理数据和共享数据为主要特征的系统,这就是数据库系统。数据库系统就是在这样的背景下发展起来了。1964年,美国通用电气公司开发成功了世界上的第一个数据库系统——IDS(Integrated Data Store)。IDS奠定了网状数据库的基础,并且得到了广泛的发行和应用,成为数据库系统发展史上的一座丰碑。1969年,美国国际商用机器公司(IBM)也推出世界上第一个层次数据库系统IMS(Information Management System),同样在数据库系统发展史上占有重要的地位。 七十年代初,E.F.Codd在总结前面的层次、网状数据库优缺点的基础上,提出了关系数据模型的概念。他提出了关系代数和关系演算(直到今天,在E.F.Codd的这些基本理论还在左右这数据库系统的发展,也依然是高校计算机专业课堂上所要讲述的重要内容)。在整个七十年代,关系数据库系统无论从理论上还是实践上都去的了丰硕的成果。在理论上,确立了完整的关系模型理论、数据依赖理论和关系数据库的设计理论(在后面将重点讲述这些关系数据库的基本理论);在实践上,世界上出现了很多著名的关系数据库系统,比较著名的如System R,INGRES,Oracle等。 和文件系统相比,数据库系统有一系列的特点,具体表现在以下几个方面: 数据库系统向用户提供高级的接口。在文件系统中,用户要访问数据,必须了解文件的存储格式、记录的结构等。而在数据库系统中,这一切都不需要了。数据库系统为用户处理了这些具体的细节,向用户提供非过程化的数据库语言(即通常所说的SQL语言),用户只要提出需要什么数据,而不必关心如何获得这些数据。对数据的管理完全由数据库管理系统(DBMS: Database Management System)来实现。 查询的处理和优化。查询通常指用户向数据库系统提交的一些对数据操作的请求。由于数据库系统向用户提供了非过程化的数据操纵语言,因此对于用户的查询请求就由DBMS来完成,查询的优化处理就成了DBMS的重要任务。 并发控制。前面曾经提到,文件系统一般不支持并发操作,这样大大的限制了系统资源的有效利用。在数据库系统中,情况就不一样了。现代的数据库系统都有很强的并发操作机制,多个用户可以同时访问数据库,甚至可以同时访问同一个表中的不同记录。这样极大的提高了计算机系统资源的使用效率。 数据的完整性约束。凡是数据都要遵守一定的约束,最简单的一个例子就是数据类型,例如定义成整型的数据就不能是浮点数。由于数据库中的数据是持久的和共享的,因此对于使用这些数据的单位来说,数据的正确行显得非常重要。在关系数据库系统中,比较重要的完整性约束有实体完整性、域完整性、参照完整性和用户自定义的完整性等,在后面的文章中将有重点讲述。 进入二十世纪八十年代之后,计算机硬件技术有了飞速的提高。计算机技术的提高促使计算机应用不断深入,产生了许多新的应用领域,例如计算机辅助设计、计算机辅助制造、计算机辅助教学、办公自动化、智能信息处理、决策支持等。这些新的领域对数据库系统提出了新的要求。但是由于应用的多元化,不能设计出一个统一的数据模型来表示这些新型的数据及其相互关系,因而出现了百家争鸣的局面,产生了演绎数据库、面向对象数据库、分布式数据库、工程数据库、时态数据库、模糊数据库等新型数据库的研究和应用。 不过到目前为止,在世界范围内得到主流应用的还是经典的关系数据库系统,比较知名的如Sybase,Oracle,Informix,SQL Server,DB2等。在本系列专题文章中,我们也将根据数据库系统的实际应用情况,重点介绍关系数据库系统。其他的数据库系统,也将作简单的介绍。 |

5楼2006-09-11 10:51:45
幻影无痕
荣誉版主 (知名作家)
小木虫论坛总监
- 应助: 2 (幼儿园)
- 贵宾: 8.003
- 金币: 16253.5
- 散金: 200
- 红花: 5
- 沙发: 5
- 帖子: 9634
- 在线: 58.2小时
- 虫号: 245777
- 注册: 2006-04-29
- 性别: GG
- 专业: 催化化学
- 管辖: 地学
|
数据库的数据挖掘概述(二) 数据挖掘工具是怎样准确地告诉你那些隐藏在数据库深处的重要信息的呢?它们又是如何作出预测的?答案就是建模。建模实际上就是在你知道结果的情况下建立起一种模型,并且把这种模型应用到你所不知道的那种情况中。比如说,如果你想要在大海上去寻找一艘古老的西班牙沉船,也许你首先想到的就是去找找过去发现这些宝藏的时间和地点有哪些。那么,经过调查你发现这些沉船大部分都是在百慕大海区被发现,并且那个海区有着某种特征的洋流,以及那个时代的航线也有一定的特征可寻。在这众多的类似特征中,你将它们抽象并概括为一个普适的模型。利用这个模型,你就很有希望在具有大量相同特征的另外一个地点发现一件不为人知的宝藏。 当然,在数据挖掘技术甚至计算机出现以前,这种建模抽象的方法就已经广泛地被人们所使用。在计算机中的建模和以前的建模方法并无很大不同,主要的差异在于计算机能处理的信息量比起以前来更加庞大。计算机中能够存储已知了结果的大量不同情况,然后由数据挖掘工具从这些大量的信息里面披沙拣金,将能够产生模型的信息提取出来。一当模型建立好了之后,就可以应用在那些情形相似但结果尚未知的判断中了。比如,现在假设你是一个电信公司的营销主任,公司想发展一些新的长途电话用户,那么你是不是会漫无目的地到街上去散发广告呢?——就象漫无目的地在海上去寻宝一样。其实,比起漫无目的地去进行宣传来,利用你以前的商业经验来有目的地去拉拢客户会产生高得多的效率。 作为一个营销主任,你对客户的很多信息都可以了解得一清二楚:年龄、性别、信用记录以及长途电话使用状况。从好的一方面来看,掌握了这些客户的信息其实就是掌握了很多潜在的用户的同样的信息。问题在于你还不一定了解他们的长途电话使用情况(因为他们的长途电话也许是通过的另一个电信公司)。现在你的主要精力就集中在用户中谁有比较多的长途电话上。通过下面这个表格,我们可以从数据库里面抽象某些变量,建立起一个可以对此进行分类营销的模型。 客户 潜力 一般信息 (e.g. demographic data) 已知 已知 私有信息 (e.g. customer transactions) 已知 待定 表二、数据挖掘应用于分类营销 根据我们创建的从一般信息到私有信息的计算模型,我们可以得出表二右下方表格中的信息。比如,一个电信公司的简化模型可以是:年薪6万美圆以上的98%的客户,每个月长话费80美圆以上。根据这个模型,我们就能应用这些数据来推断出公司现在尚不能明确的私有信息,这样,新客户群体就可以大体确定出来了。小型市场的试销数据对于这样的模型来说显得极为有用。因为小范围内试销数据的挖掘,能够为全部市场的分类销售打下一个良好的基础。表三则描述了另外一样数据挖掘的普遍应用:预测。 过去 现在 将来 静态信息和当前计划 已知 已知 已知 动态信息 已知 已知 待定 表三、数据挖掘应用于预测 数据挖掘的体系结构 现有很多数据挖掘工具是独立于数据仓库以外的,它们需要独立地输入输出数据,以及进行相对独立的数据分析。为了最大限度地发挥数据挖掘工具的潜力,它们必须象很多商业分析软件一样,紧密地和数据仓库集成起来。这样,在人们对参数和分析深度进行变化的时候,高集成度就能大大地简化数据挖掘过程。下图显示了一个大型数据库中的高级分析过程。 集成后的数据挖掘体系 应用数据挖掘技术,较为理想的起点就是从一个数据仓库开始,这个数据仓库里面应保存着所有客户的合同信息,并且还应有相应的市场竞争对手的相关数据。这样的数据库可以是各种市场上的数据库:Sybase、Oracle、Redbrick、和其他等等,并且可以针对其中的数据进行速度上和灵活性上的优化。 联机分析系统OLAP服务器可以使一个十分复杂的最终用户商业模型应用于数据仓库中。数据库的多维结构可以让用户从不同角度,——比如产品分类,地域分类,或者其他关键角度——来分析和观察他们的生意运营状况。数据挖掘服务器在这种情况下必须和联机分析服务器,以及数据仓库紧密地集成起来,这样就可以直接跟踪数据和并辅助用户快速作出商业决策,并且用户还可以在更新数据的时候不断发现更好的行为模式,并将其运用于未来的决策当中。 数据挖掘系统的出现代表着常规决策支持系统的基础结构的转变。不象查询和报表语言仅仅是将数据查询结果反馈给最终用户那样,数据挖掘高级分析服务器把用户的商业模型直接应用于其数据仓库之上,并且反馈给用户一个相关信息的分析结果。这个结果是一个经过分析和抽象的动态视图层,通常会根据用户的不同需求而变化。基于这个视图,各种报表工具和可视化工具就可以将分析结果展现在用户面前,以帮助用户计划将采取怎样的行动。 产生利润的工具 有很多公司都成功地安装了数据挖掘工具。早先采用了这种技术的公司大部分都是信息密集型公司,比如金融服务和邮件营销系统,但是现在这种技术已经准备好应用于各个公司中,只要公司具有大型数据库,并且有强烈的通过软件技术改善公司管理的愿望。但是采用数据挖掘技术,公司必须两个关键的因素,一个就是大型的,集成化的数据库;另一个就是定义完善的商业处理程序,这样数据挖掘才好紧密地应用于公司数据之上。 采用数据挖掘技术的一些成功应用,例如一个药品公司,通过对它最近的营销强度和销售结果的分析,来决定哪一种营销活动在最近几个月内对高附加值的医生群体影响最大,这样的分析建立在竞争对手的销售活动信息和当地健康状况的数据系统之上。然后这个药品公司可以通过其办公网络,将分析结果传达到各地的销售代表处,销售代表们则可以根据公司传递的关键信息来作出相应的销售抉择,这样,在快速变化的、动态的市场上,销售代表们都可以根据各种特殊情况的分析作出最优的选择。 结语 全面集成了客户、供应者以及市场信息的大型数据仓库导致公司内的信息呈爆炸性增长,企业在市场竞争中,需要及时而准确地对这些信息作复杂的分析。为了更加及时地,更加准确地作出利于企业的抉择,建立在关系数据库和联机分析技术上的数据挖掘工具为我们带来了一个新的转机。目前,数据挖掘工具正以前所未有的速度发展,并且扩大着用户群体,在未来越加激烈的市场竞争中,拥有数据挖掘技术必将比别人获得更快速的反应,赢得更多的商业机会。 |

3楼2006-09-11 10:49:40
幻影无痕
荣誉版主 (知名作家)
小木虫论坛总监
- 应助: 2 (幼儿园)
- 贵宾: 8.003
- 金币: 16253.5
- 散金: 200
- 红花: 5
- 沙发: 5
- 帖子: 9634
- 在线: 58.2小时
- 虫号: 245777
- 注册: 2006-04-29
- 性别: GG
- 专业: 催化化学
- 管辖: 地学
|
精通数据库系列之入门-基础篇1 什么是数据库系统? 是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系统。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这些数据为多个应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全性。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。 数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。 数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。数据库系统的出现是计算机应用的一个里程碑,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。为了实现对任意部分数据的快速访问,就要研究许多优化技术。这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。因此,数据的独立性和共享性是数据库系统的重要特征。数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使的计算机走出科研机构进入各行各业、进入家庭。 |

4楼2006-09-11 10:50:54
幻影无痕
荣誉版主 (知名作家)
小木虫论坛总监
- 应助: 2 (幼儿园)
- 贵宾: 8.003
- 金币: 16253.5
- 散金: 200
- 红花: 5
- 沙发: 5
- 帖子: 9634
- 在线: 58.2小时
- 虫号: 245777
- 注册: 2006-04-29
- 性别: GG
- 专业: 催化化学
- 管辖: 地学
|
精通数据库系列之入门-基础篇3 作者:本站收集 文章来源:互联网 点击数:10 更新时间:2005-6-1 行业的现状和展望 近年来,我一直在和数据库管理员打交道,并直接面试了很多DBA职位。本文想概括一下IT行业对DBA的要求,以及国内DBA的新资现状。可以肯定地说,做一个高级DBA是很不错的职业。如果你打算成为一名DBA,那么希望本文起到抛砖引玉的作用。 什么是DBA 数据库管理员,英文是Database Administrator,简称DBA。这个职位对不同的人意味着不同的意义。一个小的软件开发工作室和一个分工高度明细的大公司相比,DBA的职责来得更加宽泛一些。一个公司,不管它是自己开发应用软件,还是购买第三方的应用软件,只要涉及到数据库(有多少不涉及数据库的应用软件呢?数据库是商业的灵魂和大脑啊),就需要确定是否雇佣一个或几个DBA。知道DBA这个职位有哪些要求,对于企业内部这个职位的定义或者对于那些未来的DBA将是至关重要的。下面我列出了DBA的一些职责: 安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。 数据库设计系统存储方案,并制定未来的存储需求计划。 一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。 一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。 根据开发人员的反馈信息,必要的时候,修改数据库的结构。 登记数据库的用户,维护数据库的安全性。 保证数据库的使用符合知识产权相关法规。 控制和监控用户对数据库的存取访问。 监控和优化数据库的性能。 制定数据库备份计划,灾难出现时对数据库信息进行恢复 维护适当介质上的存档或者备份数据 备份和恢复数据库 联系数据库系统的生产厂商,跟踪技术信息。 DBA的个性特点 很多时候管理人员都忽视了DBA的个性特点,他们只关注DBA的技术能力。实际上,上面谈到的每个职责都意味着:DBA需要跟各种人员打交道,这些人员可能是销售商、用户、开发人员或者管理人员。这说明:DBA必须具有下面的个性特点: 自信心 好奇心 坚韧的意志力 老练 自我驱动 注意细节 为什么这些个性特点很重要呢? 我就有几个缺乏自信心的部下,他们反复问我一些事无巨细的问题,他们没有信心哪怕做最小的决定。他们也缺乏工作的主动性。这对于初级DBA来说可能问题不太大,但对于那些高级DBA来说,如果他们缺乏自信心,他们又可以依赖谁帮他们决策呢?在DBA的面试中,即使你不能回答某个技术问题,你也要表现出足够的自信心。最致命的不是不知道问题的答案,而是不知道从哪儿得到答案。 几乎所有的数据库系统都在不停地更新。但并不是所有的更新都有技术文档。对于好的DBA来说,好奇心是必需的。没有好奇心和求知欲的DBA总是等待有人告诉他们答案。而一个求知欲强的DBA将安装最新版本的数据库系统,并立即开始搜寻那些哪怕是细微的功能和性能上的差异和增强,从而改进自己的工作。应试时一个必然问及的问题是:你手头有哪些参考资料?你如何使用它们?毫无疑问,如果你只回答了数据库的文档,或者你甚至没有读过他们,你的"股票市值"将大大下降。好奇心会驱使DBA们理解数据字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。 DBA常常会碰到棘手的问题。寻找答案是一个需要坚韧意志力、可以经受摔打的个性特点。我常常在一些讨论组或者论坛上看到DBA们提出的问题,这些问题往往是提问者自己可以解决的,如果他们具有坚韧的个性特点,并努力寻求问题的答案。 自我驱动对每个人都是很重要的,对DBA尤其如此。DBA要能想办法使问题出现,而不是等待问题的出现。自驱力强的DBA常常设法取得或者自己写一些必要的脚本(Script)来监控包括数据表大小(Table Size)、表空间使用(Tablespace Usage)等项目,这些项目如果被忽视,他们将遇到麻烦。应试的时候DBA们常常被问及在PL/SQL、SQL或者SQL*PLUS方面的经验,这些问题将把你从从来没有编写过自己需要的脚本的那些DBA们区分开。 不用说和用户,就是和程序员和管理人员打交道,也需要你足够老练。一个一点不会处事的DBA不会为你做什么好事,只会在你的部门点燃敌对情绪的烈火。老练是这样一种能力,你劝告某个人到地府去,哈哈,最后这个人怀着渴望的心情去了。很多时候,开发者、管理者、用户,他们会提出毫无道理的需求,DBA们需要老练地引导、修正它们的要求,说服他们。在应试时,你的应对就很能说明你是否老练。 最后说说注意细节,这种性格倾向非常重要。注意细节的DBA们衣着整洁,有自己的日程安排,在应试前对应聘的单位做过调查。注意细节的DBA们深入了解数据库的内核,并能理解视图、表之间的关系。 DBA的等级 DBA的等级并不是很严格的。按照对数据库的掌握情况,我简单地分成三个等级:初级Primary、中级Intermediate和高级Senior。 初级DBA又称为DBBS,是英文Database Baby Sitter的缩写。初级DBA常常是兼职的,他们往往同时是程序员或者兼任其他的工作。初级DBA往往把个人简历写得很棒,参与了很多和数据库有关的项目或工作。但是,这些项目或者工作往往是:第三方软件供应商已经安装并配置了数据库,他们只做一些监控的工作。他们能处理一些简单的问题,但大多数时候他们向应用软件供应商求救。初级DBA更喜欢图形化的数据库管理或者监控工具,他们喜欢Access这样的桌面数据库简单易用,并把这些小型数据库的经验简单地应用到大型数据库相关的工作中。 初级DBA是最好区分的。而中级DBA和高级DBA就不太好区分。他们的差别在于经验的不同和个性特点、能力方面的差异。中级DBA比较多,他们可以胜任高级DBA的大部分工作,包括: 数据库安装 数据库配置和管理 权限设置和安全管理 监控和性能调节 备份和恢复 解决一般的问题 中级DBA往往从业一年左右,熟悉某种操作系统环境下的数据库。因为对中级DBA来讲,Windows NT和Unix是有很大差别的。中级DBA对SQL比较熟悉,他们自己购买了几本数据库方面的书籍,并深入钻研。中级DBA往往同时兼任数据库程序员,他们的工作对性能、稳定性、安全性的追求基本上不是很高,往往配合高级DBA做一些例行工作。 高级DBA在国内是非常少的。他们购买了太多的数据库方面的英文资料,也许是托朋友从Amazon买的。相对于他们的报酬来讲,买书的钱是很少的一个比例。高级DBA一般都熟悉很多种操作平台下的几种大型数据库。他们知道各种不同数据库在不同环境下的优势和劣势,并能在数据库平台和数据库环境的选择方面做出决策。他们一般通晓系统架构和数据库设计,并能对数据库进行各种级别的优化。高级DBA一般都配有助手,他们更偏向做决策和计划。高级DBA往往在银行业、保险业、在线交易等对稳定性、安全性、性能都要求比较高的关键业务处理领域大显身手。 很多时候,是否取得数据库专家认证证书并不是很重要。我知道很多数据库厂商的培训只要你去了都会获得证书。有很多的公司提供商业化的培训,他们的服务质量也有好有劣。所以证书并不是特别地有意义。 几种流行的数据库系统 最"容易"的数据库系统-Microsoft SQL Server 如果你打算做一个DBA,建议你选择那些现在比较流行的数据库系统。这意味着你将有更多的就业机会、交流和培训机会,而且,流行自有流行的理由,你可以因此省心很多。当然,就业竞争压力也比较大。一般的入门者选择Microsoft SQL Server,这是非常适合中小型企业的数据库系统,熟悉Access的读者很容易就能初步使用Microsoft SQL Server,成为一个DBBS。 J Microsoft SQL Server 7.0的报价,5用户版1399美金,增加用户时,127美金每用户。 最"难"的数据库-无冕之王Oracle 如果你有机会接触到Oracle,那可是个好机会。Oracle是目前最看好的数据库厂商,由于其强大的功能和可配置、可管理能力,Oracle DBA的薪资一般比其他数据库管理员的薪资要高。而且,Oracle在大中型企业的关键应用也更加普遍了。Oracle可以运行在Windows NT、Sun Solaris、Linux等平台下。很多情况下要求你不仅仅熟悉NT,还要你熟悉Unix;而且Oracle不太友善的界面和成箱的Oracle产品资料可能也是一个障碍。 Oracle 8i标准版的报价,如果运行在Windows NT,附带JServer和interMedia,支持5个并发用户,报价是3925美金每CPU。增加并发用户时,785美金每用户。增加附加的命名用户时,392.5美金每用户。 数据库系统的贵族-IBM UDB/DB2 作为30年数据库研究的成果,IBM DB2确实称得上"数据库系统的贵族"。不管是小型商业系统,还是大的银行系统,用DB2都是可以高枕无忧的。最近推出的新版DB2 6.1, 管理和调节工具更加卓越和便于使用。DB2 可以运行在Intel架构上,也可以运行在IBM的S/390大型计算机上。如果你所在的行业对IBM的机器特别地称道,建议你学习IBM DB2。 DB2有两种版本:工作组版和企业版。工作组版999美元每服务器,外加249美元每个并发用户。而企业版是12500美元每个CPU,不限并发用户数量。 以Java为中心的数据库-Sybase Adaptive Server Enterprise(ASE) 12.0 即将发布的Sybase ASE 12.0,直接面向Java 程序员。这种以Java为中心的数据库系统,为那些准备在Java 平台下构建企业应用的企业来说,将是最好的选择。但是ASE称不上一个数据库领域的领先者,尽管相对于它以前的版本已经改进很多,并支持多个CPU和更多的并发,还有很多的新的特性。但Sybase的风光似乎已经不再。 值得期盼的Informix Centaur 有时候"第一"只是意味着你的对手需要等待更长的时间去赶上你。这正是1997年创立的Informix所面临的。Informix公司是率先将多媒体特性加入到关系数据库系统的大型数据库厂商之一。但是如今,IBM、Oracle、Sybase都已经跨越了这个概念。所以,Informix不得不寻求新的支撑来使自己区别于其他数据库厂商。这就是Informix Centaur的目标。Informix Centaur结合了Informix Dynamic Server 7.3的对象-关系数据库和Informix Universal Data Option 9.1,意在获得更好的适应性和多媒体支持。详情如何,我们拭目以待! DBA的薪资 有很多因素影响到你作为DBA的薪资: 你的经验和能力所决定的DBA等级 你所熟悉的数据库系统 你的个性特点和潜力 下面的表说明了国内DBA人员的基本薪资状况,并说明了DAB等级和你所熟悉的数据库系统怎样影响到DBA的薪资。当然,这只是我个人掌握的情况,只能在一定程度上代表行业的平均水平。 DBA等级数据库系统 初级DBA年薪(万元) 中级DBA年薪(万元) 高级DBA年薪(万元) Oracle 4 8 11 Microsoft SQL Server 3 5 8 IBM DB2 4 8 10 Sybase 3.5 6 8 Informix 4 7 10 注:每年按13个月计算。表内数字为平均年薪。 |

6楼2006-09-11 10:52:19













回复此楼