您当前的位置:首页 > 互联网教程

什么叫分布式数据库

发布时间:2025-05-23 09:11:00    发布人:远客网络

什么叫分布式数据库

一、什么叫分布式数据库

关系型和非关系型数据库的主要差异是数据存储的方式。关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。

与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。

SQL和NoSQL数据库最大的差别可能是在扩展方式上,要支持日益增长的需求当然要扩展。

要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。

因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来客服。虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。而NoSQL数据库是横向扩展的。

而非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。

如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。

虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较,所以它们真正闪亮的价值是在操作的扩展性和大数据量处理方面。

二、数据库的文档一般有哪两种类型

数据库的文档一般有顺排文档、倒排文档两种类型。

一般地说,一个数据库至少包括一个顺排文档和一个倒排文档。顺排文档是以文献记录作为信息存储单元,按文献记录入藏的存取号从小到大顺序排列而形成的目录式文档,由于它存储有关于每篇文献的最完整信息,所以通常又把它称为主文档,相当于印刷型检索工具的正文部分。

倒排文档就是把记录中一切可检字段或属性值抽出,按某种顺序重新加以组织后所得到的一种文档。倒排档从主文档中派生出来,所以,又叫做辅助文档。在倒排文档中,记录的特征标识作为排列依据,其后列出含有此标识的记录号,使用倒排文档可以大大提高检索的效率。

任何有权限的用户可以同时存储、提取数据数据库中的内容。

面向用户的应用程序与数据结构互相独立、互不影响,这种独立性包含数据逻辑独立性和数据物理独立性。

数据库被集中在一个服务器中,通过统一的文件系统,可实现有组织的数据控制。

分布式的数据文件,统一存储在一个系统中,方便研发人员维护。

数据的安全性更多地体现在,数据库配置管理员的权限分配上。

数据被存储到一个“仓库”中,任何一个用户提取里面的内容,获得的数据都将是一致的。

三、数据库系统工程师考什么

1、掌握计算机体系结构以及各主要部件的性能和基本工作原理;

2、掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;

3、熟练掌握常用数据结构和常用算法;

4、熟悉软件工程和软件开发项目管理的基础知识;

5、熟悉计算机网络的原理和技术;

6、掌握数据库原理及基本理论;

7、掌握常用的大型数据库管理系统的应用技术;

8、掌握数据库应用系统的设计方法和开发过程;

9、熟悉数据库系统的管理和维护方法,了解相关的安全技术;

10、了解数据库发展趋势与新技术;

11、掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;

12、了解信息化、计算机应用的基础知识;

13、正确阅读和理解计算机领域的英文资料。

(1)信息系统知识,考试时间为150分钟,笔试;

(2)数据库系统设计与管理,考试时间为150分钟,笔试。

1.1.1计算机体系结构和主要部件的基本工作原理

CPU和存储器的组成、性能、基本工作原理

常用I/O设备、通信设备的性能,以及基本工作原理

ISC/RISC,流水线操作,多处理机,并行处理

虚拟存储器基本工作原理,多级存储体系

1.1.3安全性、可靠性与系统性能评测基础知识

线性表、链表(单向链表、双向链表、循环链表)

树(二叉树、查找树、平衡树、遍历树、堆)、图、集合的定义、存储和操作

Hash(存储位置计算、碰撞处理)

排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法

算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表),算法的复杂性

操作系统的类型、特征、地位、内核(中断控制)、进程、线程概念

处理机管理(状态转换、同步与互斥、信号灯、分时轮转、抢占、死锁)

存储管理(主存保护、动态连接分配、分段、分页、虚存)

设备管理(I/O控制、假脱机、磁盘调度)

文件管理(文件目录、文件的结构和组织、存取方法、存取控制、恢复处理、共享和安全)

作业管理(作业调度、作业控制语言(JCL)、多道程序设计)

汉字处理,多媒体处理,人机界面

网络操作系统和嵌入式操作系统基础知识

1.3.2程序设计语言和语言处理程序的知识

汇编、编译、解释系统的基础知识和基本工作原理

程序设计语言的基本成分:数据、运算、控制和传输,程序调用的实现机制

各类程序设计语言的主要特点和适用情况

网络体系结构(网络拓扑、OSI/RM、基本的网络协议)

传输介质,传输技术,传输方法,传输控制

Client/Server结构、Browser/Server结构、Browser/Web/Datebase结构

LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接

数据库系统的三级模式(概念模式、外模式、内模式),两级映像(概念模式/外模式、外模式/内模式)

数据库模型:数据模型的组成要素,概念数据模型ER图(实体、属性、关系),逻辑数据模型(关系模型、层s次模型、网络模型)

2.1.2数据库管理系统的功能和特征

主要功能(数据库定义、数据库操作、数据库控制、事务管理、用户视图)

特征(确保数据独立性、数据库存取、同时执行过程、排它控制、故障恢复、安全性、完整性)

RDB(关系数据库),OODB(面向对象数据库),ORDB(对象关系数据库),NDB(网状数据库)

关系代数运算(并、交、差、笛卡儿积、选择、投影、连接、除)

2.2.2关系数据库标准语言(SQL)

用SQL进行数据定义(表、视图、索引、约束)

用SQL进行数据操作(数据检索、数据插入/删除/更新、触发控制)

数据库备份与恢复技术(UNDO、REDO)

·规范化(第一范式、第二范式、第三范式、BC范式、第四范式、第五范式)

嵌套关系、复杂类型,继承与引用类型

2.5数据挖掘和数据仓库基础知识

简单图形的绘制,图像文件的处理方法

性能计算(响应时间、吞吐量、周转时间)

