当前位置:首页 » 数据仓库 » 群组数据库设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

群组数据库设计

发布时间: 2023-05-05 06:31:12

‘壹’ 什么叫分布式数据库,有什么优点和缺点

1.分布式数据库是数据库的一种,是数据库技术和网络技术的结合产物。

2.各有优点和缺点.分布式数据库分为逻辑上分部物理上分布及逻辑上分布物理上集中两种。

是的,分布式数据文件便于数据库的管理维护。

‘贰’ 地质-生态环境空间数据库建库标准

一、范围

本标准定义了山东半岛城市群地质-生态环境空间数据库的数据结构框架、数据实体及实体之间的相互关系,定义了成果图件空间数据的要素集、要素类、要素分类代码及属性数据项,可用于山东半岛城市群项目数据的采集、存储、管理、共享及数据库建设。

二、规范性引用文件

下列标准所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。

GB / T 1. 1—2000 标准化工作导则 第 1 部分: 标准的结构和编写规则

GB / T 13923—92 国土基础信息数据分类代码

GB / T 2260—1999 中华人民共和国行政区划代码

GB / T 2659 世界各国和地区名称代码

GB / T 9649—88 地质矿产术语分类代码

DZ / T 0160—95 1∶ 200000 地质图地理底图编绘规范及图式

DZ / T 0197—1997 数字化地质图图层及属性文件格式

GB 958—99 区域地质图图例 ( 1∶ 50000)

DZ / T 0179—1997 地质图用色标准及用色原则

DDB 9702 GIS 图层描述数据内容标准

GB 17108—1997 海洋功能区划技术导则

中国地质调查局 地质图空间数据库建设工作指南 ( 2. 0 版)

中国地质调查局 1∶ 20 万区域水文地质图空间数据库图层及属性文件格式工作指南

三、术语和定义

本标准涉及的主要术语如下:

1. 地理信息数据库 ( geodatabase)

采用标准关系数据库技术来管理、表现地理信息的空间数据库。

2. 数据包 ( data package)

逻辑相关数据实体的集合,本标准中将山东半岛城市群项目数据整体视作一个数据包。

3. 数据实体 ( data entity)

描述专业领域同一类型数据的数据元素的集合,如地质构造数据实体,概念上等同于UML 的类。数据实体可通过一个或多个相关的数据元素及相关的数据实体定义。

4. 数据集 ( dataset)

逻辑相关数据组成的数据集合,如一幅地图可视作一个数据集,数据集是一个逻辑上的整体。

5. 数据子集 ( subdataset)

按一定规则划分的数据集中逻辑相关数据的集合,本标准中的一个数据子集对应一个地图要素类,数据子集类别对应地图上的图层划分。

6. 空间数据 ( spatial data)

用来表示空间实体的位置、形状、大小和分布特征诸方面信息的数据。空间数据不仅具有实体本身的空间位置及形态信息,而且还有实体属性和空间关系 ( 如拓扑关系)信息。

7. 空间参照系 ( spatial reference)

对地理信息数据的空间范围和投影的描述。

8. 地图 ( map)

地理信息的图形描述,包括地理信息数据和地图元素,如标题、图例和比例尺等。本标准中将一幅地图视作一个数据集进行管理,并通过一组要素集 ( 要素类、关系类、属性表的集合) 、空间参照系、地图样式定义地图的数据内容及显示方式。

9. 图层 ( layer)

地图上特定区域范围内按一定规则划分的相似要素类的集合,如水系、城镇。图层为要素类的专题组合及表现,一个图层定义了它包含地理信息数据的地理位置和显示方法。

10. 要素 ( feature)

现实世界中的对象在地图图层中的表示,如地图中表示道路的一条线。

……

四、缩略语和符号

1. 缩略语

ARD 图外整饰要素 ( Elements Around Map)

BMAP 地理底图 ( Basemap)

BOU 境界、边界 ( Bourn)

CD 代码 ( Code)

COL 综合柱状图 ( Colomnar Chart)

DT 日期 ( Date)

ELE 地形高程 ( Elevation)

……

2. UML 类图符号

山东半岛城市群地区地质-生态环境与可持续发展研究

3. ER 图符号

山东半岛城市群地区地质-生态环境与可持续发展研究

五、基于 UML 的 Geodatabase 的空间数据模型

