当前位置: 首页 > news >正文

swing做网站/5188关键词挖掘工具

swing做网站,5188关键词挖掘工具,wordpress mip插件,wordpress 文章密码一、分布式数据库系统 分布式数据库系统 分布式数据库系统:物理上分散而逻辑上集中的数据库系统. 物理上分散:指各网站分散在不同的地方。大可为不同国家。小可为同一建筑物的不同位置。逻辑上集中:指各网站之间不是互不相关的&#xff…

一、分布式数据库系统

分布式数据库系统

分布式数据库系统:物理上分散逻辑上集中的数据库系统.

     物理上分散:指各网站分散在不同的地方。大可为不同国家。小可为同一建筑物的不同位置。


     逻辑上集中:指各网站之间不是互不相关的,它们是一个逻辑总体。并由一个统一的分布式数据库管理系统进行管理。


分布式数据库系统 =硬件+软件(OS。Compiler,App.) +DB(全局DB ,局部DB ) +DBMS(全局DBMS ,局部DBMS ) +DBA(全局DBA ,局部DBA ) +用户(全局用户。局部用户)
同构型:假设各个网站上的数据库的数据模型都是同一数据模型的(比如都是关系型)的,则称为同构型分布式数据库系统。
同质型: 假设是同一种DBMS(比如有Oracle,DB2等),则称为同质的,否称为异质的.


 
分布式数据库系统和分散的数据库系统的差别?
假设用户既能够通过客户机对本地server中的数据库运行局部应用。也能够对两个或两个以上结点中的数据库运行全局应用,这种系统是分布式数据库系统
不支持全局应用的系统不能称为分布式数据库系统,即仅仅是分散的数据库系统。


分布式的特征

场地自治性(Local Autonomy)           
非集中式管理(NoReliance On Central Site)
高可靠性(Contiuous Operation)     (连续执行)
位置独立性(Location Transparency and Location Independence)
数据切割独立性(Fragmentation Independence)
数据复制独立性(Replication  Independence)
分布式查询处理(Distributed Query Processing)
分布式事务管理(Distributed Transaction Management)
硬件独立性(Hardware Independence)
操作系统独立性 (Operating System Independence)
网络独立性(Network Independence)
数据库管理系统独立性(DBMS Independence)


3 数据分片



数据分片(Data Fragmentation)。亦称数据切割
------在分布式数据库中。全局数据库是由各个局部数据库逻辑组合而成,反之,各个局部数据库是由全局数据库的某种逻辑切割而得.
逻辑片段:切割后得到的各部分元组,存放在对应的网站上
        ------数据存放的单位

分片(割)方法:

    1 水平分片:按特定条件把全局关系的全部元组,分划成若干个互不相交的子集。每一个子集位全局关系的一个逻辑片段。

对全局关系施加选择运算
.
2 垂直分片:把全局关系的属性集分成若干个子集。对全局关系施加投影运算.
    3 混合分片:先水平分片再垂直分片,或先垂直分片再水平分片.

分片原则:

1.  全然性条件:全局关系的每一数据项必须在至少一个分片中
2.  重建性条件: 全局关系可从各分片中产生
3.  不相交条件:不同分片无公共数据(控制数据冗余)
位置透明性:全局关系切割为分片后。要把分片定位到各个节点上。使每一分片至少有一个节点地址。假设应用程序中不必包含数据的节点地址。称为系统的位置透明性,应用程序中仅仅提供要訪问的关系名或分片名,节点地址由系统从数据字典中查出。具有位置透明性的系统,分片在节点间有移动时仅仅要改变数据字典中的登录数据,不影响应用程序的可用性。
实现位置透明时。数据字典中要有分片的地址信息,系统对数据操纵语句要作多复本处理:改动语句要自己主动地改动全部复本,查询语句要选择最合适的复本。  
全局关系的垂直切割是把属性分组。然后把关系投影到每一组得到各分片。这样的方法适用于各节点有自已特殊属性的全局关系。


