NoSQL产品介绍

来源:互联网 发布:js设置select选中的值 编辑:程序博客网 时间:2024/05/23 01:20

NoSQL产品列表

       •Memcache
       •Redis
       •Mongdb
       •OracleTimesTen
       •HBase


Memcache
Memcache是什么
         •Memcache是个高性能的基于内存的分布式缓存系统,Memcache的分布式是基于客户端的Keyhash来做均衡,是个伪分布式的系统。
        •Memcache2个组件,一个客户端(java),一个服务器端c编写。
Memcache的特点
        •基于内存(但是重启了后,数据丢失)。
        •提供简单的get,set方法。
        •缓存对象只能小于1M
        •安装,使用比较简单。
Memcache的使用场景

        中小型网站应用中来存放非可靠性的只读数据。例如

        •存放用户的信息。
        •网站的计数。
        •数据库DAO前的行记录缓存。
        •全局的代码参数。
Redis
Redis是什么(官网:http://www.redis.cn/)
        •Redis是一个 用c语言写的类似Memcachekey-value的存储系统,它比Memcache提供了更多的API接口和更好的并发性能,可以支持10万并发的读写,建议用Redis代替Memcahe
        •Redis是基于内存的,因此部署Redis的机器对于内存是非常有高的要求的,Redis是会把数据实时写到内存中,再定时同步到文件。
Redis能干嘛
        •Redis可以当作数据库来用,但是有缺陷,在可靠性上,没有Oracle关系型数据库来的稳定。
        •可以作为持久层的Cache层。可以缓存下面的数据库结构。
        1.计数
        2.排行榜样,最新浏览的数据
        3.队列(订阅关系)
Redis特点
        •完全居于内存,数据实时的读写内存,定时闪回到文件中
        •读写速度快
        •支持高并发量,官方宣传支持10万级别的并发读写
        •支持机器重启后的,重新加载模式,不会掉数据
Redis适用场景
        •在非可靠数据存储中,可以作为数据持久层或者是数据缓存区。
        •对于读写压力比较大,实时性要求比较高的场景下。
        •关系型数据库不能胜任的模型下的场景。
        例如 在SNS中订阅关系 
Mongdb
Mongdb是什么
        •Mongodb是一个底层用C++语言编写的一个分布式文件存储系统,可以简单的理解成一个类Mysql数据库的分布式文件系统。
        •Mongodb底层是用C++语言编写的。
        •一个分布式的文件存储系统
Mongdb能干嘛
        •作为MySQL的代替品,存储海量的相对非可靠的数据,

        例如大众点评的评论.http://www.dianping.com

        淘宝网http://www.taobao.com/

Mongdb特点

        •天生有分布式的优点(最强的一个优点)。
        •海量文件,文本类型数据的存储。
        •性能卓越的海量数据的存储情况下的读写性能。

Mongodb适用场景

        •MySQL的代替品或者是半代替品(对复杂查询要求不高的情况下)
        •读压力比写的压力大的情况下的文件和文本类型的数据,并且数据量比较大

OracleTimesTen
OracleTimesTen是什么
        •OracleTimesTenHP实验室人员在1992年做的一个内存数据库产品,后来惠普实验室的人成立了TimesTen公司,Oracle2005年的时候把TimesTen收购了的。
OracleTimesTen特点
        •及时响应 完全居于内存,对于CPU,磁盘的IO压力非常低。
        •支持事物
        •兼容标准SQL
        •高性能
        •高可用性

        主从模式

TT2个高级特性

        •复制
        •负载均衡

OracleTimesTen适用场景

        •实时计费系统(移动,联通)
        •基金,股票实时撮合交易系统
        •网站Cache层或者是持久层

     CCTV http://www.cntv.cn/把用户的信息存储在TT中而不是关系数据库中

OracleTimesTen特点

        •完全居于内存,对于CPU,磁盘的IO压力非常低。
        •支持事物
        •兼容标准SQL

•HBase
HBase是什么
        •Hbase是个分布式的面向列的非结构化数据库,是Hadoop的子项目。
        •HBaseGoogle Bigtable的开源实现。
        •HBase利用Hadoop HDFS作为其文件存储系统。
        •HBase利用Hadoop MapReduce来处理HBase中的海量数据。
        •HBase利用Zookeeper来管理。

HBase能干嘛

        •作为存储层来存储非可靠性的海量数据,如日志,评论,访问记录
HBase特点
        •高可靠性
        •高效性
        •面向列
        •可伸缩
        •可在廉价PC Server搭建大规模结构化存储集群

HBase适用场景

        •数据量巨大,千万或者是亿级别以上。
        •实时性要求不高,比如离线计算。

性能评测结果