构建地质数据的空间数据模型是建立地质信息数据库的一项关键工作,是数据库建设的基础。Geodatabase 数据模型作为 ArcGIS 软件平台的一种通用数据形式,目前已被国内外众多地质空间数据库的建设所采用。数据建模也已经成为地质数据库建立的一项主要内容。

目前针对地质、水文、矿产、海洋等多个领域的专业 Geodatabase 数据模型都已存在,国内目前应用于区域地质 - 生态环境调查的综合地质 - 生态环境空间数据模型还比较少见。因此,本项目在分析国内外目前比较通用的各专业数据模型的基础上,提出了专门面向山东半岛城市群地质 - 生态环境空间数据库建设的 Geodatabase 数据模型。

在 Geodatabase 数据模型中,允许定义要素之间类型的关联,Geodatabase 对空间数据管理以关系数据库为基础,利用商用关系数据库成熟的数据处理能力对空间数据和非空间数据进行统一管理。Geodatabase 使用面向对象的方法,使得要素可以具有自己的行为和属性,并且要素类具有继承性、多态性和封装性。这样,以更加适合自然的行为和人的思维方式去组织数据,更精确地模拟真实世界。

1. Geodatabase 数据模型的结构体系

Geodatabase 数据模型作为一种新型的面向对象的数据模型,融入了面向对象的核心技术,如类 ( Class) 、对象 ( Object) 、封装 ( Encapsulation) 、继承 ( Inheritance) 和多态( Polymorphism) 等思想和技术。Geodatabase 数据模型的目的就是为了让用户能更容易、更自然地表示 GIS 数据特征和更容易地建立特征之间的各种关系。Geodatabase 空间数据库数据模型如表 12 -1 所示。

表 12 -1 Geodatabase 内部结构

续表

2. Geodatabase 数据库模型的特点

Geodatabase 有两种,即个人与多用户 Geodatabase。

1) 个人 Geodatabase 支持内置于 ArcGIS 系统并提供对本地数据的访问,适用于面向项目的 GIS,在 Microsoft Access 数据库平台上实现,提供生成和更新 Access 数据库的服务,可处理小型或适中的 Access 数据库。但个人 Geodatabase 的存储容量有不能超过 2GB的限制。

2) 多用户的 Geodatabase 是通过 ArcSDE ( ARC 空间数据库引擎) 实现的。ArcSDE可以生成和访问从小型到大型的 Geodatabase 并提供关系型数据的开放界面。

与标准的关系数据库相比,Geodatabase 简化了地理数据建模的工作,因为它包含有用于建模地理信息的通用模型。

此外,Geodatabase 还同时支持两个视图,即对象视图和关系视图。这样就综合了对象视图和关系视图两者的优点。对象视图在 Geodatabase 中占据主导地位,其目的是提供一个接近于逻辑数据模型的数据模型,因而更接近于现实。关系视图则用于一些 Geodata-base 数据的常规处理,它表示的是一些简单地理对象的特征。

3. 基于 UML 的 Geodatabase 数据模型的设计

( 1) Geodatabase 数据库设计的方法

在 ArcGIS 中,建立地理数据库可以有多种方法。借助 ArcCatalog,可以通过 3 种方式建立新的地理数据库。

第一种方法是建立一个新的地理数据库。

第二种方法是移植已经存在的数据到地理数据库中去。

第三种方式是用 CASE 工具来建立地理数据库。

( 2) 面向对象和 UML ( 统一建模语言)

面向对象是软件程序设计中的一种新思想,它能使程序设计更加贴近现实,并且花费更小的精力。面向对象方法学包含了对象 ( object) 、类 ( classification) 、继承 ( inherit-ance) 、聚集和消息 ( messages) 的概念。

UML ( Unified Modeling Language,统一建模语言) 是一种基于面向对象方法的建模语言,具有创建系统的静态结构和动态行为等多种结构模型的能力,是一种通用的建模语言。在 Geodatabase 的设计中,主要用到描述系统静态结构的类图。类图的节点表示系统中的类及其属性和操作。类图的边表示类之间的联系,包括继承、关联、依赖、聚合等。

类的表示由 3 个部分方框组成,上面部分给出了类的名称; 中间部分给出了该类的单个对象的属性; 下面部分给出了一些可以应用到这些对象的操作。类的表示如图 12 -5。

图 12 -5 类的表示