信息管理、数据处理、辅助设计、科学计算,人工智能等基础知识

远程通信服务及相关通信协议基础知识

3.1软件工程、软件过程改进和软件开发项目管理知识

软件开发生命周期阶段目标和任务

软件开发项目基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具

主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)

软件开发过程评估、软件能力成熟度评估的基础知识

结构化分析方法(数据流图(DFD)和数据字典(DD),实体关系图(ERD),描述加工处理的结构化语言)

结构化设计方法和工具(系统流程图、HIPO图、控制流程图)

系统总体结构设计(总体布局,设计原则,模块结构设计,数据存取设计,系统配置方案)

系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)

结构化程序设计、面向对象程序设计、可视化程序设计

程序设计语言的选择、程序设计风格

系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)

测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试试用例设计、系统测试报告)

安全性基本概念(网络安全、操作系统安全、数据库安全)

计算机病毒的防治,计算机犯罪的防范,容灾

访问控制、防闯入、安全管理措施

风险分析、风险类型、抗风险措施和内部控制

标准化意识,标准化的发展,标准出台过程

国际标准、国家标准、行业标准、企业标准基本知识

代码标准、文件格式标准、安全标准软件开发规范和文档标准

全球信息化趋势、国家信息化战略、企业信息化战略和策略

远程教育、电子商务、电子政务等基础知识

能正确阅读和理解计算机领域的英文资料

考试科目2:数据库系统设计与管理

新系统中的数据项、数据字典、数据流

选择开发方法,准备开发环境,制订开发计划

选择系统机构,设计各子系统的功能和接口,设计安全性策略、需求和实现方法,制定详细的工作流和数据流

逻辑结构设计(转换成DBMS所能接收的数据模型)

·编写系统说明书(系统配置图、各子系统关系图、系统流程图,系统功能说明、输入输出规格说明、数据规格说明、用户手册框架)

信息系统的架构(如Client/Server)与DBMS

多用户数据库环境(文件服务器体系结构、Client/Server体系结构)

大规模数据库和并行计算机体系结构(SMP、MPP)

按构件分解,确定构件功能规格以及构件之间的接口

屏幕界面设计,设计输入输出检查方法和检查信息

数据库交互与连接(掌握C程序设计语言,以及Java、Visual Basic、Visual C++、PowerBuilder、Delphi中任一种开发工具与数据库互连的方法(如何与数据库服务器沟通))

分析事务在数据库上运行的频率和性能要求,确定逻辑数据组织方式、存储介质,设计索引结构和处理方式

将逻辑数据结构变换成物理数据结构,计算容量(空间代价),确定存取方法(时间效率)、系统配置(维护代价)并进行优化

许可(对象许可、命令许可、授权许可的方法)

2.5.2模块划分(原则、方法、标准)

模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)

测试要求说明书(测试类型和目标,测试用例,测试方法)

系统配置说明、构件划分图、构件间的接口、构件处理说明、屏幕设计文档、报表设计文档、程序设计文档、文件设计文档、数据库设计文档

3.2常用数据库管理系统的应用(SQL Server、Oracle、Sybase、DB2、Access或Visual Foxpro)

创建表、创建索引、创建视图、创建约束、创建UDDT(用户自定义类型)

拟定系统安装计划(考虑费用、客户关系、雇员关系、后勤关系和风险等因素)

拟定人力资源使用计划(组织机构安排的合理性)

直接安装(安装新系统并使系统快速进入运行状态)

并行安装(新旧系统并行运行一段时间)

阶段安装(经过一系列的步骤和阶段使新系统各部分逐步投入运行)

拟定测试目标、计划、方法与步骤

指导应用程序员进行模块测试进行验收

确定数据库系统报警对象和报警方式

数据库系统的管理计划(执行,故障/恢复,安全性,完整性,用户培训和维护)

收集和分析报警数据(执行报警、故障报警、安全报警)

数据库维护(数据库重构、安全视图的评价和验证、文档维护)

数据库系统的运行统计(收集、分析、提出改进措施)

关于运行标准和标准改进一致性的建议

数据完整性维护和管理(实体完整性、参照完整性)

数据库物理结构的管理(保证数据不推迟访问)

备份和恢复(顺序、日志(审计痕迹)、检查点)

并发控制(可串行性、锁机制、时间戳、优化)

数据安全性管理(加密、安全、访问控制、视图、有效性确认规则)

数据库语言的使用方式(交互式和嵌入式)

创建数据库(Create Datebase)、创建表(Create Table)

修改表(Alter Table)、删除表(Drop Table)

定义索引(Create Index)、删除索引(Drop Index)

定义视图(Create View)、删除视图(Drop View)、更新视图

属性值上的约束(Null、Check、Create Domain)

权限、授权(Grant)、销权(Revoke)

5.6创建触发器(Create Trigger)

SQL与宿主语言接口(Declare、共享变量、游标、卷游标)

数据分布的策略(数据分片、分布透明性)

分布式数据库的恢复(故障、恢复、2段提交、3段提交)

分布式数据库的透明性(局部、分裂、复制、处理、并发、执行)

6.2网络环境下数据库系统的设计与实施

数据的安全级别(最重要的、重要的、注意、选择)

程序访问控制(包含在程序中的SQL命令限制)

对象结构、对象类、继承与多重继承、对象标识、对象包含、对象嵌套

8.1.4对象关系数据库系统(ORDBMS)

8.2企业资源计划(ERP)和数据库

基本MRP(制造资源计划)、闭环MRP、ERP

ERP设计的总体思路(一个中心、两类业务、三条干线)

运行数据库与ERP数据模型之间的关系

运行数据库与ERP数据库之间的关系