数据库体系结构
三类数据库系统体系结构:
(1) 集中式:DBMS和应用程序都存放在一台计算机上;
(2) 主从式(客户机/服务器):DBMS存放在服务器上,应用程序存放在客户机上;
(3) 分布式:数据库在物理上分布在不同的场地,而逻辑上属于一个整体。
(4)
(5) 对于分布式数据库,分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上的数据库数据模型。
(6) 分布透明性和归入物理独立性的范围,包括三个层次:
(7) 分片透明性:最高层次的分布透明性,用户或应用程序只对全局关系进行操作,不必考虑数据分片;
(8) 位置透明性:用户或应用程序应当了解分片情况,但不必了解片段的存储场地;
(9) 局部数据模型透明性:用户或应用程序要了解分片及各片段存储的场地,但不必了解局部场地上使用的是何种数据模型。
(10) 分布式数据库
(11) 【概念】逻辑统一,物理分布;
分布式数据库必须保证数据库全局数据一致性,并发操作可串行性,和故障的全局性;
【特点】
(1)数据独立性与位置透明性;
(2)集中和节点自治相结合;
(3)支持全局数据库的一致性和可恢复性;
(4)复制透明性;
(5)易于扩展性;
【优点】
(1)具有灵活的体系结构;
(2)适应分布式的管理和控制机构;
(3)经济性好;
(4)系统可靠性高、可用性好;
(5)易于扩展好,易于集成现有系统。
(6)局部应用响应速度快。如果存取的数据在本地数据库中,那末就可以由用户所在的计算机来执行,速度就快。
【缺点】
(1)系统开销大、主要花在通信部分,故障率高;
(2)存取结构复杂;一般来说,在分布时数据库中存取数据,比在集中时数据库中存取数据更复杂,开销更大。
(3)数据的安全性和保密性较难控制。在具有高度场地自治的分布时数据库中,不同场地的局部数据库管理员可以采用不同的安全措施,但是无法保证全局数据都是安全的。安全性问题式分布式系统固有的问题。因为分布式系统式通过通信网络来实现分布控制的,而通信网络本身却在保护数据的安全性和保密性方面存在弱点,数据很容易被窃取。
【保证数据一致性的方法】
数据副本的一致性、保证分布式事务的ACID属性、故障恢复的一致性;
【数据库复制】
向分布式环境中各个数据库节点提供数据复制,保持数据的一致性或者控制与维护冗余数据。分为同步、异步方式,体系结构有主从(一个主点、多个复制点)、对等、分布式(多个主点,一个复制点)等。
同步复制,复制数据在任何时间在任何复制节点均保持一致。如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点。这种技术适用于那些对于实时性要求较高的商业应用中。
异步复制,所有复制节点的数据在一定时间内是不同步的。如果复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有复制节点。这些不同的事务间可以间隔几秒,几分种,几小时,也可以是几天之后。复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。
Oracle的数据库复制机制:
【故障与恢复】
事务故障:主要靠日志来实现;2PC协议,协调者,参与者,提交过程分为表决和执行阶段;
系统故障:
介质故障:
【数据库服务器建设】采用多机集群Cluster,存储采用全冗余SAN结构(HBA卡--光纤存储卡,用于服务器与光纤阵列规的连接。建立光纤通道---高性能的连接标准,用于服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通讯。)