关联是对类的实例之间联系的命名,与关联有关的内容有关联元数 ( Degree) 、关联角色 ( Role) 和重复度 ( Multiplicity) 。

UML 中有 3 种类型的类: 抽象类 ( abstract class) 、可创建化类 ( creatable class) 和可实例化类 ( instantiable class) 。

UML 类图的符号见本节第四部分内容。

( 3) 面向对象的地理数据模型的设计方法

利用 CASE 工具进行 Geodatabase 数据模型设计的步骤具体为:

1) 在 CASE 工具中进行 UML 建模。

2) 将设计好的 UML 模型载入资料库 ( repositry) 。

3) 利用 GIS 软件提供的 CASE 接口,根据资料库中的 UML 模型生成空间数据库结构。至此,Geodatabase 空间数据库结构初具雏形。在 GIS 软件环境中,现在可以将新生成的数据或已有的数据进行格式转换后载入到设计好的 Geodatabase 空间数据库中,由空间数据库统一管理。利用 CASE 工具来建立 Geodatabase 地理数据库的工作流程见图12 - 6。

图 12 -6 利用 CASE 工具来建立 Geodatabase 地理数据库的工作流程

六、地质 - 生态环境 Geodatabase 数据模型的建立

( 一) 数据模型设计的依据

根据山东半岛城市群地质 - 生态环境调查评价研究工作的需要和山东半岛城市群地质 - 生态环境 GIS 数据库系统的整体设计要求,结合各地质 - 生态环境要素的成果图件和文本报告资料,利用 UML 设计工具 Microsoft Visio 完成了山东半岛城市群地质 - 生态环境Geodatabase 数据模型的设计 ( 图 12 - 7) 。

图 12 -7 山东半岛城市群地质 - 生态环境 Geodatabase 数据模型的设计依据

( 二) 山东半岛城市群地质 - 生态环境数据库的 UML 类图

1. 数据集管理

山东半岛城市群项目数据包中的数据以数据集为单元统一组织管理,数据集管理方式就是将一份文字报告或一幅成果图件视作逻辑上的整体,用 “数据集编号”唯一标识,通过数据集实体统一管理。同一数据集的不同实体,例如成果图中的图层,通过实体中的“数据集编号”元素关联。

2. 空间数据管理

山东半岛城市群项目数据包由文字报告及成果图件两大类数据组成,并以成果图件为主,成果图件是一空间数据实体,统一存储在面向对象的地理信息数据库中,以图幅为单元进行管理。

3. 数据包总体结构

本标准中山东半岛城市群项目数据包总体结构用 UML 模型来体现,山东半岛城市群项目数据包由 “成果报告”、“元数据”及 “存档文件”3 个数据实体 ( UML 类) 组成,通过 “数据集”实体统一组织管理。“成果报告”由它的继承类 “文字报告”及 “成果图件”定义,为研究成果数据包的主体数据。“元数据”及 “存档文件”为数据集的辅助数据,“元数据”存放文字报告或成果图件的元数据; “存档文件”存放文字报告或成果图件的相关存档文件,供数据集数据的整体下载与利用。

一个 “数据集”实体对应一个项目的 “文字报告”或一幅 “成果图件”; 每一个数据集必须有一个而且只能有一个 “元数据”文件; “存档文件”是 “数据集”的可选聚合实体。

“成果图件”是一空间数据实体,由特定的面向对象地理信息数据库 ( Geodatabase)统一存储、管理。一幅 “成果图件”数据内容由一组空间要素集 ( 基础地理要素集、地质要素集、地球物理要素集、地球化学要素集、辅助要素集) 组成,空间要素集数据类型包括矢量 ( Feature Dataset,简称要素集) 、栅格 ( Raster Dataset) 和 TIN ( TIN Dataset)3 种。

4. 数据集编号的编码规则

数据集编号由数据库管理方统一编码,必须保证编号在数据库中唯一,编号中的英文字母全部大写。

山东半岛城市群项目数据集按 “项目或图幅—提交单位—提交年份—成果序号”编码。数据集编号的字符串长度不得超过 22 位,以保证 “数据集编号 + 要素类名”的字符串总长度不超过 30 位。

5. 成果图件要素类命名规则

要素类名字符串总长度不得超过 8 位。

