NoSQL最常见的解释是non-relational,或者not only SQL,从字段意思上就可以看出,它是指非关系型数据库的统称。

NoSQL诞生的背景

随着大型网站分布式架构的发展,使用传统关系型数据库在以下几个方面显得力不从心:

1,对数据库高并发读写

随着分布式架构和微服务的流行,数据库的负载非常高,如果是1w+/s的查询需求还勉强顶得住,但是对于1w+/s的写操作,关系型数据库的性能就非常低。

2,海量数据的存储和查询

当每天产生上亿条的数据,对于关系型数据库来说,在一张上亿条记录的数据表里查询,性能是非常低的。

3,高扩展性和高可用性

对于关系型数据库来说,升级和扩展非常困难。

NoSQL的出现,正是解决上面这几个问题的。

NoSQL的分类

NoSQL共有四类:key/value数据库,文档型数据库,列存储数据库和图数据库。在项目中最常用的还是以Memcached和redis为代表的key/value数据库,和MongoDb为代表的文档型数据库。

key/value数据库代表:Memcached和Redis。

文档型数据库代表:MongoDb。

NoSQL的优势

既然NoSQL是弥补关系型数据库的不足的,所以它的的优势就非常明显:

1,处理海量数据。

2,易扩展,由于它的非关系性。

3,高可用,比如redis可以组成集群,提供7*24小时服务。

那么,NoSQL是不是就没有缺点了呢?不是的,比如它没有关系型数据的事务。

总结

1,NoSQL并不能代替关系型数据库,只能说用来弥补关系型数据库的不足,核心的业务还是得使用关系型数据库,由于它的ACID特性。

2,对于大数据的处理,可以研究更好的框架ES(ElasticSearch)。

中间件(3)NoSQL的更多相关文章

  1. 细说spring事务配置属性

    一.spring事务配置 1.spring配置 在配置数据源的下方配置 <!-- 事务配置 --> <bean id="transactionManager" c ...

  2. C#技术点

    程序员的基本内功.操作系统,数据结构,网络协议,架构 mysql存储引擎,索引? 分布式技术一致性? 缓存系统/中间件技术/NoSql? 锁与线程切换? 排序,链表,hash_map?

  3. 一文读懂云上DevOps能力体系

    简介: 阿里云ECS自动化运维套件架构师,深度拆解云上运维能力体系建设:自动化运维等级金字塔.自动化运维的进阶模式.DevOps的基础核心.云上标准化部署三大能力-- 序言 云计算行业已经有十多年的发 ...

  4. Nosql相关产品和分布式相关中间件

    1.memcached 2.redis 3.mongodb 4.消息队列的运用

  5. 本人为巨杉数据库(开源NoSQL)写的C#驱动,支持Linq,全部开源,已提交github

    一.关于NoSQL的项目需求 这些年在做AgileEAS.NET SOA 中间件平台的推广.技术咨询服务过程之中,特别是针对我们最熟悉的医疗行业应用之中,针对大数据分析,大并发性能的需求,我们也在慢慢 ...

  6. 《大型网站系统与Java中间件实践》读书笔记

    分布式系统的基础知识 阿姆达尔定律 多线程交互模式 互不通信,没有交集,各自执行各自的任务和逻辑 基于共享容器(如队列)协同的多线程模式->生产者-消费者->队列 通过事件协同的多线程模式 ...

  7. 什么时候该用NoSQL?

    : 杂谈   NoSQL这两年越来越热,尤其是大型互联网公司非常热衷这门技术.根据笔者的经验,并不是任何场景,NoSQL都要优于关系型数据库.下面我们来具体聊聊,什么时候使用NoSQL比较给力: 1) ...

  8. 大型网站系统与Java中间件实践

    大型网站系统与Java中间件实践(贯通分布式高并发高数据高访问量网站架构与实现之权威著作,九大一线互联网公司CTO联合推荐) 曾宪杰 著   ISBN 978-7-121-22761-5 2014年4 ...

  9. NoSQL数据库介绍

    NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面.今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于N ...

随机推荐

  1. 十五、过滤器(Filter)

    过滤器(Filter) 过滤器概述 1 什么是过滤器 过滤器JavaWeb三大组件之一,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的. 当用户请求某个Servlet时,会先执 ...

  2. node koa2 玩起来都是中间件啊

    玩的我想吐 !!! 整理下常用的中间件吧! 先列在这有空把这些中间件的使用技巧也写出来分享一下koa-router 路由中间件koa-bodyparser   POST数据处理的中间件koa-stri ...

  3. Mysql postgresql 行列转换

    一.第一种 原数据表 转换后 DROP TABLE IF EXISTS tempdynamic; CREATE TEMPORARY TABLE tempdynamic ( SELECT p.fsPay ...

  4. ubuntu Pycharm 2017 3.3 Active

    1.打开激活窗口 2.选择 Activate new license with License server (用license server 激活) 3.在 License sever addres ...

  5. 1.4 The usage of plug-in

    Once upon a time, we once thought naively that Android plug-in was intended to add new features or a ...

  6. JavaScript 异步编程的前世今生(下)

    ES6 中的 Generator 在 ES6 出现之前,基本都是各式各样类似Promise的解决方案来处理异步操作的代码逻辑,但是 ES6 的Generator却给异步操作又提供了新的思路,马上就有人 ...

  7. 美团App用户界面分析

    关于美团 美团网成立于2010年,合并前是中国销售额最大的独立团购 App.美团网2014年全年交易额突破460亿元,较去年增长180%以上,市场份额占比超60%,用户数超2亿~ 美团 App 用户界 ...

  8. IntelliJ Idea 2017 免费激活方法

    1. 到网站 http://idea.lanyus.com/ 获取注册码. 2.填入下面的license server: http://intellij.mandroid.cn/ http://ide ...

  9. [Swift]LeetCode230. 二叉搜索树中第K小的元素 | Kth Smallest Element in a BST

    Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Not ...

  10. [Swift]LeetCode639. 解码方法 2 | Decode Ways II

    A message containing letters from A-Z is being encoded to numbers using the following mapping way: ' ...