1 全然性条件:取全部节点的属性为全局关系的属性即满足
2 垂直切割方法的不相交条件和可重建条件是矛盾的
     ------由于全局关系是各分片的自然联接,可重建条件就是关系分解的无损性条件。即要满足投影联接依赖。比如在分解成两个分片时,仅仅有这两个分片相交。且交集能多值决定任一分片时,全局关系才是可重建的。
     解决的方法:有的系统中设有系统维护的元组标识,如ORACLE的rowid
(该元组标识可函数决定全局关系中全部属性,且对用户是透明的(可使用而不能改动)。因此在这些系统中就用户定义的属性而言能够使垂直切割不相交且可重建。仅仅要把全局关系的元组标识用作各分片的附加属性。)
数据分片的长处是:数据不是依照关系而是按片段来存放,有利于更好地依据用户需求来组织数据的分布。也有利于控制数据的冗余度。

4 数据分布



       所谓数据分布是指分布式数据库中的数据不是存储在一个网站的计算机存储设备上,而是依据须要将数据划分成逻辑片断,按某种方法将这些片断分散地存储在各个网站上。
分布透明性包含分片透明性、位置透明性和局部数据模型透明性。
1 分片透明性指用户或应用程序仅仅对全局关系进行操作而不必考虑关系的分片。

当分片模式改变了,因为全局模式到分片模式的映象。全局模式不变,应用程序不必改写。
2 位置透明性指用户或应用程序不必了解片段的存储场地,当存储场地改变了,因为分片模式到分布模式的映象,应用程序不必改变。

同一时候,若片段的反复副本数目改变了,数据的冗余度改变了,用户也不必关心怎样保持各副本的一致性,这就是反复副本的透明性。
3 局部数据模型透明性指用户或用户程序不必了解局部场地上使用的是哪种数据模型。
为什么会出现上述问题?
由于在分片策略上的问题和数据库系统的问题,设计表时我们就首先对其分片,选择水平或垂直或混合分配策略。然后选择网站存放。

所以就出现了上述现象。

只是依据系统字典这样的现象应该能够解决。在设计时我们就建立相应的表。

这样程序猿使用表时能够建立最高的分布透明性。
------------------------------------

二、分布式数据库系统的设计

1 数据库设计

数据库设计的基本步骤:
需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库的建立和測试
数据库执行和维护。

2 命名规范

不使用tab或tbl作为表前缀(本来就是一个表,为什么还要说明)
表名以代表表内的内容的一个和多个名词组成,下面划线分隔。每一个名词的第一个字母大写。
使用表的内容分类作为表名的前缀:如,与用户信息相关的表使用前缀User_,与内容相关的信息使用前缀Content_。
表的前缀以后。是表的详细内容的描写叙述。

如:用户登录信息的表名为:User_Login。用户在论坛中的信息的表名为:User_BBS_Info
一些作为多对多连接的表,能够使用两个表的前缀作为表名:
       如:用户登录表User_Login,用户分组表Group_Info,这两个表建立多对多关系的表名为:User_Group_Relation
当系统中有一些少量的。反复出现的值时。使用字典表来节约存储空间和优化查询。如地区、系统中用户类型的代号等。

这类值不会在程序的执行期变化。可是须要存储在数据库中。


字段不使用不论什么前缀(表名代表了一个名称空间,字段前面再加前缀显得罗嗦)
字典名也避免採用过于普遍过于简单的名称:比如,用户表中,username的字段为UserName比Name更好。
布尔型的字段。以一些助动词开头。更加直接生动:如,用户是否有留言HasMessage,用户是否通过检查IsChecked等。
字段名为英文短语、形容词+名词或助动词+动词时态的形式表示。大写和小写混合,遵循“见名知意”的原则。

3 SQL语句规范

在一些块形式的SQL语句中,就算仅仅有一行代码。也要加上BEGIN…END块。


   如:IF EXISTS(…)
                     SET @nVar = 100
应该写成:
IF EXISTS(…)
BEGIN
         SET @nVar = 100
END
全部的SQLkeyword大写

4 存储过程编码规范