矢量要素类按 “要素集类型 + 要素类名 + 要素类型”命名,全部用大写英文字母表示。“要素集类型”用一位代码表示,如 “L”表示基础地理要素集。栅格数据集数据以“要素集类型 + 要素类型”命名,要素类型用代码 RAS 表示,如 “DRSRAS”表示遥感栅格数据。TIN 数据集数据以 “要素集类型 + 要素类型”命名,要素类型用代码 TIN 表示,如 “LELETIN”表示地面高程 TIN。

6. 成果图件要素分类编码规则

要素分类编码用以标识不同的要素类要素,保证地图要素存储、交换、显示的一致性。

( 1) 分类编码原则

1) 科学性、系统性;

2) 相对稳定性;

3) 不受地图比例尺的限制;

4) 完整性和可扩展性;

5) 适用性。

( 2) 分类编码方法

成果图件要素类中不同要素的分类编码采用中华人民共和国国家标准 《国土基础信息数据分类与代码》的编码结构,结构如下:

山东半岛城市群地区地质-生态环境与可持续发展研究

大类码、小类码、一级代码和二级代码分别用数字顺序排列。识别位由用户自行定义,以便于扩充。在本项目中编码分两类: ①基础地理要素编码; ②地质专业要素编码( 地质、地球物理、地球化学等) 。

( 三) 山东半岛城市群项目数据实体及实体关系

山东半岛城市群项目数据实体类及其代码见表 12 -2,实体类名代码按实体类的英文名缩略语编码,本标准中山东半岛城市群项目数据实体及实体间关系用 UML 及实体关系图 ( ERD) 来体现。

表 12 -2 山东半岛城市群项目数据实体类及其代码

1. 数据集实体 ( MGRD_Dataset)

山东半岛城市群项目数据包中的 “数据集”实体用来统一组织管理 “文字报告”、“成果图件”、“元数据”及 “存档文件”数据实体,“数据集”实体中的数据项包含数据集的归属项目、提交日期、提交单位、主题类别及地理范围等可用于数据集检索的信息。一个 “数据集”实体对应一个项目的 “文字报告”或一幅 “成果图件”,“数据集”实体与 “元数据”实体间为一一对应关系,与 “存档文件”实体间为一对多的对应关系。“数据集”实体的数据内容及其存储表通过 “数据子集”实体分类定义,主键 [数据集编号]可用于同一数据集中不同 “数据子集”的关联,也可用于数据集对应的 “元数据”及“存档文件”的关联。

2. 成果报告数据实体 ( MGRD SumTmaryReport)

研究成果报告数据实体包括项目的最终综合文字报告及相应的成果图件。

( 1) 文字报告数据实体 ( SR_WordReport)

文字报告数据实体包括 “文字报告”及图像格式的 “报告附图”数据实体,文字报告及附图均以二进制大对象存储。数据实体之间通过 [数据集编号] 关联。

( 2) 成果图件数据实体 ( SR_hemeMapSet)

“成果图件”数据实体是一空间数据实体,主要以矢量图形格式存储在地理信息数据库中,其中也包括栅格数据及 TIN 数据用于数据的空间分析。

1) 要素集: “成果图件” 数据实体以图幅为数据集单元进行管理; 图幅内容以分属不同空间要素集 ( 基础地理要素集、地质要素集、地球物理要素集、地球化学要素集、辅助要素集) 的要素类组合,同一个要素集内的要素类享有同一空间参照系,相互具有拓扑关系。

2) 要素类: 一个要素类的存储单元为关系数据库中的一个数据表,要素类图元类型有点、线、面、注记 4 种,一个要素类只能包含一种图元类型。本标准中基础地理要素集、地质要素集、地球物理要素集、地球化学要素类、辅助要素集的要素类用 UML 类图体现。

3) 图层: 图层为要素类的专题组合及表现,不同图层的组合即构成了可视化 “成果图件”。本项目通过对数据来源的分析,提出并建立了适合山东半岛城市群地区地质 - 生态环境调查与评价特点的空间数据库数据图层。考虑到空间数据的应用和相互转换,每一图层均应建立相应的内部属性表,属性表必须包含一些基本字段内容,根据具体任务的不同,需灵活扩充内部属性表字段内容。 “成果图件”数据实体的图层划分及其代码见表 12 -3。

4) 要素类属性: 要素类的要素特征由属性表定义,属性表每一行对应一个要素,每一列包含要素的一个特征信息。

