NoSQL是什么
RDBMS(关系型数据库):常见的关系型数据库有 Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL;
NoSQL(非关系型数据库):常见的非关系型数据库有 MongoDB、Redis、Voldemort、Cassandra、Riak、Couchbase、CouchDB 等。
这里我们主要来介绍一下 NoSQL,NoSQL 全称为“Not only SQL”,它仅仅是一个概念,用来表示非关系型数据库,本教程中将要介绍的 MongoDB 就是非关系型数据库的一种。
相对于 RDBMS(关系型数据库),NoSQL 具有以下优点:
易扩展:NoSQL 数据库种类繁多,但它们都有一个共同的特点,那就是都去掉了关系型数据库的关系型特性,数据与数据之间没有关系,这样就非常容易扩展,无形之间也在架构的层面上带来了可扩展的能力;
大数据量,高性能:NoSQL 数据库都具有非常高的读写性能,尤其是在处理庞大数据时表现优秀;
灵活:NoSQL 随时都可以存储任意类型的数据,无须提前为要存储的数据建立字段;
高可用:NoSQL 在不太影响性能的情况下,就可以方便地实现高可用的架构,比如 Cassandra、HBase 模型,通过模型也能实现高可用。
NoSQL 简史
NoSQL 一词最早出现于 1998 年,是 Carlo Strozzi 开发的一个轻量、开源、不提供 SQL 功能的关系型数据库。2009 年,Johan Oskarsson 发起了一次关于分布式开源数据库的讨论,来自 Rackspace 的 Eric Evans 再次提出了 NoSQL 的概念,这时的 NoSQL 主要指非关系型、分布式、不遵循 ACID 原则的数据库设计模式。
为什么使用 NoSQL?
随着互联网的不断发展,传统的关系型数据库在处理超大规模数据以及开发高并发应用时已经显得力不从心了,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL 数据库的产生就是为了解决大规模数据多重数据种类带来的问题,特别是大数据应用的难题。体系框架
NoSQL 整体框架分为四层,由下上分别为数据持久层(data persistence)、整体分布层(data distribution model)、数据逻辑模型层(data logical model)、和接口层(interface),层次之间相辅相成,协调工作。1、数据持久层
数据持久层定义了数据的存储形式,主要包括基于内存、硬盘、内存与硬盘相结、订制可插拔四种形式。
基于内存形式的数据存取速度最快,但可能会造成数据丢失;
基于硬盘的数据可能保存很久,但存取速度较基于内存的形式慢;
内存和硬盘相结的形式,结了前两种形式的优点,既保证了速度,又保证了数据不丢失;
订制可插拔则保证了数据存取具有较高的灵活性。
2、数据分布层
数据分布层定义了数据是如何分布的,相对于关系型数据库,NoSQL 可选的机制比较多,主要有三种形式:CAP 支持:可用于水平扩展;
多数据中心支持:可以保证在横跨多数据中心时也能够平稳运行;
动态部署支持:可以在运行着的集群中动态地添加或删除节点。
3、数据逻辑层
数据逻辑层表述了数据的逻辑表现形式,与关系型数据库相比,NoSQL 在逻辑表现形式上相当灵活,主要有四种形式:键值模型:这种模型在表现形式上比较单一,却有很强的扩展性;
列式模型:这种模型相比于键值模型能够支持较为复杂的数据,但扩展性相对较差;
文档模型:这种模型对于复杂数据的支持和扩展性都有很大优势;
图模型:这种模型的使用场景不多,通常是基于图数据结构的数据定制的。
4、接口层
接口层为上层应用提供了方便的数据调用接口,提供的选择远多于关系型数据库。接口层提供了五种选择,分别是 Rest、Thrift、Map/Reduce、Get/Put 和特定语言 API,使得应用程序在与数据库交互时更加方便。NoSQL 分层架构并不代表每个产品在每一层只有一种选择。相反,这种分层设计提供了很大的灵活性和兼容性,每种数据库在不同层面可以支持多种特性。
适用场景
NoSQL 数据库在以下的这几种情况下比较适用:数据模型比较简单;
对灵活性要求很强的系统;
对数据库性能要求较高;
不需要高度的数据一致性;
对于给定 key,比较容易映射复杂值的环境。
- 随机文章
- 中国 马尔代夫 印度(中印马三国达成合作共识)
- 魟 马尔代夫(魟在马尔代夫:探访马地沙滩的神秘魟鱼世界)
- 瑞士 还是 马尔代夫(从海洋到山脉:探索瑞士和马尔代夫)
- 全国 马尔代夫(全国人民热爱的旅游胜地——马尔代夫)
- 长沙 马尔代夫 机票(长沙至马尔代夫机票预订,超值优惠!)
- 临沂马尔代夫照片(临沂美女模仿马尔代夫海景照片火了!)
- 假装来了马尔代夫(来一次马代之旅,享受海滩沙滩和阳光)
- 丁克马尔代夫婚礼(一对新人在美丽的马尔代夫举行了婚礼)
- 巴黎马尔代夫视频(巴黎和马尔代夫合作制作旅游宣传视频)
- 东湖马尔代夫风景(重写后的标题:探索东湖马尔代夫风光)
- 汇率 马尔代夫(马尔代夫货币汇率最新情况)
- 昆山马尔代夫沙滩(昆山市民间沙滩乐园重现马尔代夫风情)
- 抚州马尔代夫签证(抚州游客可线上申请马尔代夫入境许可)
- 度蜜月去马尔代夫(浪漫蜜月:前往马尔代夫共度甜蜜时光)
- 图瓦罗与马尔代夫(图瓦罗和马尔代夫合作开辟旅游新篇章)
- 横屏马尔代夫视频(惊艳横屏!马尔代夫视频带你虚拟旅行)
- 海边别墅马尔代夫(马尔代夫海边别墅:享受海浪与阳光!)
- 内马尔去马尔代夫(马尔代夫行:内马尔放松心情享受假期)
- 想去马尔代夫骑行(马尔代夫自行车探险,你准备好了吗?)
- 舰队 马尔代夫(马尔代夫舰队巡逻,保护海洋安全)
- 舒淇 马尔代夫(舒淇浪漫马尔代夫游,度假照曝光!)
- 演讲马尔代夫视频(探索马尔代夫:梦幻海岛下的绿色奇迹)
- 蜜月首选马尔代夫(梦幻蜜月之选:马尔代夫水上别墅体验)
- 美丽玉溪马尔代夫(玉溪:“中国马尔代夫”彰显绿色美丽)
- 好看的马尔代夫包(绚丽马尔代夫游,让你心旷神怡的旅程)
- 航拍马尔代夫旅行(空中俯瞰马尔代夫:鸟瞰绝美珊瑚岛屿)
- 韩国打平马尔代夫(韩国与马尔代夫战平,双方均未能进球)
- 洪州 马尔代夫(江西洪州旅游局与马尔代夫展开旅游交流合作)
- 马尔代夫买钓鱼艇(马尔代夫购买钓鱼艇有哪些注意事项?)
- 马尔代夫不找代理(马尔代夫旅游无需代理,省去麻烦费!)
