【NoSQL】NoSQL简介及常用的NoSQL数据库对比(Redis、MongoDB、HBase等)
来源:互联网 发布:淘宝图片主图尺寸 编辑:程序博客网 时间:2024/05/17 02:47
基本含义
2NoSQL数据库的四大分类
3NoSQL数据库的四大分类表格分析
4共同特征
- 不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。
- 无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。
- 弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。
- 分区:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。
- 异步复制:和RAID存储系统不同的是,NoSQL中的复制,往往是基于日志的异步复制。这样,数据就可以尽快地写入一个节点,而不会被网络传输引起迟延。缺点是并不总是能保证一致性,这样的方式在出现故障的时候,可能会丢失少量的数据。
- BASE:相对于事务严格的ACID特性,NoSQL数据库保证的是BASE特性。BASE是最终一致性和软事务。
5适用场景
6发展现状
7挑战
- 已有key-value数据库产品大多是面向特定应用自治构建的,缺乏通用性;
- 已有产品支持的功能有限(不支持事务特性),导致其应用具有一定的局限性;
- 已有一些研究成果和改进的NoSQL数据存储系统,但它们都是针对不同应用需求而提出的相应解决方案,如支持组内事务特性、弹性事务等,很少从全局考虑系统的通用性,也没有形成系列化的研究成果;
- 缺乏类似关系数据库所具有的强有力的理论(如armstrong公理系统)、技术(如成熟的基于启发式的优化策略、两段封锁协议等)、标准规范(如SQL语言)的支持。
- 目前,HBase数据库时安全特性最完善的NoSQL数据库产品之一,而其他的NoSQL数据库多数没有提供内建的安全机制,但随着NoSQL的发展,越来越多的人开始意识到安全的重要,部分NoSQL产品逐渐开始提供一些安全方面的支持。
MongoDB是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
MongoDB是高性能开源文档数据库,也是目前最受关注的NoSQL技术之一,以敏捷、可扩展和对企业应用友好(支持事务,一致性和数据完整性保证,有大企业应用案例)而著称。有人甚至认为LAMP中的M应该用MongoDB取代MySQL,其火热程度可见一斑。使用MongoDB的公司包括Foursquare, Craiglist, 迪士尼,SAP,Intuit,EA等,国内淘宝、大众点评、视觉中国等公司有应用。(最新版MongoDB 2.2下载)
3. Hadoop的HBase
HBase(Hadoop Database),是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为协同服务。
虽然大多数人都认为Hadoop及其所有的工具都是作为管理大规模集群的一种机制,其实不然,Hadoop也包括数据库,在HBase中也是通过节点来传播数据。Hadoop的Map /Reduce的架构是非常适合于复杂的计算任务或查询工作。领土在不断的扩张,新的数据库像Accumulo就是Hadoop平台的一个延伸。(Apache Accumulo是一个可靠的、可伸缩的、高性能的排序分布式的Key-Value存储解决方案,基于单元访问控制以及可定制的服务器端处理。使用Google BigTable设计思路,基于Apache Hadoop、Zookeeper和Thrift构建)
- 【NoSQL】NoSQL简介及常用的NoSQL数据库对比(Redis、MongoDB、HBase等)
- HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比
- HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比
- NoSQL数据库对比-Cassandra,Mongodb,CouchDB,Redis,Riak,HBase
- mongodb, redis, hbase三种nosql数据的对比
- HBase与MongDB等NoSQL数据库对比
- HBase与MongDB等NoSQL数据库对比
- HBase与MongDB等NoSQL数据库对比
- NoSQL数据库mongodb简介
- mongodb、redis、hbase三种Nosql数据库的定位
- NoSql 分析 hbase,mongodb,redis
- NoSql 分析 hbase,mongodb,redis
- NoSQL数据库:MongoDB与Hbase的区别
- HBase、MongoDB、MySQL、Oracle、Redis--nosql数据库与关系数据库对比
- NoSQL数据库-MongoDB和Redis
- NoSQL数据库-MongoDB和Redis
- NoSQL数据库-MongoDB和Redis
- NoSQL数据库-MongoDB和Redis
- HQL:Hibernate Qusery Language
- log4j使用
- GitHub 指导手册之第一个项目 Hello World
- 在Oracle virtualbox虚拟机里安装red hat 5详细图解
- 的发射点发卡死大幅拉升的康复
- 【NoSQL】NoSQL简介及常用的NoSQL数据库对比(Redis、MongoDB、HBase等)
- <context:component-scan>
- cocos2d-x傻瓜一样的屏幕适配
- 的方式反抗螺丝钉福克斯的方法是
- 自动释放内存!Facebook推出强大Android图片库Fresco
- Android系统性能调优工具介绍
- 方式的方式的是的方法快速的方式打开
- 福克斯疯狂拉升的发送卡夫卡
- VS各种工程文件说明