一、概述

1.1 数据库环境

1.2RDBMS数据库管理系统(DBMS,Database Management System)是为管理数据库而设计的软件管理系统;当前最广泛的DBMS系统是RDBMS(RelationalDBMS),在RDBMS模型中,使用二维表格来表示数据库中的数据,代表性的RDBMS包括:Oracle、MicrosoftSQL Server、MySQL、PostgreSQL等;数据库管理系统使用情况世界排名,参考:https://db-engines.com/en/ranking

1.3 CAP 定理1998年,加州大学计算机科学家 Eric Brewer 提出:在设计一个分布式环境的应用程序时,存在三个基本(需求)指标,分别是一致性、可用性、分区容错性(首字母分别是 C、A、P),在任何时间点,一个分布式系统都只能满足上述三个指标中任意二个,而不可能三个指标同时满足;这个结论就叫做 CAP 定理(又称"布鲁尔定理",Brewer'stheorem);CAP理论的核心是:一个分布式系统不可能同时很好的满足"一致性、可用性、分区容错"这三个需求,最多只能同时较好的满足两个;因此,根据 CAP原理可以将数据库分成三类:(1)满足CA原则:单点集群,满足一致性,可用性的系统,通常可扩展性较差;传统RDBMS系统属于CA;(2)满足CP原则:满足一致性,分区容忍性的系统,通常性能不是特别高???(3)满足AP原则:满足可用性,分区容忍性的系统,通常可能对一致性要求低一些;

1一致性(Consistency):所有节点在同一时间具有相同的数据;即:写操作之后,再进行读操作,必须返回写入的值;即:一旦写入数据,以后的任何读取请求都应包含该数据;比如:更新订单状态后,所有客户端都应该能够看到相同的数据;2可用性(Availability):保证每个请求不管成功或者失败都应该有响应;即:只要收到用户的请求,服务器就必须给出回应,服务器不应该有任何宕机时间;3分区容错(Partition tolerance):大多数分布式系统都分布在多个子网络中,每个子网络就叫做一个区(Partition);分区容错意味着即使服务器之间的通信不稳定,系统也应继续运行;比如:某个分区中的服务器不可用,但其他分区中的服务器始终不受影响;1.4 水平(横向)扩展传统RDBMS数据库系统面临新的挑战,比如:(1)数据库并发负载高,读写请求万次/秒;(2)海量数据存储,万条/秒,亿条/天;(3)数据库空间占用越来越大;(4)很多应用系统并不要求严格的数据库事务,或事务要求降低;(5)对数据的实时性要求降低;(6)多表之间的关联查询被弱化;在"如何扩展传统RDBMS数据库"问题(性能,空间,速度等)上,是个头疼的问题,通常采用的方式有二种:扩展方式描述1纵向扩展(scale up,垂直扩展)使用性能更强劲的机器来满足(单个节点的)扩展需要;但(单节点)物理机器都有性能极限,当达到极限时,将很难再扩展了;2横向扩展(scale out,水平扩展)通过数据分区(或类似方式)将数据分散到(分布式)多台机器上(类似集群);当需要提高性能时,添加新机器并加入到集群中;MongoDB的"横向扩展"方式包括:"Replica Sets复制集","Sharding分片集群";实际生产环境下,"横向扩展"的优势将更加明显,但实际实施过程中,"横向扩展"需求看似简单,却困难重重;比如RDBMS系统中:(1)MySQL/PostgresSQL都无法在多台服务器上同时运行单个数据库(多台服务器无法同时读取或修改数据);(2)Oracle可以通过RAC(Real Application Clusters,实时应用集群)构架实现横向扩展,但价格及其高昂;1.5 NoSQL常用的数据存储方式有三种:(1)文件系统直接存储(比如:excel、access等);(2)关系型数据库系统(RDBMS);(3)NoSQL数据库系统;传统RDBMS系统适用于保存结构化数据,使用SQL查询数据;RDBMS系统基于ACID(Atomic原子性、Consistent一致性、Isolated隔离性、Durable持久性)事务的概念;(1)Atomic原子性:对于一个事务而言,要么全做,要么全不做;(2)Consistent一致性:当一个事务被提交后,提取特定数据的查询都将得到相同的结果;(3)Isolated隔离性:被应用到相同数据集的事务都是独立的,一个事务不会干扰另一个事务;(4)Durable持久性:数据的改变是永久的,即使出现故障也不会丢失;NoSQL(NotOnly SQL)是一种非关系型、分布式数据库系统,它放弃了传统RDBMS中的结构化模型,也不完全遵循ACID特性,而是使用更加接近系统数据流需求的方式实现数据模型;实际优势如下:高可扩展性、分布式计算、没有复杂的关系、低成本、架构灵活、半结构化数据;NoSQL适用于超大规模数据的存储;常见的NoSQL数据模型包含如下几类:存储方式描述主要产品1列存储按"列"存储数据,方便存储"结构化"或"半结构化"的数据,数据压缩方便,在针对某列或某几列的查询中有非常大的I/O优势;SimpleDB、BigTable(Google)、HBase(Apache)、Cassandra(Facebook)、Hypertable、Azure TS2键值方式Key-Value存储;通过key键可快速查询到value值;(1)In-memory:Memcached(数据仅存储在内存中,以牺牲数据持久性来换取速度)(2)Disk Based:Redis、Tokyo Cabinet、Dynamo(Amazon)、Voldemort、Flare、Tyrant、BerkeleyDB3对象式存储通过类似"面向对象语言"的语法方式操作数据库,通过对象的方式存取数据;db4o、Versant4文档样式存储使用JSON格式存储数据,存储的内容是文档型的;MongoDB、CouchDB(Apache)、SimpleDB、LotusDomino、Riak5图形式存储图形关系的最佳存储方式;Neo4j、FlockDB、InfiniteGraph、Virtuoso、GraphDB6XML式存储高效存储XML数据,并支持XML的内部查询语法(比如XQuery、Xpath等)BaseX,Berkeley DB XML、MarkLogic

(0)

相关推荐

  • 什么是集群,集群的概念介绍

    集群术语须知 服务硬件:指提供计算服务的硬件,比如 PC 机.PC 服务器. 服务实体:服务实体通常指服务软体和服务硬体. 节点(node):运行 Heartbeat 进程的一个独立主机称为节点,节点 ...

  • 生态旅游概述

    生态旅游被广泛定义为到濒危和通常未受干扰的地方进行的低影响旅游.它与传统旅游不同,因为它可以让游客对当地的自然景观和文化特征有所了解,而且经常为保护提供资金,并有利于经常贫困地区的经济发展. 生态旅游 ...

  • 经络穴位解读——手阳明大肠经概述及重要穴位

    经络穴位解读--手阳明大肠经概述及重要穴位 原创牛奶和奶牛2020-11-30 19:20:14 今天我们来解读一下手阳明大肠经.在中医学里,经络是与脏腑相匹配的.同时也是互为表里的关系.例如手太阴肺 ...

  • 区域地理学概述

    区域地理学是地理学研究世界区域的一个分支.一个地区本身被定义为地球表面的一部分,具有一个或多个类似的特征,使其有别于其他地区.区域地理学研究的是与地方的文化.经济.地形.气候.政治和环境因素有关的特定 ...

  • 概述蛋白石

    蛋白石因颜色.光泽独特而名.其彩虹般绚丽耀目的光芒多彩似马赛克,充满了神秘性,足其它宝石无可比拟的. 虽然名为蛋白石,却非单一色调,如果仅仅是白色,倒反而没有价值了.透明.红色.黄色色系,在澳洲多为乳 ...

  • 中国历史概述(九十六)——蒙古太宗至宪宗时期的政治经济

    前面几期我们着重从军事征服角度介绍了成吉思汗即位到蒙哥去世前后蒙古的历史.本期我们着重介绍在蒙古太宗窝阔台至宪宗蒙哥时期的政治经济等方面的情况. 成吉思汗的分封 蒙古汗国是成吉思汗在母亲.诸弟帮助下建 ...

  • 中国历史概述(九十四下)——附 蒙古对东北地区的征服

    蒙古对东北地区的征服过程,与金国在东北势力的消亡有关.蒙古在东北的统治前期依靠契丹.女真等族贵族建立的政权作为藩属,到元初逐渐改为直接统治. 蒙古对辽西的战争与东辽国的建立 1211年,蒙古军第一次围 ...

  • 中国历史概述(九十四上)——蒙金战争与金国覆灭

    蒙古对金的战争和最后的完全征服花费了二十多年的时间,这期间由于西征等原因,对金作战并不是一次性完成的.而在这个过程中,金国内部的矛盾和红袄军起义也加速了金的灭亡.本期专述蒙古对金战争与金国灭亡的历史. ...

  • 中国历史概述(九十三)——蒙古对回鹘、西辽、西夏、吐蕃、大理的征服

    蒙古汗国在建立以后,通过数十年的战争,先后收服回鹘.灭西辽.灭西夏.收服吐蕃.灭大理,将西部的辽阔地区纳入版图中.本期主要介绍以上历史内容.关于蒙古三次大规模西征的情况,将在第九十五期作介绍. 回鹘的 ...

  • 总线概述及常见总线

    一. 总线概念 所谓总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道.总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,可以将计算机系统内的多种设备 ...

  • 简单概述 .NET Framework 各版本区别

    dotNET跨平台 今天 以下文章来源于UP技术控 ,作者conan5566 UP技术控不止IT 还有生活 目前已发行的版本有1.0.1.1.2.0.3.0.3.5.4.0.4.5(及4.5.1.4. ...