zoukankan      html  css  js  c++  java
  • NoSQl简介(转)

    NoSQL,全称是“Not Only Sql”,指的是非关系型的数据库。这类数据库主要有这些特点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场全新的数据库革命运动早期就有人提出,发展至2009年趋势越发高涨。

    NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新思维的注入。 

    传统关系型数据库的劣势

    互联网深入发展,大数据已是平常。而且传统的关系型数据库,面对大规模的高并发显得力不从心,例如:

    1.对数据库高并发读写的需求

    例如淘宝、微博,数据库并发负载非常高,往往要达到每秒上万次读写请求。不仅关系型数据库很难高效的处理这样的大并发读写操作,而且对于硬盘IO也很难能承受得了这样的读写查询。

    2.对海量数据的高效率存储和访问的需求

    用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,关系数据库很难应付。

    3对数据库的高可拓展性和高可用性的需求

    在基于web的架构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,你的数据库却没有办法像webserver和appserver那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。

    因此,关系数据库在这些越来越多的应用场景下显得不那么合适了,为了解决这类问题的NoSQL数据库应运而生。

    NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

    NoSQL优缺点

    优点:
    -可以处理大量数据
    -低成本,运行在便宜的PC服务器上
    -分布式计算
    -没有复杂的关系
    -架构灵活,半结构化数据

    缺点:
    – 没有标准化
    – 有限的查询功能(到目前为止)
    – 最终一致是不直观的程序

    原文地址:http://coderschool.cn/1688.html

  • 相关阅读:
    Javascript中String()和new String()的区别——JS的包装对象
    文言色彩的客套话之感想
    面试时候可以问的问题集锦
    ES6的原始类型数据——Symbol
    python
    python
    python
    python
    python
    python
  • 原文地址:https://www.cnblogs.com/psz1992/p/5234803.html
Copyright © 2011-2022 走看看