精华内容
下载资源
问答
  • 通常数据库分为关系型数据库非关系型数据库关系型数据库的优势到现在也是无可替代的,比如MySQL、Oracle、SQL Server、DB2、SyBase、Informix、PostgreSQL以及比较小型的Access等等数据库,这些数据库支持复杂的...

    通常数据库分为关系型数据库和非关系型数据库,关系型数据库的优势到现在也是无可替代的,比如MySQL、Oracle、SQL Server、DB2、SyBase、Informix、PostgreSQL以及比较小型的Access等等数据库,这些数据库支持复杂的SQL操作和事务机制,适合小量数据读写场景;但是到了大数据时代,人们更多的数据和物联网加入的数据已经超出了关系数据库的承载范围。

    大数据时代初期,随着数据请求并发量大不断增大,一般都是采用的集群同步数据的方式处理,就是将数据库分成了很多的小库,每个数据库的数据内容是不变的,都是保存了源数据库的数据副本,通过同步或者异步方式保证数据的一致性,每个库设定特定的读写方式,比如主数据库负责写操作,从数据库是负责读操作,等等根据业务复杂程度以此类推,将业务在物理层面上进行了分离,但是这种方式依旧存在一定的负载压力的问题,企业数据在不断的扩增中,后面就采用分库分表的方式解决,对读写负载进行分离,但是这种实现依旧存在不足,且需要不断进行数据库服务器扩容。

    本文着重介绍一下NoSQL(Not Only SQL)数据库。我总体将NoSQL分为5类

    一、列族数据库

    下面简单介绍几个

    (1)Cassandra:

    Cassandra是一个列存储数据库,支持跨数据中心的数据复制。它的数据模型提供列索引,log-structured修改,支持反规范化,实体化视图和嵌入超高速缓存。

    (2)HBase:

    Apache Hbase源于Google的Bigtable,是一个开源、分布式、面向列存储的模型。在Hadoop和HDFS之上提供了像Bigtable一样的功能。

    (3)Amazon SimpleDB:

    Amazon SimpleDB是一个非关系型数据存储,它卸下数据库管理的工作。开发者使用Web服务请求存储和查询数据项

    (4)Apache Accumulo:

    Apache Accumulo的有序的、分布式键值数据存储,基于Google的BigTable设计,建立在Apache Hadoop、Zookeeper和Thrift技术之上。

    (5)Hypertable:

    Hypertable是一个开源、可扩展的数据库,模仿Bigtable,支持分片。

    (6)Azure Tables:

    Windows Azure Table Storage Service为要求大量非结构化数据存储的应用提供NoSQL性能。表能够自动扩展到TB级别,能通过REST和Managed API访问。

    二、键值数据库

    下面简单介绍几个

    (1)Redis:

    Redis是一个开源的键值存储。支持主从式复制、事务,Pub/Sub、Lua脚本,还支持给Key添加时限。

    (2)Riak:

    Riak是一个开源,分布式键值数据库,支持数据复制和容错。

    (3)Dynamo:

    Dynamo是一个键值分布式数据存储。它直接由亚马逊Dynamo数据库实现;在亚马逊S3产品中使用。

    (4)Oracle NoSQL Database:

    来自Oracle的键值NoSQL数据库。它支持事务ACID(原子性、一致性、持久性和独立性)和JSON。

    (5)Voldemort:

    具备数据备份和分布式键值存储系统。

    (6)Aerospike:

    Aerospike数据库是一个键值存储,支持混合内存架构,通过强一致性和可调一致性保证数据的完整性。

    三、文档数据库

    (1)MongoDB:

    开源、面向文档,也是当下最人气的NoSQL数据库。

    (2)CounchDB:

    Apache CounchDB是一个使用JSON的文档数据库,使用Java做MapReduce查询,以及一个使用HTTP的API。

    (3)Couchbase:

    NoSQL文档数据库基于JSON模型。

    (4)RavenDB:

    RavenDB是一个基于.NET语言的面向文档数据库。

    (5)MarkLogic:

    MarkLogic NoSQL数据库用来存储基于XML和以文档为中心的信息,支持灵活的模式。

    四、图数据库

    (1)Neo4j:

    Neo4j是一个图数据库;支持ACID事务(原子性、独立性、持久性和一致性)。

    (2)InfiniteGraph:

    一个图数据库用来维持和遍历对象间的关系,支持分布式数据存储。

    (3)AllegroGraph:

    AllegroGraph是结合使用了内存和磁盘,提供了高可扩展性,支持SPARQ、RDFS++和Prolog推理。

    五、内存数据网格

    (1)Hazelcast:

    Hazelcast CE是一个开源数据分布平台,它允许开发者在数据库集群之上共享和分割数据。

    (2)Oracle Coherence:

    Oracle的内存数据网格解决方案提供了常用数据的快速访问能力,一致性支持事务处理能力和数据的动态划分。

    (3)Terracotta BigMemory:

    来自Terracotta的分布式内存管理解决方案。这项产品包括一个Ehcache界面、Terracotta管理控制台和BigMemory-Hadoop连接器。

    (5)Infinispan:

    Infinispan是一个基于Java的开源键值NoSQL数据存储,和分布式数据节点平台,支持事务,peer-to-peer 及client/server 架构。

    (6)GridGain:

    分布式、面向对象、基于内存、SQL+NoSQL键值数据库。支持ACID事务。

    (7)GigaSpaces:

    GigaSpaces内存数据网格能够充当应用的记录系统,并支持各种各样的高速缓存场景。

    NoSQL的优势:

    NoSQL数据库一直以性能、可扩展性、灵活的模式和分析能力聚焦着人们的注意力。尽管关系型数据库对于某些用例来说仍是一个不错的选择,就像结构数据和要求ACID事务的应用。

    1、存储的数据实质上是半结构化或者松散的;

    2、要求一定的等级的性能和扩展性;

    3、存取该数据的应用与最终的一致性相吻合;

    4、灵活的模式;

    5、无共享架构;

    6、分片作为数据存储模型的一部分;

    7、异步复制;

    8、使用BASE替代ACID事务。

    展开全文
  • 几种常用非关系型数据库

    千次阅读 2021-07-20 18:09:24
    NoSQL数据库(非关系型数据库)是用于存储和检索数据的关系数据库系统。在当今世界,我们不应该只以没有预定义固定模式的表格式存储所有数据(固定没有列)。像用户生成的数据、地理位置数据、物联网生成的数据...
    1. 什么是NoSQL数据库?
      NoSQL数据库(非关系型数据库)是用于存储和检索数据的非关系数据库系统。在当今世界,我们不应该只以没有预定义固定模式的表格式存储所有数据(固定没有列)。像用户生成的数据、地理位置数据、物联网生成的数据一样,社交图是真实世界数据呈指数级增长的例子。这些庞大的数据也需要大量的处理。这时NoSQL数据库就出现了。使用NoSQL数据库,我们可以存储和退休的文件,键值,图形为基础的数据容易和更快。我们可以很容易地避免复杂的SQL连接操作。易于使用NoSQL DBs对实际问题(web和企业业务应用程序)进行水平伸缩。Carlo Strozzi是在1998年引入NoSQL术语的。使用NoSQL的动机——设计的简单性、对机器集群的水平扩展

    2. NoSQL数据库类型
      文档数据库——这些数据库通常将每个键与称为文档的复杂数据结构配对。文档可以包含键数组对、键值对甚至嵌套文档。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
      文档数据库——这些数据库通常将每个键与称为文档的复杂数据结构配对。键值存储——每个单独的项都存储为键值对。键值存储是所有NoSQL数据库中最简单的数据库。示例:Redis, Memcached, Apache Ignite, Riak。
      宽列存储——这些类型的数据库针对大型数据集上的查询进行了优化,它们将数据列存储在一起,而不是行。示例:Cassandra,Hbase,Scylla。
      图形存储——这些存储关于图形、网络的信息,例如社会关系、路线图、交通链接。示例:Neo4j,AllegroGraph。

    3. 2019最佳NoSQL数据库
      MongoDB:是一个面向文档的开源NoSQL数据库。MongoDB使用JSON之类的文档来存储任何数据。它是用c++写的。
      Cassandra:是Facebook为收件箱搜索开发的。Cassandra是一个用于处理大量结构化数据的分布式数据存储系统。
      Redis:是最著名的键值存储。Redis是用C语言编写的。它是根据BSD授权的。
      HBase:是谷歌为BigTable数据库设计的分布式非关系数据库。
      Neo4j:称为原生图数据库,因为它有效地实现了属性图模型,一直到存储层。
      Oracle NoSQL:实现了从用户定义的键到不透明数据项的映射。
      Amazon DynamoDB:使用了一个NoSQL数据库模型,它是非关系型的,允许文档、图形和列在它的数据模型之间。
      Couchbase:是一个用于交互式web应用程序的NoSQL文档数据库。它具有灵活的数据模型,易于扩展,提供一致的高性能。
      Memcached:是一个开源、高性能、分布式内存缓存系统,旨在通过减少数据库负载来加速动态web应用程序。
      CouchDB:是一个开源的NoSQL数据库,使用JSON存储信息,JavaScript作为查询语言。
      参考地址

    展开全文
  • 常见的非关系型数据库有哪些

    千次阅读 2020-06-02 16:04:57
    它是一种 NoSQL(not-only sql,泛指非关系型数据库)的数据库。 Redis作为一个内存数据库,具有如下有特点: 性能优秀, 数据在内存中, 读写速度非常快, 并支持10W QPS(每秒查询效率). 单进程单线程, 是线程安全的. ...

    1. 什么是非关系型数据库

    • 什么是关系型数据库
      关系型数据库就是需要依赖现实生活的具体模型来创建的数据库, 比如具体的人, 事物, 能表示多个表之间一对一, 一对多, 多对多的关系. 而且支持事务.
      常见的Mysql, Oracle都是关心型数据库.
    • 什么是非关系型数据库
      非关系型数据库就是不需要依赖现实生活中的具体模型就可以出数据库及表. 比较灵活便利.

    2. 为什么要用非关系型数据库

    • 关系型数据库具有数据安全且容易理解的优点, 但是随着互联网的发展,数据存储越来越多, 对于并发的要求也越来越高,项目中单纯使用关系型数据库已经无法满足这些要求, 于是应运而生了非关系型数据库.
    • 非关系型数据库具有格式灵活, 成本低, 查询快, 高性能, 高扩展的优点.
    • 实际开发中通常将关系型数据库和非关系型数据库结合使用, 不同非关系型数据库具体应用场景不同.

    3. 常用的非关系型数据库有哪些

    3.1 键值对key-value型

    • key-value数据库的主要特点是具有极高的并发读写性能
    • Key-value数据库是一种以键值对存储数据的一种数据库, 类似Java中的map. 可以将整个数据库理解为一个大的map, 每个键都会对应一个唯一的值.
    • 主流最常用的代表就是Redis等
      在这里插入图片描述

    3.2 文档型

    文档型按照功能划分又分为基于海量数据存储的和基于搜索内容存储的搜索引擎,数据结构可以理解为Json格式的文档类型.

    3.2.1 基于海量数据存储

    • 这类数据库的主要特点是在海量的数据中可以快速的查询数据
    • 文档存储通常使用内部表示法, 可以直接在应用程序中处理, 主要是JSON. JSON文档也可以作为纯文本存储在键值存储或关系数据库系统中.
      主流代表为MongoDB等
      在这里插入图片描述

    3.2.2 搜索引擎

    • 搜索引擎是专门用于搜索数据内容的NoSQL数据库管理系统。
    • 主要是用于对海量数据进行近实时的分析处理,可用于机器学习和数据挖掘
    • 主流代表为Elasticsearch, Solr等.

    3.3 列式数据库

    • 这类数据库的主要特点是具有很强的可拓展性
    • 关系型数据库都是以行为单位来存储数据的, 擅长以行为单位的读入处理, 比如特定条件数据的获取. 因此, 关系型数据库也被成为面向行的数据库。相反,面向列的数据库是以列为单位来存储数据的,擅长以列为单位读入数据。
    • 这类数据库想解决的问题就是传统数据库存在可扩展性上的缺陷,这类数据库可以适应数据量的增加以及数据结构的变化,将数据存储在记录中,能够容纳大量动态列。由于列名和记录键不是固定的,并且由于记录可能有数十亿列,因此可扩展性存储可以看作是二维键值存储。
    • 主流代表为HBase等.
      在这里插入图片描述

    3.4 图数据库

    • 将数据库图形化,数据结构是图结构,
      在这里插入图片描述

    4. 几种非关系型数据库对比

    RedisMongoDBElasticSearchHbaseNeo4J
    数据结构键值对的key-value形式Json文档格式Json文档格式列簇式存储,将同一列数据存到一起图结构
    典型应用场景缓存和并发数据库1. 做缓存数据库 2. 海量数据且对允许少许数据丢失, 例如用户评论数据, 点赞数据等海量数据进行搜索应用, 例如网站搜索页面的数据大数据分布式系统,海量数据且数据比较分散社交网络,推荐系统等
    优点1. 数据存在内存中 2. 线程安全 3. 读写效率高1. 存储海量数据 2. 表结构可变数据量大,基于Lunence倒排索引原理,能实现海量数据分词搜索1.高扩展性 2. 海量数据利用图结构相关算法,符合人的思维
    缺点1.数据无结构化 2. 存储少量数据读写效率不如Reids读写效率不如Redis优点也是缺点, 没有太多花哨的功能不好做分布式系统

    真实开发也是多种数据库结合使用, 如图下图所示:
    在这里插入图片描述

    展开全文
  • 待会总结,先自我学习先一 关系型数据库 有我们只需要 记住常用的几个:mysql /oracle/sql server/sqlite 几个即可 我还有一篇文章 介绍了 关系型数据库关系型数据的数据结构 –红黑树-二叉树-B树 1.首先了解...

    关系型数据库和非关系型数据库的区别

    待会总结,先自我学习先
    一 关系型数据库 有
    在这里插入图片描述
    我们只需要 记住常用的几个:mysql /oracle/sql server/sqlite 几个即可
    我还有一篇文章 介绍了 关系型数据库和非关系型数据的数据结构 –红黑树-二叉树-B树

    1.首先了解一下 什么是关系型数据库?
    关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组
    织。
    优点:
    1、易于维护:都是使用表结构,格式一致
    2、使用方便SQL语言通用,可用于复杂查询;
    3、复杂操作支持SQL,可用于一个表以及多个表之间非常复杂的查询。
    缺点:
    1、读写性能比较差,尤其是海量数据的高效率读写;
    2、固定的表结构,灵活度稍欠
    3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈

    二 非关系型数据库
    在这里插入图片描述
    我们只需要 记住常用的:redis / hbase /mongoDB /CouchDB /Neo4J 【注意:hive 不是数据库,是数据仓库 不是一个概念】

    什么非关系型数据库呢?

    非关系型数据库严格上不是一加粗样式种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等

    优点:
    1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型
    2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
    3、高扩展性;
    4、成本低:nosql数据库部署简单基本都是开源软件

    缺点:
    1、不提供sql支持,学习和使用成本较高
    2、无事务处理
    3、数据结构相对复杂,复杂查询方面稍欠。

    非关系型数据库的分类和比较:

    1、文档型
    2、key-value型
    3、列式数据库
    4、图形数据库
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 关系型数据库非关系型数据库

    千次阅读 2020-01-09 14:49:07
    开发工作中我们常用的数据库大致分为关系型数据库非关系型数据库两种,那这两种到底是什么呢? 1.关系型数据库 所谓关系型数据库,是建立在关系模型基础上的数据库。 关系模型由关系数据结构、关系操作集合、...
  • 非关系型数据库的特点 ………………………………………………………………………………….1.关系型数据库 ………………………………………………………………………………………………2. 关系型数据库瓶颈 …………...
  • 本文拟介绍几种常用关系型数据库的架构和实现原理,以方便广大用户更进一步了解和选择。 一、 Oracle (一) Oracle 架构 Oracle Server包括数据库(Database)和实例(Instance)两大部分,两者相互独立。数据库由数据...
  • 非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定 关系数据库的(redis和MangDB) 为了处理海量数据,关系数据库设计之初就是为了替代关系型数据库的关系 ...
  • 非关系型数据库 入门简介

    千次阅读 2019-07-01 16:18:09
    非关系型数据库也叫Nosql数据库,全称是not noly sql非关系型数据库提出另一种理念,例如,以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限...
  • 当前数据库分为关系型数据库非关系型数据库 关系型数据库 关系型数据库:指采用了关系模型来组织数据的数据库。 关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据...
  • MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL ...
  • 数据库 一、概念 数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。 ...三、NoSQL与关系型数据库的区别 存储方式 传统的关系型数...
  • 文章目录一、关系数据库与非关系型数据库概述1、关系型数据库2、非关系型数据库二、关系数据库与非关系型数据库区别1、数据存储方式不同2、扩展方式不同3、对事务性的支持不同三、非关系型数据库产生背景四、Redis...
  • 一、关系型数据库  关系型数据库,是指采用了关系模型来组织数据的数据库。  关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库...
  • 关系型数据库: Oracle SQLServer Sybase Informix Access DB2 mysql vfp Ingers ...关系型数据库非关系型数据库的对比 关系型数据库关系型数据库的优势: 保持数据的一致性(事务处理)..
  • 文章目录一、关系型数据库1.1 关系型数据库中核心元素1.2 常用关系型数据库二、非关系型数据库2.1 常见的非关系型数据库 一、关系型数据库 采用了关系模型来组织数据的数据库,简单来说,关系模型指的就是二维表格...
  • 1.4 常用非关系型数据库产品介绍 1.4.1 Memcached(key-value) Memcached是一个开源的、支持高性能、高并发的分布式内存缓存系统,由C语言编写,总共2000多行代码。从软件名称上看,前3个字符“Mem”就是内存的意思...
  • 当前数据库分为关系型数据库非关系型数据库 关系型数据库 关系型数据库:指采用了关系模型来组织数据的数据库。 关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据...
  • 几种主要的非关系型数据库

    万次阅读 多人点赞 2018-03-16 18:01:51
    Hbase与传统关系型数据库区别: 数据类型 HBase只有简单的字符串类型,所有类型都由用户自己处理,它只保存字符串; 关系数据库有丰富的类型选择和存储方式。 数据操作 HBase操作只有很简单的插入、查询、删除、清空...
  • 关系型数据库是依据关系模型来创建的数据库 关系模型就是 一对一,多对多,等关系模型 常见的关系型数据库有:Mysql,Oracle,SQLserver ...非关系型数据库 主要是基于‘关系模型’的数据库 关系模...
  • 关系型数据与非关系型数据库NoSql

    千次阅读 2016-05-20 14:52:29
    所以学习了一下,发现非关系型数据库最近非常的火,特别适用于某些应用如SNS网站,所以学习了NoSql与我们常用关系型数据库之间的差别。 总的来说 1.非关系型数据库不需要表与表之间有联系。 2.非关系型数据库对...
  • 关系型数据库: Oracle SQLServer Sybase Informix ...非关系型数据库: MongoDB Cassandra CouchDB Hypertable Redis Riak Neo4j Hadoop HBase Couchbase MemcacheDB REVENDB Voldemort 关系型...
  • 四种重要的非关系型数据库

    千次阅读 2020-05-03 21:24:18
    应用:社交网络,歌曲信息,状态图 数据库转化 关系型数据库 Hbase Redis MongoDB Neo4j 历 如何做架构设计说明书 史 我必须得告诉大家的MySQL优化原理 文 UML (统一建模语言) 各种图总结 章 真实项目案例实战—...
  • 常见的关系型数据库关系型都有哪些?

    万次阅读 多人点赞 2018-12-06 23:13:35
    常见的关系型数据库关系型都有哪些? 关系型数据库: 关系模型就是指二维表格形式存储的数据库,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。 常见的有:Oracle、DB2、PostgreSQL、...
  • 常用关系型数据库管理系统

    千次阅读 2020-12-22 19:42:39
    1、Oracle 数据库
  • NoSQL(非关系型数据库

    千次阅读 2019-05-21 16:21:45
    一、关系型数据库 简介 关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft ...
  • 1. 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库。 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 197,826
精华内容 79,130
关键字:

常用非关系型数据库