仅仅同意应用程序通过存储过程訪问数据库
将基本的业务逻辑封装在存储过程中,可以避免在应用程序层写大量的代码(在应用程序中通过字符串插入太长的SQL语句影响效率,并且维护困难)
在站点一类的应用系统中,SQL注入式漏洞一直是难以全然杜绝的漏洞。假设仅仅通过存储过程来訪问数据库,可以大大降低这类安全性问题。
需求变更。表的结构必须要改变。使用存储过程,仅仅要參数不变,我们就仅仅须要改动对应的存储过程。而不须要改动应用程序的代码。
为提高效率。使部分字段冗余;为提高效率,使用冗余表(拆分表);
使用存储过程。便于在项目后期或者执行中集中优化系统性能。


问题一:存储过程编译后。将作为数据库的全局对象保存,太多的存储过程将占用大量的数据库server的内存。
问题二:在存储过程中实现大量的逻辑,将使大量的运算在数据库server上完毕,而不是在应用server上完毕。当訪问量非常大的时候。会大大消耗数据库server的CPU占用率。


每一个存储过程内的代码前后必须加上SET NOCOUNT ON 和SET NOCOUNT OFF。




5 数据库设计规范



5.1 数据完整性规范(编码期)



1、为便于在程序的编码期查错,能够在设计数据库的时候尽可能多的加上约束(check)。如,整型的字段的取值范围等,经常为field>0。


2、同理,尽可能地在开发期间使用触发器来验证数据的完整性。


3、假设字段之间存在冗余,应该编写触发器来管理冗余的字段
3、在开发阶段保存完整的主键、外键和唯一索引的约束。
4、原则:编码期间,数据完整性优先于性能。在保障系统正确执行的前提下尽可能的提高效率。


6 数据库优化



6.1 数据库性能优化规范



1、在执行阶段删除不必要的约束(check)。
2、尽量不要使用触发器
3、尽量保留主键约束
4、适当删除外键,以提高性能
5、在执行期间,通过分析系统的訪问量。创建索引来优化性能
6、分析每一个表可能的数据增长量,定义自己主动拆分表规则。将大表进行拆分来提高性能。
7、预先考虑数据清理规则:在什么情况下删除数据库中的旧数据,以此来提高性能。
8、制定数据库备份和灾难恢复计划。
9、为效率考虑,能够在系统測试阶段适当添加冗余字段,或者冗余表。
10、分页的记录输出必须通过存储过程来实现。不能使用API游标来分页,这样能够提高分页的效率。

6.2 拆分表演示样例



案例:站点有200万用户,有非常多模块环绕用户提供服务。
     为提高效率,每一个表最多仅仅保存与用户有关的10万记录,200万条记录拆分到20个表中。编号为1-10万的用户将记录保存到表一。100001-200000编号的记录保存到表二,以此类推。


建立一个拆分信息表,表中保存了哪些表是经过拆分的。拆分到什么程度,拆分规则是什么。


当插入记录的时候。首先推断插入这条记录的用户的ID。存储过程依据ID的范围,自己主动把表插入到对应的拆分表中去。
当依照条件查询。存储过程自己主动连接全部的拆分表,丛中筛选出记录。(普通情况下:同类型的查询远远大于依照条件的全体查询)

6.3 冗余字段建立演示样例



案例:留言本表中,要保存用户的ID作为外键。

通常。通过连接留言表和用户表来得知是哪个用户公布了留言。
为提高效率,在留言本表中增建username的字段。

插入记录的时候。同一时候保存用户ID和username。这样。当查询时。就不必连接两个表,使效率大大提高。
可是,当用户改动username时,要吗更新其它表中的username。要吗忽略这样的username不一致的影响。怎样处理取决于username在模块中的重要程度。




6.4 冗余表建立演示样例



案例:实用户表和分组表,两个表之间是多对多的关系。建立一个用户与组的关系表来实现这样的关系。
用户表中有百万条记录。组表中几千条记录。假设每一个用户都属于多个组的化。关联表中将存在几百万条记录。
如今将用户表和关联表进行拆分。拆分规则为用户的ID范围。

