赞
踩
通常,NoSQL数据库具有以下几个特点:
现在已经有很多公司使用了NoSQL数据库:Google、Facebook、Mozilla、Adobe
Foursquar、LinkedIn、Digg、McGraw-Hill Education、Vermont Public Radio、百度、腾讯、阿里、新浪、华为……
(1)关系数据库已经无法满足Web2.0的需求。
主要表现在以下几个方面:
MySQL集群是否可以完全解决问题?
(2)“One size fits all”模式很难适用于截然不同的业务场景
(3)关系数据库的关键特性包括完善的事务机制和高效的查询机制。但是,关系数据库引以为傲的两个关键特性,到了Web2.0时代却成了鸡肋。
主要表现在以下几个方面:
总结如下:
(1)关系数据库
(2)NoSQL数据库
关系数据库和NoSQL数据库各有优缺点,彼此无法取代。
关系数据库应用场景:电信、银行等领域的关键业务系统,需要保证强事务一致性
NoSQL数据库应用场景:互联网企业、传统企业的非关键业务(比如数据分析)
采用混合架构
案例:亚马逊公司就使用不同类型的数据库来支撑它的电子商务应用。对于“购物篮”这种临时性数据,采用键值存储会更加高效
当前的产品和订单信息则适合存放在关系数据库中。大量的历史订单信息则适合保存在类似MongoDB的文档数据库中。
NoSQL数据库虽然数量众多,但是,归结起来,典型的NoSQL数据库通常包括键值数据库、列族数据库、文档数据库和图形数据库。
“文档”其实是一个数据记录,这个记录能够对包含的数据类型和内容进行“自我描述”。XML文档、HTML文档和JSON 文档就属于这一类。SequoiaDB就是使用JSON格式的文档数据库,它的存储的数据是这样的:
不同类型数据库比较分析
C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据
A(Availability):可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;
P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。
CAP理论告诉我们,一个分布式系统不可能同时满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足其中两个,正所谓“鱼和熊掌不可兼得”。
说起BASE(Basically Availble, Soft-state, Eventual consistency),不得不谈到ACID。
一个数据库事务具有ACID四性:
BASE的基本含义是基本可用(Basically Availble)、软状态(Soft-state)和最终一致性(Eventual consistency):
最终一致性根据更新数据后各进程访问到数据的时间和方式的不同,又可以区分为:
MongoDB主要特点:
在mongodb中基本的概念是文档、集合、数据库。
通过下图实例,我们也可以更直观的的了解MongoDB中的一些概念:
数据库
文档
集合
MongoDB 数据类型
Window平台安装 MongoDB:
Linux平台安装MongoDB:
启动 MongoDB服务
其他相关笔记:
数据研发学习笔记4.1:大数据之概述与处理架构Hadoop
数据研发学习笔记4.2:大数据之分布式文件系统HDFS
数据研发学习笔记4.3:大数据之分布式数据库HBase
数据研发学习笔记4.4:大数据之NoSQL数据库
数据研发学习笔记4.5:大数据之云数据库
数据研发学习笔记4.6:大数据之MapReduce
数据研发学习笔记4.7:大数据之数据仓库Hive
数据研发学习笔记4.8:大数据之Spark
数据研发学习笔记4.9:流计算
数据研发学习笔记4.10:图计算
数据研发学习笔记4.11:大数据之数据可视化
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。