贵州做网站公司
贵州做网站公司~专业!靠谱!
10年网站模板开发经验,熟悉国内外开源网站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等网站程序,可为您提供网站建设,网站克隆,仿站,网页设计,网站制作,网站推广优化等服务。我们专注高端营销型网站,企业官网,集团官网,自适应网站,手机网站,网络营销,网站优化,网站服务器环境搭建以及托管运维等。为客户提供一站式网站解决方案!!!

非关系型数据库缺点(关系型数据库和非关系型数据库有哪些优缺点)

来源:网络转载 时间:2024-05-02 16:03:42

    一、关系型数据库

    1、概念

    关系型数据库:是指采用了关系模型来组织数据的数据库,是目前各类数据库中使用最为广泛的数据库系统。简单的说,关系模型指的就是二维表格模型,一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。现在使用的主流数据库都是关系型数据库,比如SQL Server、MySQL、Oracle、DB2、Sybase等。
    关系模型中常用的概念:
    关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名。
    元组:可以理解为二维表中的一行,在数据库中经常被称为记录。
    属性:可以理解为二维表中的一列,在数据库中经常被称为字段。
    域: 属性的取值范围,也就是数据库中某一列的取值限制。
    关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成。
    关系模式:指对关系的描述。其格式为:关系名(属性1、属性2......属性N),在数据库中称为表结构。

    2、关系型数据库的特点

    关系数据库是支持关系模型的数据库系统。而关系模型是由二维表来表示实体和实体间联系的模型。使用二维表存储数据,对使用者来说很直观,更容易理解。使用关系数据库的优势主要表现在以下几个特性:
    (1)操作方便性。通过开发应用程序和数据库连接,用户能方便的对数据库中数据进行操作,特别对没有数据库基础的人,也可以通过数据库管理系统,直接在数据库中操作。
    (2)易于维护性。关系数据库在完整性约束中提供了实体完整性、参照完整性和用户定义的完整性,通过完整性约束可以大大降低数据存储的冗余及数据不一致的概率。
    (3)访问数据的灵活性。关系数据库中提供了诸如视图、存储过程、触发器、索引等对象,使数据的访问更加灵活。

    3、关系型数据库的瓶颈

    (1)对数据库高并发读写的需求
    Web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,无法使用动态页面静态化技术,因此数据库的并发负载非常高,往往要达到每秒上万次的读写请求,此时,服务器上的磁盘根本无法承受如此之多的读写请求。
    (2)对海量数据的高效率存储和访问的需求
    对于大型的社交网站,每天用户产生海量的用户动态,随着用户的不断增减,一个数据表中的记录可能有几亿条,对于关系型数据库来说,在一个有上亿条记录的表里面进行SQL查询,效率是及其低下的。
    (3)高扩展性和可用性
    在基于web的结构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库没有办法像web server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。

    4、关系型数据遵循ACID原则

    事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:

    1、A (Atomicity) 原子性

    原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。

    2、C (Consistency) 一致性

    一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。

    3、I (Isolation) 独立性

    所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。比如现有有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的。

    4、D (Durability) 持久性

    持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。

    二、NoSQL数据库

    NoSQL是用于指代那些非关系型的、分布式的、且一般不保证遵循ACID原则的非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。非关系型数据库提出了另外一种概念,例如:以键值对的方式进行存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,用户可以根据需要去添加自己需要的字段。但非关系型数据库由于很少的约束,他也不能够提供像SQL所提供的where这种对于字段属性值情况的查询。并且难以体现设计的完整性。它只适合存储一些较为简单的数据,对于需要进行较复杂查询的数据,SQL数据库显的更为合适。

    1、分布式系统

    分布式系统(distributed system)由多台计算机和通信的软件组件通过计算机网络连接(本地网络或广域网)组成。

    分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。

    因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。

    分布式系统可以应用在在不同的平台上如:Pc、工作站、局域网和广域网上等。

    2、分布式计算的优点

    可靠性(容错) :

    分布式计算系统中的一个重要的优点是可靠性。一台服务器的系统崩溃并不影响到其余的服务器。

    可扩展性:

    在分布式计算系统可以根据需要增加更多的机器。

    资源共享:

    共享数据是必不可少的应用,如银行,预订系统。

    灵活性:

    由于该系统是非常灵活的,它很容易安装,实施和调试新的服务。

    更快的速度:

    分布式计算系统可以有多台计算机的计算能力,使得它比其他系统有更快的处理速度。

    开放系统:

    由于它是开放的系统,本地或者远程都可以访问到该服务。

    更高的性能:

    相较于集中式计算机网络集群可以提供更高的性能(及更好的性价比)。

    3、分布式计算的缺点

    故障排除:

    故障排除和诊断问题。

    软件:

    更少的软件支持是分布式计算系统的主要缺点。

    网络:

    网络基础设施的问题,包括:传输问题,高负载,信息丢失等。

    安全性:

    开发系统的特性让分布式计算系统存在着数据的安全性和共享的风险等问题。

    4、关系型数据库和非关系型数据库的比较

    4.1、关系型数据库

    - 高度组织化结构化数据
    - 结构化查询语言(SQL) (SQL)
    - 数据和关系都存储在单独的表中。
    - 数据操纵语言,数据定义语言
    - 严格的一致性
    - 基础事务

    4.2、NoSQL

    - 代表着不仅仅是SQL
    - 没有声明性查询语言
    - 没有预定义的模式
    -键 - 值对存储,列存储,文档存储,图形数据库
    - 最终一致性,而非ACID属性
    - 非结构化和不可预知的数据
    - CAP定理
    - 高性能,高可用性和可伸缩性

    关系型数据库的最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有要求的系统中,如典型的银行系统。
    但是,在网页应用中,尤其是SNS应用中,一致性却不是显得那么重要,用户A看到的内容和用户B看到同一用户C内容更新不一致是可以容忍的,或者说,两个人看到同一好友的数据更新的时间差那么几秒是可以容忍的,因此,关系型数据库的最大特点在这里已经无用武之地,起码不是那么重要了。
    相反地,关系型数据库为了维护一致性所付出的巨大代价就是其读写性能比较差,而像微博、facebook这类SNS的应用,对并发读写能力要求极高,关系型数据库已经无法应付(在读方面,传统上为了克服关系型数据库缺陷,提高性能,都是增加一级memcache来静态化网页,而在SNS中,变化太快,memchache已经无能为力了),因此,必须用新的一种数据结构存储来代替关系数据库。
    关系数据库的另一个特点就是其具有固定的表结构,因此,其扩展性极差,而在SNS中,系统的升级,功能的增加,往往意味着数据结构巨大变动,这一点关系型数据库也难以应付,需要新的结构化数据存储。
    于是,非关系型数据库应运而生,由于不可能用一种数据结构化存储应付所有的新的需求,因此,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。
    必须强调的是,数据的持久存储,尤其是海量数据的持久存储,还是需要使用关系型数据库的。

    5、NoSQL的优点/缺点

    优点:

    • - 高可扩展性

    • - 分布式计算

    • - 低成本

    • - 架构的灵活性,半结构化数据

    • - 没有复杂的关系

    缺点:

    • - 没有标准化

    • - 有限的查询功能(到目前为止)

    • - 最终一致是不直观的程序

    抖音(Tiktok)是由北京字节跳动科技有限公司(ByteDance)孵化的音乐创意短视频社交网站。它于2016年9月20日上线,主要面向全年龄段的用户,尤其是...

    飞极速为您提供高清在线电影、电视剧大全、动画片,综艺等,飞极速在线更新及时,播放速度快,给您带来最好的观影体验!飞极速在线,免费提供日本新番动漫、最新电影和最新...

    《南华早报》(英语:South China Morning Post, SCMP)和星期日出版的《星期日南华早报》(英语:Sunday Morning Post...

    (资料图)随着社会越来越发达,大家都选择在网络上汲取相关知识内容,比如微信小秘是个软件吗,为了更好的解答大家的问题,小编也是翻阅整理了相应内容,下面就一起来看一下吧!微信小秘现改名为微小秘,是由微秘书工作室自主研发的微信营销软件,且是一款高效的移动互联网营销工具。基于安卓系统的微信群发软件,其精准、真实、在线互动的模式在国内处于领先位置。拥有完善的销售管理体系和配套的售后服务网络,刚上市就受到广大...

    优色林淡斑精华有用吗优色林淡斑精华白天能用吗?下面一起来了解下吧。优色林淡斑精华是很出名的一款产品,很多网友都在安利,李佳琦也不例外,据说这款产品淡斑美白效果很显著。那么,优色林淡斑精华白天能用吗?是不是真的那么好用?让我们一起来看看吧!真的提亮肤色!一个星期左右肤色明显变的很健康。鼻翼本来的泛红有一点改善(不过不确定是不是这个精华的原因)。搓泥是有的,但比较轻微,一定不可以搭搓泥的面霜一起用。美...

    (资料图片仅供参考)1、军团再临第二版,猎人的宠物有三个职业技能(狡猾、凶猛、坚韧)。所有宠物都可以随意切换。所以其实宠物只有外观的区别,效果是一样的。2、在8.0版本中,暴雪发布了蓝色贴纸,专门说明猎人宝宝的情况。取消了军团二次降临版本中的设定,恢复了之前老版本中的设定,也就是说宠物会根据自己的物种有不同的天赋和技能。3、在8.0版本中,旧的DPS/坦克专精将被移除,所有攻防被动技能将成为所有宠...

    TOP