一起合同网

导航栏 ×

数据库高可用方案

发布时间:2025-04-01

数据库高可用方案(推荐12篇)。

⬓ 数据库高可用方案 ⬓

2016最数据库设计技巧

本文介绍了数据库设计中的14个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者要消化理解,实事求是,灵活掌握。跟yjbys小编一起来看看这些技巧吧!

1. 原始单据与实体之间的关系

可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。

〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。

2. 主键与外键

一般而言,一个实体不能既无主键又无外键。在E?R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。

主键与外键的设计,在全局数据库的设计中,占有重要地位。当全局数据库的设计完成以后,有个美国数据库设计专家说:“键,到处都是键,除了键之外,什么也没有”,这就是他的数据库设计经验之谈,也反映了他对信息系统核心(数据模型)的高度抽象思想。因为:主键是实体的高度抽象,主键与外键的配对,表示实体之间的连接。

3. 基本表的性质

基本表与中间表、临时表不同,因为它具有如下四个特性:

(1) 原子性。基本表中的字段是不可再分解的。

(2) 原始性。基本表中的记录是原始数据(基础数据)的记录。

(3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。

(4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。

理解基本表的性质后,在设计数据库时,就能将基本表与中间表、临时表区分开来。

4. 范式标准

基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,往往不是最好的设计。为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间的目的。

〖例2〗:有一张存放商品的基本表,如表1所示。“金额”这个字段的存在,表明该表的设计不满足第三范式,因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,增加“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的作法。

在Rose 2002中,规定列有两种类型:数据列和计算列。“金额”这样的列被称为“计算列”,而“单价”和“数量”这样的列被称为“数据列”。

表1 商品表的表结构

商品名称 商品型号 单价 数量 金额

电视机 29? 2,500 40 100,000

5. 通俗地理解三个范式

通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):

第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;

第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余.

没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

6. 要善于识别与正确处理多对多的关系

若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。

〖例3〗:在“图书馆信息系统”中,“图书”是一个实体,“读者”也是一个实体。这两个实体之间的关系,是一个典型的多对多关系:一本图书在不同时间可以被多个读者借阅,一个读者又可以借多本图书。为此,要在二者之间增加第三个实体,该实体取名为“借还书”,它的属性为:借还时间、借还标志(0表示借书,1表示还书),另外,它还应该有两个外键(“图书”的主键,“读者”的主键),使它能与“图书”和“读者”连接。

7. 主键PK的取值方法

PK是供程序员使用的表间连接工具,可以是一无物理意义的数字串, 由程序自动加1来实现。也可以是有物理意义的字段名或字段名的'组合。不过前者比后者好。当PK是字段名的组合时,建议字段的个数不要太多,多了不但索引占用空间大,而且速度也慢。

8. 正确认识数据冗余

主键与外键在多表中的重复出现, 不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现, 才是数据冗余!而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。

〖例4〗:商品中的“单价、数量、金额”三个字段,“金额”就是由“单价”乘以“数量”派生出来的,它就是冗余,而且是一种高级冗余。冗余的目的是为了提高处理速度。只有低级冗余才会增加数据的不一致性,因为同一数据,可能从不同时间、地点、角色上多次录入。因此,我们提倡高级冗余(派生性冗余),反对低级冗余(重复性冗余)。

9. E--R图没有标准答案

信息系统的E--R图没有标准答案,因为它的设计与画法不是惟一的,只要它覆盖了系统需求的业务范围和功能内容,就是可行的。反之要修改E--R图。尽管它没有惟一的标准答案,并不意味着可以随意设计。好的E?R图的标准是:结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。

10. 视图技术在数据库设计中很有用

与基本表、代码表、中间表不同,视图是一种虚表,它依赖数据源的实表而存在。视图是供程序员使用数据库的一个窗口,是基表数据综合的一种形式, 是数据处理的一种方法,是用户数据保密的一种手段。为了进行复杂处理、提高运算速度和节省存储空间, 视图的定义深度一般不得超过三层。 若三层视图仍不够用, 则应在视图上定义临时表, 在临时表上再定义视图。这样反复交迭定义, 视图的深度就不受限制了。

对于某些与国家政治、经济、技术、军事和安全利益有关的信息系统,视图的作用更加重要。这些系统的基本表完成物理设计之后,立即在基本表上建立第一层视图,这层视图的个数和结构,与基本表的个数和结构是完全相同。并且规定,所有的程序员,一律只准在视图上操作。只有数据库管理员,带着多个人员共同掌握的“安全钥匙”,才能直接在基本表上操作。请读者想想:这是为什么?

11. 中间表、报表和临时表

中间表是存放统计数据的表,它是为数据仓库、输出报表或查询结果而设计的,有时它没有主键与外键(数据仓库除外)。临时表是程序员个人设计的,存放临时记录,为个人所用。基表和中间表由DBA维护,临时表由程序员自己用程序自动维护。

12. 完整性约束表现在三个方面

域的完整性:用Check来实现约束,在数据库设计工具中,对字段的取值范围进行定义时,有一个Check按钮,通过它定义字段的值城。参照完整性:用PK、FK、表级触发器来实现。用户定义完整性:它是一些业务规则,用存储过程和触发器来实现。

13. 防止数据库设计打补丁的方法是“三少原则”

(1) 一个数据库中表的个数越少越好。只有表的个数少了,才能说明系统的E--R图少而精,去掉了重复的多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计;

(2) 一个表中组合主键的字段个数越少越好。因为主键的作用,一是建主键索引,二是做为子表的外键,所以组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间;

(3) 一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是督促读者学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。这个方法很简单,有的人就是不习惯、不采纳、不执行。

数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点。“三少”是一个整体概念,综合观点,不能孤立某一个原则。该原则是相对的,不是绝对的。“三多”原则肯定是错误的。试想:若覆盖系统同样的功能,一百个实体(共一千个属性) 的E--R图,肯定比二百个实体(共二千个属性) 的E--R图,要好得多。

提倡“三少”原则,是叫读者学会利用数据库设计技术进行系统的数据集成。数据集成的步骤是将文件系统集成为应用数据库,将应用数据库集成为主题数据库,将主题数据库集成为全局综合数据库。集成的程度越高,数据共享性就越强,信息孤岛现象就越少,整个企业信息系统的全局E?R图中实体的个数、主键的个数、属性的个数就会越少。

提倡“三少”原则的目的,是防止读者利用打补丁技术,不断地对数据库进行增删改,使企业数据库变成了随意设计数据库表的“垃圾堆”,或数据库表的“大杂院”,最后造成数据库中的基本表、代码表、中间表、临时表杂乱无章,不计其数,导致企事业单位的信息系统无法维护而瘫痪。

“三多”原则任何人都可以做到,该原则是“打补丁方法”设计数据库的歪理学说。“三少”原则是少而精的原则,它要求有较高的数据库设计技巧与艺术,不是任何人都能做到的,因为该原则是杜绝用“打补丁方法”设计数据库的理论依据。

14. 提高数据库运行效率的办法

在给定的系统硬件和系统软件条件下,提高数据库系统的运行效率的办法是:

(1) 在数据库物理设计时,降低范式,增加冗余, 少用触发器, 多用存储过程。

(2) 当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方式用C++语言计算处理完成之后,最后才入库追加到表中去。这是电信计费系统设计的经验。

(3) 发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。

(4) 对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个数。

(5) 在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。

总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三个层次上同时下功夫。

⬓ 数据库高可用方案 ⬓

所谓数据库营销,就是利用企业经营过程中收集、形成的各种顾客资料,经分析整理后作为制订营销策略的依据,并作为保持现有顾客资源的重要手段,从理论上说,数据库营销并不是网络营销中特有的手段,在传统营销中,如直邮广告、电话营销等,数据库营销也是一种常用的手段,不过,在网络营销中,数据库营销有着更加独特的优越性,因而成为网络营销的重要策略之一。

数据库营销在企业营销战略中的基本作用表现在下列方面:

1. 更加充分地了解顾客的需要。

2. 为顾客提供更好的服务。顾客数据库中的资料是个性化营销和顾客关系管理的重要基础。

3. 对顾客的价值进行评估。通过区分高价值顾客和一般顾客,对各类顾客采取相应的营销策略。

4. 了解顾客的价值。利用数据库的资料,可以计算顾客生命周期的价值,以及顾客的价值周期。

5. 分析顾客需求行为。根据顾客的历史资料不仅可以预测需求趋势,还可以评估需求倾向的改变。

6. 市场调查和预测。数据库为市场调查提供了丰富的资料,根据顾客的资料可以分析潜在的目标市场。

与传统的数据库营销相比,网络数据库营销的独特价值主要表现在三个方面:动态更新、顾客主动加入、改善顾客关系。

在传统的数据库营销中,无论是获取新的顾客资料,还是对顾客反应的跟踪都需要较长的时间,而且反馈率通常较低,收集到的反馈信息还需要繁琐的人工录入,因而数据库的更新效率很低,更新周期比较长,同时也造成了过期、无效数据记录比例较高,数据库维护成本相应也比较答。网络数据库营销具有数据量大、易于修改、能实现动态数据更新、便于远程维护等多种优点,还可以实现顾客资料的自我更新。网络数据库的动态更新功能不仅节约了大量的时间和资金,同时也更加精确地实现了营销定位,从而有助于改善营销效果,

仅靠现有顾客资料的数据库是不够的,除了对现有资料不断更新维护之外,还需要不断挖掘潜在顾客的资料,这项工作也是数据库营销策略的重要内容。在没有借助互联网的情况下,寻找潜在顾客的信息一般比较难,要花很大代价,比如利用有奖销售或者免费使用等机会要求顾客填写某种包含有用信息的表格,不仅需要投入大量资金和人力,而且又受地理区域的限制,覆盖的范围非常有限。

在网络营销环境中,顾客数据在增加要方便得多,而且往往是顾客志愿加入网站的数据库。最新的调查表明,为了获得个性化服务或获得有价值的信息,有超过 50%的顾客愿意提供自己的部分个人信息,这对于网络营销人员来说,无疑是一个好消息。请求顾客加入数据库的通常的做法是在网站设置一些表格,在要求顾客注册为会员时填写。但是,网上的信息很丰富,对顾客资源的争夺也很激烈,顾客的要求是很挑剔的,并非什么样的表单都能引起顾客的注意和兴趣,顾客希望得到真正的价值,但肯定不希望对个人利益造成损害,因此,需要从顾客的实际利益出发,合理地利用顾客的主动性来丰富和扩大顾客数据库。在某种意义上,邮件列表可以认为是一种简单的数据库营销,数据库营销同样要遵循志愿加入、自由退出的原则。

顾客服务是一个企业能留住顾客的重要手段,在电子商务领域,顾客服务同样是取得成功的最重要因素。一个优秀的顾客数据库是网络营销取得成功的重要保证。在互联网上,顾客希望得到更多个性化的服务,比如,顾客定制的信息接收方式和接收时间,顾客的兴趣爱好、购物习惯等等都是网络数据库的重要内容,根据顾客个人需求提供针对性的服务是网络数据库营销的基本职能,因此,网络数据库营销是改善顾客关系最有效的工具。

网络数据库由于其种种独特功能而在网络营销中占据重要地位,网络数据库营销通常不是孤立的,应当从网站规划阶段开始考虑,列为网络营销的重要内容,另外,数据库营销与个性化营销、一对一营销有着密切的关系,顾客数据库资料是顾客服务和顾客关系管理的重要基础。

⬓ 数据库高可用方案 ⬓

电信企业参与竞争的利器-数据仓库和数据挖掘

随着电信市场的开放,竞争将越来越激烈,利润的降低使得必须从粗放的经营转变到集约的经营,同时经营决策需要尽可能多的定量的依据和尽可能快的速度。所有这些需要技术上的支持----数据仓库和数据挖掘广东省电信科学技术研究院是华南地区通信技术支持及科研开发的最高技术部门,围绕保障通信大网运行安全、高效和通信市场的需求而进行系统维护支持、网管系统开发、多媒体研究、网络技术与市场研究、计费系统研究与开发、人员培训和计量检测等七个方面的工作。研究院目前拥有一支900多人的年富力强、实力雄厚的研发队伍。

研究院开发的Thinker-BC多媒体网综合业务管理系统是一套统一的综合业务管理系统。它为电信运营商以及各级ISP提供一个稳定而灵活的业务支撑平台。该平台能够提供所有的多媒体数据通信基本业务及各种增值服务,该平台具备极强的可扩展性,具备快速的新业务生成、推广能力。系统能够灵活地定义各项服务的资费政策,及各项业务的捆绑销售优惠策略,并对各项服务提供准确、实时的计费功能。其中的数据仓库决策支持系统是基于Sybase的数据仓库解决方案开发的。业务经营决策者可以利用这个系统快速准确地了解到各项业务的发展情况、为进一步的决策支持工作提供坚实的基础。

目前,广东公众多媒体通信网拨号用户总数已达到70万。根据业务需求分析,广东省163/169网到底的用户总数将达到800万以上,其中拨号注册用户达400万,主叫用户300万,卡用户100万,专线用户也将达到1万户以上。在这些大量的数据背后隐藏着许多重要的信息。

系统的最终用户是电信内部的各个部门,因此最终用户的需求不尽相同。

业务策略不断变化。表现为资费政策的不断变化。

Thinker-BC2000多媒体网综合业务管理系统的数据仓库系统模型如下图所示:

数据仓库的实施是一个相当复杂的过程,主要包括五个部分的内容:数据仓库的设计建模、数据转换与集成、数据存储与管理、数据的分析和展现和数据仓库的维护和管理。

Sybase提供了覆盖整个数据仓库建立周期的一套完整的产品包:Warehouse Studio,它包括数据仓库的建模、数据集成和转换、数据存储和管理、元数据管理和数据可视化分析等产品。以下说明了我们是如何结合Sybase的产品来做数据仓库的设计与开发。

数据仓库的设计工作对于决策支持系统起着至关重要的作用,它需要根据决策需求确定主题,从数据源到数据提交,对数据仓库的数据组织进行逻辑结构的设计,还要按照业务用户最能理解的方式组织和提供信息。

在这个阶段,我们使用了PowerDesigner WarehouseArchitect。WarehouseArchitect是个高度优化的数据库工具,广泛用于数据源的逆向工程、建模、数据仓库方案设计,以适应每个业务需求。通过对逻辑设计、物理设计和应用建模进行集成,WarehouseArchitect方便了数据仓库的开发和实现。

在进行数据仓库的建立时,最大的挑战之一是如何将原始业务数据转化为一致的格式,使之更好地为决策支持服务。这包括对已有数据的准确性和一致性进行检验、净化,将数据进行转化、提取、转换、装载到数据集市或数据仓库以及对其进行定期更新和管理。PowerMart作为数据抽取工具,从各种异够的数据源中抽取数据,在数据抽取过程,用户可以根据不同的抽取阶段,灵活定制各种数据抽取流程,并定时地将数据加载到数据仓库中。

PowerMart是一个集成的软件产品套件,用于建造和管理数据集市和分析应用。PowerMart交付了一个开放的可伸缩的解决方案,主要定位于数据集市完整的生命周期和分析应用开发及产品化的管理,能够支持多种平台上快速变化的大量数据作为数据来源,进行复杂的转换处理以及支持高速的数据加载。其metadata repository 能够协调并驱动一系列的核心功能,包括抽取、转换、加载和管理等。

PowerMart的图形化用户接口帮助数据仓库管理人员很容易的设计复杂的source-to-target的映射,然后可以由PowerMart强大的服务器来自动地执行,

数据仓库的存储可以选用多维数据库,也可以选用关系型数据库或其它特殊的存储方式。数据的存储要保证数据的安全性、完整性、一致性,同时还要具有复杂的分析查询的高效性。

我们选用了Sybase的数据仓库产品Adaptive Server IQ。Adaptive Server IQ是一个关系型数据库,为高性能决策支持和数据仓库的建立而进行了优化。IQ中的关键技术是纵向数据存储(通过列而不是通过行来进行)、Bit-Wise查询索引和数据压缩。

联机分析处理(OLAP)是一个分析处理技术,它从企业的数据集合中收集信息,并运用数学运算和数据处理技术,灵活、交互式地提供统计、趋势分析和预测报告。通过多种OLAP工具对数据仓库中的数据进行多维分析、汇总,形成图表或报表的形式,使决策者可以清晰、直观地看到分析结果,这正是数据仓库系统所要达到的目的。

数据仓库的开发应用主要有结构设计、数据集中组织和管理、数据的快速高效访问等。其中数据的访问一般都是由较为成熟的业务智能工具完成,因此不同于OLTP系统,数据仓库系统的前端开发编程量是比较小的,但是其维护工作的时间跨度要大,因为决策支持应用的随意性较强,不可能再象业务系统那样固定一个统一的操作模式。

BusinessObjects作为较早进入中国市场的业务智能提供商,其产品操作精简、功能丰富,并且有直观易懂的前端展现元数据管理部分,在这个解决方案中与IQ的高速查询效率相得益彰。

元数据是关于数据的数据,能够表示、定义数据的意义及系统各组成部件之间的关系的数据,它包括关键字、属性、数据描述、物理数据结构、源数据结构、映射及转换规则、综合算法、代码、缺省值、安全要求及数据时限等。管理好元数据是管理数据仓库的关键。

Sybase的Warehouse Control Center通过对元数据仓库的集中管理,提供了数据仓库解决方案的保证技术。从设计和开发到实现到最终用户访问,由工具和数据库产生的对元数据的密集型集成和管理保证了真正企业级数据仓库的建立。Warehouse Control Center是基于Intellidex技术的为数据仓库开发人员提供的数据仓库元数据管理工具,能够在数据仓库环境下进行数据采集、捕捉、存储、管理和发布逻辑的、物理的以及上下文相关的信息,而不用去管它的物理存储位置是在联合数据仓库上、分布式数据仓库上还是二者兼有。业务用户可以浏览根据其需求而生成的元数据对象,甚至可以使用发布和登记性能请求或选择附加性能。

数据仓库服务器:

运行Sybase IQ。 数据迁移服务器:

IBM Netfinity7600 intel PIII550/ 4 cpu/1G ram/ 36.4 G hd NT4

运行PowerMart Server 管理Web服务器两台:

IBM Netfinity7600 intel PIII550/ 4 cpu/1G ram/ 36.4 G hd NT4

分别运行BO Web Intelligence和Warehouse Control Center Server。 存储网络:

数据仓库与决策支持系统对在线事务处理应用和在线统计分析应用进行有效地隔离。保证了业务管理系统在线事物处理的安全、稳定、可靠、高效地运行,也确保了决策支持系统能够快速及时地获取统计数据。 省中心和地市业务管理人员能够每月按照要求生成预先定义好的标准统计报表。业务分析人员通过非常简单易用的图形界面,能够快速准确地进行语义层查询并把所需的业务数据、信息和分析结果以丰富的形式快速地展现出来,为领导的决策提供准确的依据。 提供数据挖掘功能,挖掘出潜在的影响业务发展的因素。

为客户管理系统提供服务,为客户提供快速的账单及各种服务清单查询。并提供挖掘大客户的手段。

我们已经在广东视聆通和福建163网上,使用Sybase的数据仓库解决方案,成功实施了数据仓库系统,并且基于BO(Business Object)开发了统计分析报表系统。

目前,正在建设广东省新一代的多媒体网综合业务管理系统,其中包括新版本的数据仓库系统。而这个数据仓库系统也是采用Sybase的数据仓库解决方案。

⬓ 数据库高可用方案 ⬓

1. 设计(或研究)的依据与意义

1基本概念

时态数据库中的一些基本概念主要涉及时态信息模型、时间粒度、有效时间和事务时间等。

1.1时态信息模型

随时间变化的信息称为时态信息(Temporal Information)。在自然界中,时间是每时每刻都存在、连续发生且一去不复的,它在时间轴上是连续存在的。

1.2时间粒度

由于计算机的数字化特点,不可能将时间存贮为一个连续的实体,而必须用离散形式来表示。时间粒度是对离散化程序的度量,当以固定时间粒度对实体状态采样时,粒度越小表示越精确,但同时所占用的内存就越大。

1.3有效时间和事务时间

有效时间和事务时间是时态建模中最重要的两个概念。有效时间(Valid Time)是指一个对像(事件)在现实世界中发生并保持的那段时间,或者该对象在现实世界中为真的时间。由定义可知,有效时间表示了事物的有效性,即事物在现实世界中存在或发生的时间。

2时态数据库分类

按时态信息的表示的方式,可以将数据库分为4个类型:快照数据库(Snapshot Database)、回滚数据库(Rollback Database)、历史数据库(Historical Database),双时态数据库(Temporal Database)。

2.1快照数据库

快照数据库(Snapshot Database)顾名思义就是指在特定时刻的瞬间快照来建立模型,考虑现实世界。快照数据库只反应了某一瞬间的情况。所有的传统数据库都属于这一类。之所以把这类数据库归结为时态数据库,主要是因为它支持用户自定义时间。用户自定义时间是指用户根据自己的需求或理解定义的时间。

2.2回滚数据库

回滚数据库(Rollback Database)只支持事务时间。它保存过去的每一次事务操作的历史,即状态演变之前的状态。

2.3历史数据库

历史数据库只支持有效时间。在历史数据库当中,每一个关系记录了一个“历史”状态,它建模了现实世界中事物在有效时间点或现实世界状态的变化历程。

2.4双时态数据库

回滚数据库和历史数据库各具有优点,但又具有一些缺点。把两者的优点结合起来就能避免它们的缺陷。设计一种数据库使它既支持事务时间又支持有效时间,这就是双时态数据库(Bitemporal Database)。

基于时态信息的高校人事管理系统的意义

高校人事管理是高校不断发展强大不可缺少的一部分,它的内容对于高校的决策者和管理者来说都是至关重要的`,因此,基于时态的高校人事管理系统不仅能为管理者以及职工提供快捷的查询时段,同时也要不职工的历史信息进行合理的分类,让职工明白自己以前做了什么,现在应该做什么,未来还可以做什么。但一直以来高校使用的都是传统数据库的管理方式,这种管理方式存在着许多缺点,诸如重要历史信息丢失或者不全等问题,而且时间一长,将产生大量的信息不全,这对于查找、决策和维护都带来了不少的困难。

近年来随着人事信息的不断增加和复杂,职工的不断增加和高校规模的扩大,职工的管理以及科研考核的管理成了高校人事信息管理的难题。具体问题有:

(1)职工的科研问题,无法对重要历史科研信息查看,职工不能清楚自己历史做了什么科研,不能在历史的基础上进一步完善。

(2)对职工的考核制度不能进一步完善,由于以往的信息无法再现,致使参考度大打折扣。

2. 时态数据库的发展与应用简介

时态数据库的研究主要分为三个阶段:开创与形成阶段、理论与模型探索阶段、应用与发展阶段。

1.开创与形成阶段

时态数据库的研究的萌芽始于上世纪七十年代。1970年,G.Wiederhold和J.F.Friies研制的医疗信息系统在处理时态信息方便作了最早的尝试。Kahn Ketal于1977年在Artiicial Intelligence上发表的《Machanizing Temporal Knowledge》是这一领域中较早的基础研究工作。

这一时期的标志性成果是:加州大学洛杉机分校J.Ben Zvi和纽约大学的J.Clifford在1983年的博士论文。J.Ben Zvi的主要贡献包括:提出时态数据库模型,以时间区间作字段值,提出了非1NF(N1NF)的Temporal Database(时态数据库,以下皆简称TDB)突破了数据库字段值 只能是一个数或串的局限,引入后来被称为双时态(Bitemporal)的概念。这些概念和思想一直沿用至今。J.Clifford主要贡献是对历史数据库模型做出开创性的工作,提出了HRDM(Historical Relational Data Model)模型。[1] [6] [7][9]

2.理论与模型探索阶段

八十年代,存储技术的飞跃发展刺激了时态信息管理系统研究的第二个热潮。1982年以后,TDB的研究开始走向繁荣时期。1983到1994年十年间,计算机学术界对时态数据库给予了极大的关注,发表了数以千计的论文。这一时期的主要特点是提出了许多时态数据库模型和方法,但是原型多,应用少。主要标志性成果是A.Tansel,J.Clifford,S.Gadia,S.Jajodia,A.Segev和R.T.Sanodgrass在1993年共同编辑出版的《Temporal Database:Theory,Design and Implementation》。该书对此前国际时态数据库技术的研究给出了全面的总结,列出13种最有影响的时态数据库模型,包括了前面提到的J.Ben Zvi 和J.Clifford的模型。[1][7][9]

3.应用与发展阶段

经过上世纪八十年代的“百花齐放”,1993年A.Tansel等人发表的《Temporal Database:Theory,Design and Implementation》为此划上一个“句号”,学术界的观点和认识趋向统一。时态模型没有新的突破,基本上是采用扩充SQL模型。这一时期的两个目标是如何将时态数据模型“标准化”、“产品化”和时态信息的应用,而广泛应用和实践则是这个时期的重要特征。

4.时态数据库应用现状

目前,时态信息技术仍处于应用与发展阶段,研究的核心仍然是时态数据模型和时态推理。当前,时态数据模型的研究朝着统一化、标准化方向发展,时态数据库查询语言朝着“产品化”方向发展。但这一方面的工作仍然非常的艰巨,时态信息产品化工作仍大有可为。

时态信息应用主要领域在:地理信息系统、农业信息系统、电信信息系统、电子政务、电子商务、智能决策支持系统、数据仓库与数据挖掘等,特别是时空(Spatio-temporal)信息技术和多媒体信息系统方面,时态信息处理技术得到空前的重视和应用。但是,由于还没有成熟的时态模型和软件产品,大部分与时态相关的应用只是借鉴当前一些时态数据模型,在传统关系数据上实现时态管理和时态操作

参考文献:

[1]汤庸。时态数据库导论。北京大学出版社,2004年

[2]何新贵,唐常杰,李霖等。特种数据库技术。科学出版社,2000年:1~35

[3]罗鸿,王忠民。ERP 原理、设计、实施。电子工业出版社,2002年,4:91~95

[4]杜洋。ERP中销售管理系统分析及销售预测研究。辽宁科技大学硕士论文,2007。

[5] Andress Steiner. A Generalisation Approch to Temporal Data Models and their Implementations. Ph.D dissertation. 1998:53~79

[6]唐常杰,吴子华。时态数据库研究的过去、现状和发展方向。计算机应用,1993,第1期:1~3

[7]汤庸,汤娜,叶小平。时态信息处理技术研究综述。中山大学学报(自然科学版), 2003,42(4):6~8

[8] Huigang Liang,Yajiong Xue,William R. Boulton,Terry Anthony Byrd. Why Western vendors don't dominate China's ERP market. ACM Press, USA, 2004:69~72

[9]唐常杰。时态数据库的沿革、特色与代表人物—时态数据库二十年回顾之一。计算机科学,1999,26(2):27~29

[10]王晟.Visual C#.NET数据库开发经典案例解析.北京:清华大学出版社,2005 [11]邱锦伦,曹旻.Visual C#.NET程序设计教程.北京:清华大学出版社,2006

⬓ 数据库高可用方案 ⬓

昨天,系统管理员告诉我,我们一个内部应用数据库所在的磁盘空间不足了。我注意到数据库事件日志文件XXX_Data.ldf文件已经增长到了3GB,于是我决意缩小这个日志文件。经过收缩数据库等操作未果后,我犯了一个自进入行业以来的最大最愚蠢的错误:竟然误删除了这个日志文件!后来我看到所有论及数据库恢复的文章上都说道:“无论如何都要保证数据库日志文件存在,它至关重要”,甚至微软甚至有一篇KB文章讲如何只靠日志文件恢复数据库的。我真是不知道我那时候是怎么想的?!

这下子坏了!这个数据库连不上了,企业管理器在它的旁边写着“(置疑)”。而且最要命的,这个数据库从来没有备份了。我唯一找得到的是迁移半年前的另外一个数据库服务器,应用倒是能用了,但是少了许多记录、表和存储过程。真希望这只是一场噩梦!

_Rambo讲过被删除日志文件中不存在活动日志时,可以这么做来恢复:

2,附加数据库,可以使用sp_attach_single_file_db

但是,很遗憾,执行之后,SQL Server质疑数据文件和日志文件不符,所以无法附加数据库数据文件。

不行,无法读取XXX数据库,DTS Wizard报告说“初始化上下文发生错误”。

怡红公子讲过没有日志用于恢复时,可以这么做:

6,如果没有什么大问题就可以把数据库状态改回去了,记得别忘了把系统表的修改选项关掉

我实践了一下,把应用数据库的数据文件移走,重新建立一个同名的数据库XXX,然后停掉SQL服务,把原来的数据文件再覆盖回来。之后,按照怡红公子的步骤走。

但是,也很遗憾,除了第2步之外,其他步骤执行非常成功。可惜,重启SQL Server之后,这个应用数据库仍然是置疑!

不过,让我欣慰的是,这么做之后,倒是能够Select数据了,让我大出一口气。只不过,组件使用数据库时,报告说:“发生错误:-2147467259,未能在数据库 'XXX' 中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式。”

停掉SQL Server服务;

把应用数据库的数据文件XXX_Data.mdf移走;

重新建立一个同名的数据库XXX;

停掉SQL服务;

把原来的数据文件再覆盖回来;

运行以下语句,把该数据库设置为紧急模式;

Go”

执行结果:

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

已将配置选项 'allow updates' 从 0 改为 1。请运行 RECONFIGURE 语句以安装。

接着运行“update sysdatabases set status = 32768 where name = 'XXX'”

重启SQL Server服务;

运行以下语句,把应用数据库设置为Single User模式;

运行“sp_dboption 'XXX', 'single user', 'true'”

ü         做DBCC CHECKDB;

运行“DBCC CHECKDB('XXX')”

执行结果:

'XXX' 的 DBCC 结果。

'sysobjects' 的 DBCC 结果。

对象 'sysobjects' 有 273 行,这些行位于 5 页中。

'sysindexes' 的 DBCC 结果。

对象 'sysindexes' 有 202 行,这些行位于 7 页中。

'syscolumns' 的 DBCC 结果。

………

ü         运行以下语句把系统表的修改选项关掉;

运行“sp_resetstatus “XXX”

Go”

执行结果:

在 sysdatabases 中更新数据库 'XXX' 的条目之前,模式 = 0,状态 = 28(状态 suspect_bit = 0),

没有更新 sysdatabases 中的任何行,因为已正确地重置了模式和状态。没有错误,未进行任何更改。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。已将配置选项 'allow updates' 从 1 改为 0。请运行 RECONFIGURE 语句以安装。

重新建立另外一个数据库XXX.Lost;

运行DTS导出向导;

复制源选择EmergencyMode的数据库XXX,导入到XXX.Lost;

选择“在SQL Server数据库之间复制对象和数据”,试了多次,好像不行,只是复制过来了所有表结构,但是没有数据,也没有视图和存储过程,而且DTS向导最后报告复制失败;

所以最后选择“从源数据库复制表和视图”,但是后来发现,这样总是只能复制一部分表记录;

于是选择“用一条查询指定要传输的数据”,缺哪个表记录,就导哪个;

⬓ 数据库高可用方案 ⬓

简历编号:更新日期:
姓 名:国籍:
目前所在地:天津民族:汉族
户口所在地:天津身材:185 cm?65 kg
婚姻状况:未婚年龄:22 岁
培训认证:诚信徽章:
求职意向及工作经历
人才类型:应届毕业生?
应聘职位:数据库管理员:数据处理与分析、计算机类、市场调研/业务分析专员:
工作年限:0职称:无职称
求职类型:全职可到职日期:三个月以后
月薪要求:1500--希望工作地区:天津 深圳
个人工作经历:
公司名称:中国银行起止年月:-07 ~ 2009-09
公司性质:国有企业所属行业:金融,保险
担任职务:办公室电脑部实习生
工作描述:负责软硬件维护和档案核对、整理。
离职原因:
公司名称:广东南方海岸科技服务有限公司起止年月:-07 ~ 2007-08
公司性质:民营企业所属行业:电器,电子,通信设备
担任职务:办公室助理和技术助理
工作描述:负责整理文档、文件打印传真、到码头船上安装卫星定位仪器。
离职原因:
教育背景
毕业院校:华南师范大学
最高学历:本科获得学位: 本科学士学位毕业日期:-07-01
所学专业一:信息与计算科学所学专业二:
受教育培训经历:
起始年月终止年月学校(机构)专 业获得证书证书编号
-092010-07华南师范大学信息与计算科学**
语言能力
外语:英语 优秀
国语水平:精通粤语水平:精通
工作能力及其他专长
我性格热情随和,具有进取精神和团队精神,积极参与各种社会实践活动,曾担任校区广播台干事,并荣获“优秀技术人员”称号;担任班里文体委员,多次组织策划集体活动,像春游、秋游,女生节活动,和体育活动等;在广东南方海岸科技服务有限公司实习,担任办公室助理和户外技术助理;在7月到9月在中国银行海珠支行实习,负责软硬件维护和档案核对、整理。这些实践经历,锻炼了我的交际能力和组织能力,为我走向社会打下了坚实的'基础。

此外,我热爱体育活动,是专业足球队、篮球队的主力,并在205月担任系足球队队长参加校区七人足球赛,最终获得校区足球赛第四名的成绩。我觉得,体育不但可以强身健体,还可以在运动中培养一个人的团队精神。我喜欢英语,有不错的英语能力,并通过了大学英语六级考试。在暑假和父母一起到澳洲自由行。衣食住行都需要用英语交流,这证明了我扎实的英语基础。我为人诚实信用,曾在悉尼机场坐的士的时候,发现一台可能是之前乘客落下的高级相机,最后交给了的士司机,要求他通知总台并交还失主。

详细个人自传
个人联系方式
通讯地址:
联系电话:家庭电话:
手 机:QQ号码:
电子邮件:个人主页:

⬓ 数据库高可用方案 ⬓

转眼间在从大一踏进学校的校门到现在刚刚好一年了,在这一年中,数据库也如影随形。

在这一年中我主要学习的数据库是sql server,在学习的时候过程中,我们首先是从基础开始,比如数据类型、运算符号、关键字等等,然后上升到一些增删改查,还有触发、存储过程等的使用等等。

经过了一学期的`学习,我从起初对数据库的认识模糊到后来清晰,深入,我认为我学到了许许多多的东西。当然,在学习中,薛立柱会给我们在网上下很多的学习资料,同时他也会建议我们多读读网上的学习资料。除了这个以外,我在学习数据库课程过程中,接触到的软件工程思想,网上学习经验,以及利用网络的学习资源都很好的改善了我的学习。后来,在学习的深入中,虽然学习有时是十分叫人感到枯燥乏味的,但我庆幸的是我坚持了下来,在最后的考试复习中,薛立柱老师虽然劝诫我学习不要因为考试而停止。是啊!要想学好一门功课我们需要的是持之以恒的精神。

数据库编程,这个是作为一个程序员的基本功,绝大多数软件开发公司数据库编程都是由程序员自己完成的,因为他的工作量不是很大,也不是很复杂。所以作为一个综合的程序员,学习数据库编程,像数据库四大操作,增删改查,还有触发、存储过程等的使用,这些都是基础的基础。很多时候我们会认为数据库没什么作用,学习的时候吊儿郎当,到今年做项目时,还不会连接查询,要想避免这种情况发生就必须打好基础,扎实的掌握每个知识点。

只要你从事计算机行业,就需要学习好数据库的基础知识,不论以后选择哪个方向,数据库的学习都不能放松。古人云:书到用时方恨少,知识学多了不会成为累赘,慢慢的积累,总有用到的时候。给自己明确一个目标,剩下的就是向着这个目标努力,无论遇到什么困难,克服它就向成功迈进了一步。

⬓ 数据库高可用方案 ⬓

1.以 Administrator 身份登录到 Windows NT.

您需要 Administrator 权限来创建、启动和停止服务,

2.打开命令提示符。

3.使用 dbsvc 实用程序创建服务,限制如下:

必须使用 -a 开关来指定 sybase 帐户,使用 -p 开关来指定它的口令。

不能使用 -as 或 -i 开关。

对于个人数据库服务器,可执行文件的名称应当是:

C:Program FilesSybaseSQL Anywhere 9win32dbeng9.exe

对于数据库服务器则是:

C:Program FilesSybaseSQL Anywhere 9win32dbsrv9.exe

您必须使用下列引擎参数:

4.输入要运行的任何数据库文件的完整路径。

该路径应当采取 数据库文件夹 文件名 .db 格式,其中数据库文件夹是 C2 数据库文件夹,其中包括所有其它相关参数。

例如,下列命令行可创建名为 asa_svc 的手工启动的服务,并且引用网络服务器,

它在 sybase 帐户下运行,其口令为sybase_password.它执行下列命令:

⬓ 数据库高可用方案 ⬓

下载先决的软件和配置环境

1、由于安装过程太过于冗长,所以就不把它放在实验的这个部分,而是把它放在本文档后面的附件1中,当你下载安装完软件、配置好系统后,请回到下面这个步骤。

2、为了检查您的开发环境,我们首先来完成一个完整的例子。这将让您对的一些特征有个快速的了解。一旦您完成这个阶段,您就可以:

l       解释DataWindow和DataWindowInterop引用是什么

l       运行一个DataWindow销售订单的示例系统。

3、找到目录“C:\TempSI aleOrder”,并双击用于演示的SaleOrder解决方案文件。这将打开Visiual Studio和先前用Visual 创建的SaleOrder解决方案。

4、选择 视图\解决方案资源管理器 打开项目的解决方案窗口,展开折叠的参考,您就可以看到如下图所示的那样:

5、注意DataWindow和DataWindowInterop引用:这是在您的.Net解决方案需要的“DataWindow”的特定功能时的库,

选择其中任何一个,右键单击查看属性,您可以发现他们是安装在Sybase目录中。

6、右键单击DataWindow引用,选择对象浏览器。您可以看到类似下图的一些东西?这就是DataWindow命名空间中的对象。

7、从生成菜单,选择生成解决方案。您应该能正确编译该解决方案,否则,请您重新看看附件1,并检查您的配置是否正确。

8、运行程序,你可以看到如下所示那样。使用‘Add Items’按扭,尝试添加几条定单信息。为每条定单填写包括数量在内的各个输入域。点击‘Update’按钮创建一个新的定单。

9、假如您已经填写了如上所示所有的域,那么你会看到一个成功的消息提示告诉你新的定单已经创建。假如你在运行的时候出现异常,那么最大的可能就是您没有填写某个域。因为这只是一个最简单的、最基础的例子,并没有添加完整的错误处理代码在里面。

10、现在就会在数据库中有条定单数据,你可以查找它。按‘Query’按扭,窗体将清除以便你可以输入你刚刚创建的定单号。点击‘Retrieve’,就会返回2655#定单的详细信息了。

你可以看到定单的细节信息了。

11、花点时间查看一下本项目中这两个窗体的代码。

12、恭喜!您已经成功测试了您的开发环境。

⬓ 数据库高可用方案 ⬓

一.存储优化

n  物化视图——物化视图是包括一个查询结果的数据库对象(可由系统定期刷新其中的数据),物化视图不是在使用时才读取,而是预先计算并保存表连接或聚集等耗时较多的操作结果,这样在查询时大大提高读取速度,特别适用于多个数据量较大的表进行连接操作及分布式数据库中需要进行分布在多个站点的表进行连接操作时使用。

物化视图可以进行远程数据的本地复制,此时物化视图的存储也可以成为快照。主要用于实施数据库间的同步。

物化视图对于数据库客户端的使用者来说如同一个实际表,具有和表相同的一般select操作,而其实际上是一个视图,一个定期刷新的数据视图。物化视图的刷新可采用自动刷新和人工刷新两种方式,具体刷新方式和刷新时间在定义物化视图的时候可以定义。使用物化视图可以实现视图的所有功能,因物化视图不是在使用时才读取,而大大提高了读取速度,特别使用抽取大量数据表中某些信息以及分布式环境中跨节点进行多表数据连接的场合。

n  聚集

二、查询优化

在数据库运行初期,数据库对SQL语句各种写法的性能优劣还不敏感,但是随着数据库正式使用,数据库中的数据不断增加,劣质SQL语句和好的SQL语句之间的速度差异就逐渐显示出来。

n  合理使用索引

n  避免和简化排序:通常在运行order by和group by 的SQL语句值,会涉及到排序操作,应当简化成避免对大型表进行重复排序,因为磁盘排序的开销是很大的。与内存排序相比,磁盘排序操作很慢,从而会花费很长时间,降低数据库性能,而且磁盘排序会消耗临时表空间中的资源。

当能够利用索引自动以适当的次序产生输出时,优化器就可以避免不必要的排序步骤,以下是一些影响因素(group by或order by 子句中列的次序与索引的`次序不一样;(3)排序的列来源于不同的表。

为了避免不必要的排序,就要正确建立索引,合理地合并数据表(尽管有时可能影响表的规范化,但相对于效率的提高是值得的)。如果排序不可避免,那么应当试图简化它,如缩小排序的范围等。

n  消除对大型表数据的顺序存取:嵌套查询中,对表的顺序存取对查询效率可能产生致命的影响。避免这种情况的主要方法就是对连接的列进行索引。还可以使用并集来避免顺序存取,尽管在所有的检查列上都有索引,但某些形式的where子句强迫优化器使用顺序存取。

n  避免复杂的正则表达式——在使用正则表达式进行条件查询时可能消耗较多的CPU资源进行字符匹配工作。

n  使用临时表加速查询——把表的一个子集进行排序并创建临时表,有时候能加速查询。它有助于多重排序操作,且在其他方面还能简化优化器的工作。临时表中行比主表中的行要少,而且顺序就是所要的顺序,减少了磁盘的I/O操作,所以查询工作量可以得到大幅减少。

n  用排序来取代顺序磁盘存取

n  不充分的连接条件——左(右)连接消耗的资源非常之多,因为它们包含于null数据匹配。比内连接消耗更多的资源。

n  存储过程——平时每次向数据库发送SQL脚本,都需要先编译后执行。

n  不要随意使用游标

n  事务处理

SQL server性能工具

一、SQL SERVERprofiler——监视SQL server 事件的工具,监视结果保存在跟踪文件中。

⬓ 数据库高可用方案 ⬓

数据库技术主要研究如何存储、使用和管理数据,是计算机技术中发展最快、应用最广的技术之一。作为计算机软件的一个重要分支,数据库技术一直是倍受信息技术界关注的一个重点。尤其是在信息技术高速发展的今天,数据库技术的应用可以说是深入到了各个领域。当前,数据库技术已成为现代计算机信息系统和应用系统开发的核心技术,数据库已成为计算机信息系统和应用系统的组成核心,更是未来信息高速公路的支撑技术之一。因此,为了更好的认识和掌握数据库技术的现状及发展趋势,本文对有关数据库发展的文献进行了收集整理,以求在对现有相关理论了解、分析的基础上,对数据库发展进行综合论述,对数据库技术发展的总体态势有比较全面的认识,从而推动数据库技术研究理论的进一步发展。

⬓ 数据库高可用方案 ⬓

本文章来给Linux配置MySQL数据库过程与命令,希望此文章对各位同学有所帮助哦,

Linux系统下如何配置安装MySQL数据库,下面所用的distribution是Centos5.8。

1. yum安装 yum install mysql* 为了确保过程不出问题,我们用mysql*把相关的都装上

2. Linux系统有个好处就是它可以自动为我们装好mysql不像windows里要自己手动配置;上面装完后有如下提示:

Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with

查看cat /etc/hosts 发现什么文件也没有,编辑内容相关配置,

vim /etc/hosts 输入以下内容:127.0.0.1localhost.localdomain localhost

4. 重新启动后可以正常运行了,然后修改初始密码。刚装完是没有密码的,我们可以直接输入mysql登陆:

5. 测试正常运行后,我们退出来修改初始密码,改完后再直接输入mysql测试下:

6. 使用新设置的密码123456可以正常登陆:

以上就是Linux系统下配置安装MySQL的一些简单的步骤!

文章来源:https://www.hc179.com/hetongfanben/176408.html

网站地图最新更新文章地图

Copyright©2006-2025 一起合同网 hc179.com 湘ICP备18025499号-6

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果网站转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。