表 12 -3 成果图件数据实体的图层划分及其代码

5) 要素类要素分类: 同一要素类中不同类型的要素用不同的代码标识,通过属性表中的 “编码” ( GEO_CODE) 数据项体现,以便地图中同一要素类要素的分类显示,并保证地图要素存储、交换、显示的一致性。在本项目中成果图件的基础地理要素分类代码采用中华人民共和国国家标准 《国土基础信息数据分类与代码》,并根据需要进行了扩充,地质专业要素分类代码全部由本标准定义,见表 12 -4 和表 12 -5。

表 12 -4 基础地理要素分类代码

表 12 -5 地质专业要素分类代码

图12 -8 山东半岛城市群项目数据包UML类图

图层编码中,第一位为图类代码,L 代表基础地理类图层; D 代表基础地质类图层;G 代表国土资源图层; W 代表地壳稳定性图层; S 代表水资源图层; H 代表海岸带图层;T 代表生态环境图层; R 代表人类工程活动图层; F 代表分析评价图层; Y 代表预测与防治图层; Z 代表辅助图层。第二位为比例尺代码,图件均采用 1∶ 50 万比例尺,代码为 B。第三位到第五位为图名的汉语拼音首字母缩写。第六位为图层数字编号。

( 四) 山东半岛城市群项目 UML 类图

1. 山东半岛城市群项目数据包 UML 类图

UML 类图见图 12 - 8。

2. 成果图件要素集 UML 类图

1) 基础地理要素集实体 UML 类图 ( FD_Geography) 。本项目将基础地理要素分为地理网格、居民地、境界、交通网、地貌地形、水系、海洋海岸带、行政区划、栅格数据等 9个抽象要素类,建立了 “各市基本情况”对象类,与表明各地区域的 “城市群”类相连接,将山东半岛城市群8 个地级市的地理位置数据与地区的基本资料数据有机地联系起来。

2) 地质要素集实体 UML 类图 ( FD_Geology) 。

3) 国土资源要素集实体 UML 类图 ( FD_LandResource) 。

4) 水资源要素集实体 UML 类图 ( FD_WaterResource) 。

5) 生态环境要素集实体 UML 类图 ( FD_Environment) 。

6) 辅助要素集实体 UML 类图 ( FD_Ancillary) 。

3. 山东半岛城市群项目数据实体关系图

1) 数据集实体 ER 图 ( MGRD_DataSet) 。

2) 研究成果报告数据实体 ER 图 ( MGRD_SummaryReport) ( 图 12 - 9) 。

图 12 -9 研究成果报告数据实体 ER 图 ( MGRD_SummaryReport)

七、山东半岛城市群项目数据包数据字典

( 一) 数据集实体 ( MGRD_DataSet)

山东半岛城市群地区地质-生态环境与可持续发展研究

( 二) 研究成果报告数据实体 ( MGRD_SummaryReport)

1. 文字报告数据实体 ( SR_WordReport)

山东半岛城市群地区地质-生态环境与可持续发展研究

2. 成果图件数据实体 ( SR_ThemeMapSet)

( 1) 基础地理要素集实体 ( FD_Geography)

山东半岛城市群地区地质-生态环境与可持续发展研究

( 2) 地质要素集实体 ( FD_Geology)

山东半岛城市群地区地质-生态环境与可持续发展研究

( 3) 水资源要素集实体 ( FD_HydroResource)

山东半岛城市群地区地质-生态环境与可持续发展研究

‘叁’ 数据库集群的介绍

集群主要分成三大类 (高可用集群, 负载均衡集群,科学计算集群)
高可用集群( High Availability Cluster)
负载均衡集群(Load Balance Cluster)
科学计算集群(High Performance Computing Cluster)