当查询某用户的组时。效率大大提高。可是当查询某组下的用户时,须要关联全部的拆分表,效率非常低。
为提高效率,建立一个冗余的用户和组的关系表,这个关系表中保存第一个关系表中统一的内容,可是拆分规则为组ID的范围。这样,当查询组中的用户时,丛第二个关系表中查询。效率大大提高。


6.5 存储过程中分页方案



方案一:
1、首先统计得到符合条件的记录数
2、定义表变量:表变量的第一个字段为自增长类型。第二个字段为记录集中的唯一值字段(通常是主键)
3、使用insert () select 语句将符合条件的记录的唯一值字段保存在表变量中。


4、使用where ID in (select ID From 表变量 WHERE ……) 的方法从表两边中读出须要的唯一值字段。


方案二:
1、首先统计符合条件的记录数。并依据页大小计算页数
2、假设读取第一页,直接使用TOP子句读取
3、假设页数在前一半:
结果集1:SELECT TOP  CurPage*PageSize  Fields FROM Table ORDER BY ID ASC
结果集2:SELECT TOP PageSize * FROM (结果集1) ORDER BY ID DESC
终于结果:SELECT * FROM (结果集2) ORDER BY ID ASC
4、假设页数在后一半:
结果集1:SELECT TOP (PageCount-CurPage)*PageSize Fields FROM Table ORDER BY ID DESC
终于结果:SELECT TOP PageSize * FROM Table ORDER BY ID ASC





声明:

 博客转载地址:blog.csdn.net/longronglin/article/details/5469463.

转载于:https://www.cnblogs.com/zhchoutai/p/7258766.html

http://www.lbrq.cn/news/1422505.html

相关文章:

  • 城乡建设局官方网站/网页设计与制作软件
  • 用axure做网站的规范/百度信息流账户搭建
  • 住房和建设厅网站/灰色词优化培训
  • html网站怎么做视频/优化营商环境发言材料
  • 3dweb做的网站/南宁seo做法哪家好
  • 建筑论坛网站/企业如何做网络推广
  • 网站开发流程指什么/搜狗推广登录平台
  • 南京做网站建设有哪些内容/月饼营销软文
  • 广告公司网站模板/软文范例100字
  • 扬州做网站公司/拼多多女装关键词排名
  • 怎样做网站管理与维护/如何查询关键词的搜索量
  • 吴桥钢结构网架公司/进行优化
  • 大连 做网站/g3云推广靠谱吗
  • 重庆网站建设子沃科技熊掌号/渠道营销推广方案
  • 2022年免费网站软件下载/注册域名费用一般多少钱
  • 什么网站做免单衣服/新浪微指数
  • 丽江建设工程信息网站/seo销售代表招聘
  • 运营好网站/微信软文案例
  • 官网建站模板库/网站排名优化外包公司
  • 常用的设计网站有哪些/互联网营销师培训大纲
  • 济南企业做网站推广网站/网络推广有多少种方法
  • 做任务送科比网站/seo外推
  • 网站制作无锡/宁波seo推广服务电话
  • 建网站用什么系统/企业qq一年多少费用
  • 西宁做网站的好公司/二级网站怎么做
  • 办公室设计装修咨询/seo优化快排
  • 上海网站高端/关键词优化的方法有哪些
  • 网站建设方案的企业/个人网站的制作模板
  • 西安网站建设设计的好公司哪家好/windows优化软件哪个好
  • 北京公司网站建设报价/百度指数的网址是什么
  • 测试18种RAG技术,找出最优方案(四)
  • PHP反序列化的CTF题目环境和做题复现第1集
  • 启发式合并 + 莫队 恋恋的心跳大冒险
  • [创业之路-550]:公司半年度经营分析会 - 常见差距与根因分析示例
  • PowerShell 格式化系统完全掌握(下):自定义列/格式字符串/对齐与宽度 + 实战模板
  • Effective C++ 条款42:了解 typename 的双重含义