NoSQL简介
来源:互联网 发布:中国平安证券软件 编辑:程序博客网 时间:2024/05/17 20:32
这里介绍一下现在常用的NoSQL以及各自的特点。NoSQL是2009年突然发展起来的,现在趋于稳定的状态,市场上也有了一些比较成熟的产品。
传统的关系型数据库为了保证通用性的设计而带来了功能复杂、性能开销大、价格昂贵等问题,在NoSQL中都或多或少的得到了解决。NoSQL避免了一些不需要的复杂性,有更高的吞吐量,具有高并发的特点,也具备在商用硬件上的水平拓展能力。
不仅如此,NoSQL也实现了大表的自动分割功能,能够更好的支持分布式处理,在性能和可靠性之间折中,这是满足现在云计算中提到的从中心模式到分布模式的需求的。这也是NoSQL这几年特别火热的原因。
下面介绍一下现在流行的NoSQL各自的特点:
memcached
第一个NoSQL数据库,其本质是一个存储键值对的hashmap,是一个高性能的分布式内存缓存服务器,用于动态web应用以减轻数据库负载。
客户端通过memcached协议与守护进程通信,但是缺乏认证以及安全管制,是一个内存存储方式的不互相通信的分布式数据库。
redis
也是一个键值对存储的数据库,和memcached类型,但是相比memcached而言,redis的数据是也是存储在内存中的,也有硬盘存储支持的内存数据库,也就是说,不会由于服务器重启而丢失数据。其value数据类型丰富,查询速度也非常快,并且允许用户实现消息机制。
neo4j
一款基于关系的图形数据库,数据都是节点,数据之间的关系都是依靠边来表示的。使用HTTP REST协议,可独立使用或者嵌入到java程序中,使用多种算法支持路径搜索,使用键值和关系进行索引。
其对读操作进行了优化, 查询速度比关系型数据库快多了,很重要的一点是,它可以通过对java api的使用来支持事务。
neo4j的企业版还支持在线备份,具有高级监控和高可靠性。
Cassandra
一款由Facebook开源的使用java语言的混合型非关系数据库,类似于Google的bigle。
该数据库的写操作比读操作更快,基于column的结构化,具有高拓展性。
hbase
该数据库是Google公司bigle的开源实现,是一款分布式的,面向列的开源数据库,利用hadoop hdfs作为其文件存储系统,利用hadoop mapreduce来处理海量数据,采用了分布式架构map reduce。
mongoDB
mongoDB可以说是现在NoSQL的领头羊,它的社区活跃,文档丰富,有10gen商业支持,持续性有保障。
mongoDB是由C++编写的,它很特别的是保留了一些SQL的友好特性,比如查询和索引。它支持javascript表达式查询,可以在服务器端执行任意的javascript函数,所以其查询功能不输于关系型数据库。
该数据库在数据存储时采用内存到文件映射的方式,对性能的关注超过对功能的需求,而且其内置分片机制,减少了需哟手动分片的繁琐。
很多NoSQL都是读快写慢,有的是读慢写快。而mongoDB读写性能非常均衡,都很快。
- NoSQL简介
- NOSQL简介
- NoSQL简介
- NoSql简介
- NoSQL 简介
- NoSQL简介
- Nosql简介
- NoSQL 简介
- NoSQL简介
- nosql--简介
- NoSQL 简介
- NoSql简介
- NoSQL 简介
- NoSQL简介
- NoSql简介
- nosql--简介
- NoSQL 简介
- NoSQL 简介
- 数据库操作为什么会出现 sqlite3:not found?
- HDOJ 1159(POJ 1458)Common Subsequence (最长公共子序列 LCS)
- log4j日志输出性能优化-缓存、异步
- 常用正则表达式
- UIScrollerView约束注意点
- NoSQL简介
- 线程开销
- Codeforces Gym 100589A Queries on the Tree 树状数组 + 分块
- 逻辑代数与位运算
- Max Sum
- $.parseJSON()方法
- 在 Web 应用中增加用户跟踪功能
- HDU 1503(Advanced Fruits)最长公共子序列+路径记录
- UNIX网络编程卷一:第八章 I/O UDP