1、高可用集群(High Availability Cluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如”双机热备”, “双机互备”, “双机”。高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。

2、负载均衡集群(Load Balance Cluster)

负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。

负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。

3、科学计算集群(High Performance Computing Cluster)

高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。

高性能计算分类:

3.1、高吞吐计算(High-throughput Computing)
有一类高性能计算,可以把它分知链成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人( SETI@HOME – Search for Extraterrestrial Intelligence at Home )就是这一类型应用。
这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服核猛亮务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。
所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。

3.2、分布计算(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。

下面说说这几种集群的应用场景:

高可用集群这里不多作说明。

想Dubbo是比较偏向于负载均衡集群,用过的猿友应该知道(不知道的可以自行了解一下),Dubbo同一个服务是可以有多个提供者的,当一个消费者过来,它要消费那个提供者,这里是有负载均衡机制在里面的。

搜索引擎Elasticsearch比较偏向于科学计算集群的分布计算。

而到这里,可能不少猿友都改宽知道,集群的一些术语:集群容错、负载均衡。

我们以Dubbo为例:
集群容错(http://bbo.io/User+Guide-zh.htm#UserGuide-zh-%E9%9B%86%E7%BE%A4%E5%AE%B9%E9%94%99)

Dubbo提供了这些容错策略:
集群容错模式:
可以自行扩展集群容错策略,参见:集群扩展
Failover Cluster

失败自动切换,当出现失败,重试其它服务器。(缺省)

通常用于读操作,但重试会带来更长延迟。

可通过retries="2"来设置重试次数(不含第一次)。

Failfast Cluster

快速失败,只发起一次调用,失败立即报错。

通常用于非幂等性的写操作,比如新增记录。

Failsafe Cluster

失败安全,出现异常时,直接忽略。

通常用于写入审计日志等操作。

Failback Cluster

失败自动恢复,后台记录失败请求,定时重发。

通常用于消息通知操作。

Forking Cluster

并行调用多个服务器,只要一个成功即返回。

通常用于实时性要求较高的读操作,但需要浪费更多服务资源。

可通过forks="2"来设置最大并行数。

Broadcast Cluster

广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)

通常用于通知所有提供者更新缓存或日志等本地资源信息。

负载均衡(http://bbo.io/User+Guide-zh.htm#UserGuide-zh-%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1)

Dubbo提供了这些负载均衡策略:

Random LoadBalance

随机,按权重设置随机概率。

在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。

RoundRobin LoadBalance

轮循,按公约后的权重设置轮循比率。

存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。

LeastActive LoadBalance

最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。

使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。

ConsistentHash LoadBalance

一致性Hash,相同参数的请求总是发到同一提供者。

当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。

算法参见:http://en.wikipedia.org/wiki/Consistent_hashing。

缺省只对第一个参数Hash,如果要修改,请配置<bbo:parameter key="hash.arguments" value="0,1" />

缺省用160份虚拟节点,如果要修改,请配置<bbo:parameter key="hash.nodes" value="320" />

‘肆’ 如何用sqlServer建立分布式数据库

很多组织机构慢慢的在不同的服务器和地点部署SQLServer数据库——为各种应用和目的——开始考虑通过SQLServer集群的方式来合并。

将SQLServer实例和数据库合并到一个中心的地点可以减低成本,尤其是维护和软硬件许可证。此外,在合并之后,可以减低所需机器的数量,这些机器就可以用于备用。

当寻找一个备用,比如高可用性的环境,企橡纳业常常决定部署Microsoft的集群架构。我常常被问到小的集群(由较少的节点组成)SQLServer实例和作为中心解决方案的大的集群哪一种更好。在我们比较了这两个集群架构之后,我让你们自己做决定。

什么是Microsoft集群服务器

MSCS是一个WindowsServer企业版中的内建功能。这个软件支持两个或者更多服务器节点连接起来形成一个“集群”,来获得更高的可用性和对数据和应用更简便的管理。MSCS可以自动的检查到服务器或者应用的失效,并从中恢复。你也可以使用它来(手动)移动服务器之间的负载来平衡利用率以及无需停机时间来调度计划中的维护任务。

这种集群设计使用软件“心跳”来检测应用或者服务器的失效。在服务器失效的事件中,它会自动将资源(比如磁盘和IP地址)的所有权从失效的服务器转移到活动的服务器。注意还有方法可以保持心跳连接的更高的可用性,比如站点全面失效的情况下。

MSCS不要求在客户计算机上安装任何特殊软件,因此用户在灾难恢复的经历依赖于客户-服务器应用中客户一方的本质。客户的重新连接常常是透明的,因为MSCS在相同的IP地址上重启应用、文件共享等等。进一步,为了灾难恢复,集群的节点可以处于分离的、遥远的地点。

在集群服务器上的SQLServer

SQLServer2000可以配置为最多4个节点的集群,而SQLServer2005可以配置为最多8个节点的集群。当一个SQLServer实例被配置为集群之后,它的磁盘资源、IP地址和服务就形成了集群组来实现灾难恢复。

SQLServer2000允许在一个集群上安装16个实例。根据在线帮助,“SQLServer2005在一个服务器或者处理器上可以支持最多50个SQLServer实例,”但是,“只能使用25个硬盘驱动器符,因此如果你需要更多的实例,那么需要预先规划。”

注意SQLServer实例的灾难恢复阶段是指SQLServer服务开始所需要的时间,这可能从几秒钟到几分钟。如果你需要更高的可用性,考虑使用其神拆他的方法,比如logshipping和数据库镜像。

单个的大的SQLServer集群还是小的集群

下面是大的、由更多的节点组成的集群的优点:

◆更高的可用新(更多的节点来灾难恢复)。

◆更多的负载游如枣均衡选择(更多的节点)。

◆更低廉的维护成本。

◆增长的敏捷性。多达4个或者8个节点,依赖于SQL版本。

◆增强的管理性和简化环境(需要管理的少了)。

◆更少的停机时间(灾难恢复更多的选择)。

◆灾难恢复性能不受集群中的节点数目影响。

下面是单个大的集群的缺点:

◆集群节点数目有限(如果需要第9个节点怎么办)。

◆在集群中SQL实例数目有限。

◆没有对失效的防护——如果磁盘阵列失效了,就不会发生灾难恢复。

◆使用灾难恢复集群,无法在数据库级别或者数据库对象级别,比如表,创建灾难恢复集群。

虚拟化和集群

虚拟机也可以参与到集群中,虚拟和物理机器可以集群在一起,不会发生问题。SQLServer实例可以在虚拟机上,但是性能可能会受用影响,这依赖于实例所消耗的资源。在虚拟机上安装SQLServer实例之前,你需要进行压力测试来验证它是否可以承受必要的负载。

在这种灵活的架构中,如果虚拟机和物理机器集群在一起,你可以在虚拟机和物理机器之间对SQLServer进行负载均衡。比如,使用虚拟机上的SQLServer实例开发应用。然后在你需要对开发实例进行压力测试的时候,将它灾难恢复到集群中更强的物理机器上。

集群服务器可以用于SQLServer的高可用性、灾难恢复、可扩展性和负载均衡。单个更大的、由更多的节点组成的集群往往比小的、只有少数节点的集群更好。大个集群允许更灵活环境,为了负载均衡和维护,实例可以从一个节点移动到另外的节点。

‘伍’ 什么是数据库集群

现在比较大型点的系统基本上是APDB的架构:AP指应用程序,DB指数据库端

AP放在一个服务器上,DB放在另一个服务器吵让上

当一个系统比较大,访问的用户数量比较多的时候,比如QQ,上亿用户.

这时一个服务器就吃不消了,这样就想到多个服务器跑同一个AP应用.

DB端也一样.

linux集群指的就是多个服务明胡器跑同一个AP应用,系统管理员的工作

数据库集群指的就是多个服务器跑同一个DB数据库.数据库管理员的工作

linux集群基础就要熟悉linux系统.

数据库集群基础就要熟悉具体的数据库如oracle,db2,sysbase.mysql.等

0基础可以学,只是要花时升槐局间.0基础想搞到集群估计得花3个月时间.这还是要有环境的,有人指导才行.

‘陆’ 论坛站内信群发,数据库设计该如何优化

真正的大数据保存在 信息表中, 关联表式很小的,虽然随着系统的运行数据会很多 !!
有两种方案解决:
1, 及时加载策略:每群发一条消息自然会往消息表中插入一条数据,这时你可以同时往关联表中插入数据。 好样的,问题来了!如果系统用户几百万,你发一条站内信,就要往关联表中插几百万条数据,这是很耗性能的!!
2,延迟加载策略:每群发一条消息自然会往消息表中插入一条数据,不要及时插入到关联表。只当用户登录站内信时, 我才将消息表中的未读消息加载进来。

‘柒’ mysql集群是什么意思(数据库集群是什么意思)

开在一台服务器上,而是开到一个群组的所有服务器上,一般20台为一个群组。

问:集群空间跟传统空间的最大不同是什么?

答:集群空间有数据同步和宕机检测与智能解析域名的功能。

问:集群空间为什么会比传统空间稳定?

答:因为当客户开通一个集群空间后集群空间系统就会把客户的空间和站点资料同步到同

一个群组的所有服务器上,一但当前访问的服务器不能正常工作时,智能系统就会把客

户的域名解析到能正常工作的服务器上。

问:站点数据同步需要多长时间?

答:新开设的站点数据同步到所有服务器上大概需要一个小时。如果站点数据小会更快。

问:站点参数(如:加减域名绑定)修改多长时间同步?

答:10分钟内同步成功

问:当服务器坏了多长时间会转移到正常的服务器上。

答:最长不会超过1分钟,因为宕机检测30秒一次,同时域基弯名的重新解析也需要30秒才生

效。

问:站点跟数据库是否可以开在同一台服务器上?

答:最好不要,因为集群系统暂时还没同步大型数据库(mssql;mysql)。所以当服务器不

能正常工作时,集群系统只是把您的站点转移到别的服务器上,并没把数据库也同时转

移过去,所以最好把数据库开设在群外的服务器上闹拦。

问:集群空间是否支持开通php空间?

答:可以支持php,但还没办法同步mysql数据同步。将在二期工程实现.

问:集群空间跟传统空间使用上有什么不同?

答:考虑到用户的方便使用,我们在设计的时候就本着尽量减少搏弯闷手工操作的思路,所以在使

用方面他们没有太大的区别,唯一的区别是我们用免费提供的二级域名代替原来的IP,也就是说使用传统的空间时,用户是把自己的域名解析到IP上,现在是作别名

(CNAME)解析到我们免费提供的二级域名,和登录FTP的地址是我们提供的二级域

名。

问:域名本身(不带www)如何作别名(CNAME)解析?

答:作别名解析的时候主机名不能为空,如果要给域名本身作别名解析请在主机名的位置上填写noprefix,提交后自然变为空。

问:集群空间是否能防CC攻击?

答:集群空间系统本身没防CC攻击的功能。可我们也有自主开发的防CC攻击防火墙可以屏蔽掉95%的攻击IP。

问:正被攻击的空间转到集群空间是否马上有效。

答:必须在您把站点资料传到服务器上大概三个小时才有效,因为系统把您的站点资料同步到同群内的所有服务器上的过程需要大概三个小时。您站点资料比较少就会更快。

‘捌’ 请问什么是数据库群集数据库群集有哪些利弊

数据库集群,顾名思义,就是利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像单数据库系统那样,向客户端提供透明的数据服务坏处:集



是Unix


术,


在Unix







现,







高,












器。








因,










器,







全,











列;







全,









统,







群。

了Windows
NT
Server
4.0(


版),








说,

















案。

管Windows
NT










群,









说,




够。

年5






了Windows
NT
和SQL
Server


好处:集









的,







率,












用。








器,





说,











个IP

址,













短,
















长,






断。













统,









一。----秦傲工程师

‘玖’ 分布式数据库与集群数据库之间的关系(分布式数据库和关系型数据库)

分布式早埋盯是架构部署模式的一种。分布式多用于描述架构设计上,当然现在有各种新用法。

集群是硬件部署模式的一种,是集中部署在一个机房里的计算机群体的集中称谓。

分布式网站集群系统是一种多网站架构模式,支持生成独立网站、多个网站,完成各个网站横向一体化和纵向一体化网站群的构建,主站、子站、网站间的信息陆和可共享和信息互联。

简单的说:就是一个企业/个液滑人可以像申请博客那样自助建站,维护,更新,而分布式,就是把问题分开解决的意思,即系统分布在几个不同服务器上。

‘拾’ 高分诚心求助!数据库设计如何实现不同用户进行不同操作的权限管理!(数据库SQL2000+编程语言C#)

我做过类似有权限管理的系统,表分3个:
第一个表是 权限表(tb_pope),都有什么权限,以你的系统要求,分3个权限:管理所有学生,管理系学生,本学生。
表列名可以是: ID,popeName,里面有3条记录。
1,管理所有学生
2,管理系学生
3,本学生
第二个表是 用户表(tb_user): ID,userName,age,等等.
第三个表就是 用户权限表(tb_userpope): ID,userID,PopeID
登录时先检查是否有该用户名,然后读取其权限值,根据权限操作数据库 显示或隐藏 操作的部分。
大致就这样了。