nosql 订阅
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 [1] 展开全文
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 [1]
信息
外文名
NoSQL=Not Only SQL
类    别
非关系型的数据库
分    类
键值存储、列存储等
中文名
非关系型数据库
全    称
Not Only SQL
应用领域
计算机、软件、数据库
NoSQL基本含义
NoSQL最常见的解释是“non-relational”, “Not Only SQL”也被很多人接受。NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。NoSQL是一项全新的数据库革命性运动,其拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。NoSQL有如下优点:易扩展,NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。无形之间也在架构的层面上带来了可扩展的能力。大数据量,高性能,NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。 [2] 
收起全文
精华内容
下载资源
问答
  • NoSQL

    千次阅读 2016-03-31 21:51:26
  • NOSQL

    万次阅读 2019-01-21 00:04:13
    1.什么是NOSQLNoSQL(NoSQL=Not Only SQL):  意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 2.为什么需要NOSQL 随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统...

    1.什么是NOSQL:

    NoSQL(NoSQL=Not Only SQL):

    •   意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。

    2.为什么需要NOSQL

    • 随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统数据库上都开始出现了性能瓶颈,web程序不
      再仅仅专注在功能上,同时也在追求性能。所以NOSQL数据库应运而上,具体表现为对如下三高问题的解决:
      High performance - 对数据库高并发读写的需求
      web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态
      化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉
      强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。其实对于普通的BBS网站,往往也存
      在对高并发写请求的需求,例如网站的实时统计在线用户状态,记录热门帖子的点击次数,投票计数等,因
      此这是一个相当普遍的需求。
      Huge Storage - 对海量数据的高效率存储和访问的需求
      类似Facebook,twitter,Friendfeed这样的SNS网站,每天用户产生海量的用户动态,以Friendfeed为例,
      一个月就达到了2.5亿条用户动态,对于关系数据库来说,在一张2.5亿条记录的表里面进行SQL查询,效率是
      极其低下乃至不可忍受的。再例如大型web网站的用户登录系统,例如腾讯,盛大,动辄数以亿计的帐号,关
      系数据库也很难应付。
      High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求
      在基于web的架构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,
      你的数据库却没有办法像web server和app server那样简单的通过添加更多的硬件和服务节点来扩展性能和
      负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事
      情,往往需要停机维护和数据迁移,为什么数据库不能通过不断的添加服务器节点来实现扩展呢?
    展开全文
  • NoSql

    2017-09-25 11:16:53
    什么是nosqlNoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。2009年,Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论[2],来自Rackspace的Eric ...
    1. 什么是nosql?

      NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。
      
      2009年,Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论[2],来自Rackspace的Eric Evans再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。因此,对NoSQL最普遍的解释是"非关联型的",强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS。
      
      NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
      
      NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
      
    2. 为什么要使用nosql?

      我们可以通过第三方平台可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。
      
    3. Nosql的优点?

      • 高可扩展性
      • 分布式计算
      • 低成本
      • 架构的灵活性,半结构化数据
      • 没有复杂的关系
    4. Nosql的缺点?

      • 没有标准化
      • 有限的查询功能(到目前为止)
      • 最终一致是不直观的程序
    5. Nosql数据库分类?

    这里写图片描述
    6. 当下主流的Nosql数据库?

    1、Cassandra
        Cassandra是一个网络社交云计算方面理想的数据库。它集成了其它的流行工具如Solr,现在已经成为一个完全成熟的大型数据存储工具。
        Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB。Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra的一个写操作,会被复制到其他节点上去,而对Cassandra的读操作,也会被路由到某个节点上面去读取。 
    
     2、Lucene/Solr
        Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构。
        不过大多数人并不认同Lucene是一个数据库,因为大多数人只是用它来检索大量的文本块,不过它的确采用了与其他NoSQL数据存储相似的模型。
        当查询并不是仅仅局限于精确的匹配,而是寻找出那些出现在块中的字或者字段的话,毫无疑问,Lucene/Solr是最好的查询方式。
    
    
    3、Riak
        Riak是一个类似Dynamo的分布式Key-Value系统。以分布式,水平扩展性,高容错性等特点著称。 
    
    4、CouchDB
        CouchDB是面向文档的数据库系统,其数据存储方式有点类似lucene的index文件格式,CouchDB最大的意义在于它是一个面向web应用的新一代存储系统。
        作为一个分布式的数据库,CouchDB可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。 
    
    5、Neo4J
        大多数的NoSQL数据库只是存储键和值的一个灵活的捆绑。不过Neo4J的存储的是对象之间的关系,或者说这种结构就是数学中的“图”。
        Neo4J是一个面向网络(“图”)的数据库,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络上而不是表中,也可以把Neo4J看作是一个高性能的图引擎,该引擎具有成熟和健壮的数据库的所有特性。 
    
    6、Oracle的No SQL
        Oracle的NoSQL Database是Big Data Appliance的其中一个组件,Big Data Appliance是一个集成了Hadoop、NoSQL Database、Oracle数据库Hadoop适配器、Oracle数据库Hadoop装载器及R语言的系统。
        Oracle的NoSQL Database将键/值对拆分在整个节点集上,这样的优势在于提供了一个灵活的事务保护措施,进而可以确保从数据在节点上等待存储开始到通过网络被成功备份结束,都尽在掌握之中。
    
    7、MongoDB
        MongoDB是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。
        MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
        MongoDB支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
    
    8、HBase
        HBase(Hadoop Database),是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据。
     在HBase中也是通过节点来传播数据。Hadoop的Map /Reduce的架构是非常适合于复杂的计算任务或查询工作。 
    
    9、Bigtable
        BigTable是非关系的数据库,是一个稀疏的、分布式的、持久化存储的多维度排序Map。
        Bigtable的设计目的是可靠的处理PB级别的数据,并且能够部署到上千台机器上。
        Bigtable已经实现了下面的几个目标:适用性广泛、可扩展、高性能和高可用性。 
    
    
    10、DynamoDB
        DynamoDB是亚马逊的key-value模式的存储平台,可用性和扩展性都很好,性能也不错:读写访问中99.9%的响应时间都在300ms内。
        DynamoDB的NoSQL解决方案,也是使用键/值对存储的模式,平且通过服务器把所有的数据存储在SSD上的三个不同的区域。如果有更高的传输需求,DynamoDB也可以在后台添加更多的服务器。
    
    展开全文
  • Nosql

    2018-11-22 12:39:19
    不懂NOSQL这些知识, 怎么混! NOSQL的概念  刚刚出现NOSQL这个概念的时候,很多人都是似而非的字面理解成"不是SQL", 与传统的关系型数据库是两个完全独立的阵营,实际上完全不是这么回事。个人更倾向...

    不懂NOSQL这些知识, 怎么混!

    NOSQL的概念

         刚刚出现NOSQL这个概念的时候,很多人都是似而非的字面理解成"不是SQL", 与传统的关系型数据库是两个完全独立的阵营,实际上完全不是这么回事。个人更倾向于理解NOSQL的诞生更多的是为了补充关系型数据库的短板,满足现下互联网海量数据、高并发、低延迟和非结构化数据易扩展等需求。

        NoSQL = Not Only SQL,意即“不仅仅是SQL”,是对不同于传统的关系型数据库的数据库管理系统的统称。与关系型数据库相比,它们在架构和数据模型方面做了“减法”,而在扩展和并发等方面做了“加法”。

    NOSQL简史

    NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。

    2009年,Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论,来自Rackspace的Eric Evans再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。

    2009年在亚特兰大举行的"no:sql(east)"讨论会是一个里程碑,其口号是"select fun, profit from real_world where relational=false;"。因此,对NoSQL最普遍的解释是"非关联型的",强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS。

    SQL与NOSQL的异同

    SQL vs NoSQL:异同比较SQL(结构化查询语言)数据库成为主流的数据存储机制已经存在了80余年。在1990年代末,随着web应用和诸如MySQL、PostgreSQL和SQLite这类开源项目的兴起,SQL随之得到爆发式应用。

    NoSQL数据库产生于1960年代,但是最近才出现了一些类似于MongoDB、CouchDB、Redis和Apache Cassandra这样的流行选择。


     

    为何要使用NoSQL

    NoSQL具有灵活的数据模型,可以处理非结构化/半结构化的大数据

    NoSQL很容易实现可伸缩性(向上扩展与水平扩展)

    NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构

    NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。

    NOSQL的分类

    主流的NoSQL数据库主要分为4类:

    键值(Key-Value)存储数据库

    这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。例如:Redis,Memcache, DynamoDB等

    列存储(Wide-Column)数据库

    这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase。

    文档型(Document)数据库

    文档型数据库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可 以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如:CouchDB, MongoDB。

    图形(Graph)数据库

    图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。 如:OrientDB, Neo4J, Titan等。

    其他还有类似对象数据库,XML数据库大家自行搜索吧。另外很多NOSQL数据库其实是支持多模型的,比如OrientDB同时支持Key-Value, Document, Graph, Object数据库。







     

    展开全文
  • nosql

    千次阅读 2017-11-19 21:15:15
    nosql:下一代通用数据库(非关系型数据库),其特性有: 非关系、分布式、开源、支持横向扩展 nosql大多是分布式的,因其支持水平扩展,作为分布式系统,要理解CAP和base逻辑 官方非关系型数据库分类: 1.列...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 153,876
精华内容 61,550
关键字:

nosql