数据库nosql 笔记


Redis和memcache的区别是:
理解方法有多种:
可以这样理解他们的区别:memcache就是一张hashtable,用前缀区分不同的表名。
但是redis支持多种数据结构,hashtable只是一种,还支持字符串(字符串添加,合并),还支持链表(由于是双链表,可以既当做队列也可以当做栈,),支持sorted list,set等。。。
redis每种数据类型的表名可以看做是键。

Mongodb 和hbase和mysql的区别:
Hbase一般是一种大表,所以是按列存储的,相同的列存储在相邻位置。并且底层是hdfs实现分布式,冗余。
Mongodb不是基于hdfs,不是以hdfs实现冗余,而是另一种方式实现冗余(可以增加主从复制,类似于mysql)。按文档存储的意思跟mysql 的按行存储一样,都是同一行的内容存储在相同位置(连续位置可能好理解些。) 
从存储方式上来讲,mongodb更像mysql,都能建立索引,但是跟mysql 的不同之处是mongodb不支持范式。
文档类比于mysql的行。
Mongodb的分片对应用程序不可见,在mongodb中配置就可以。但是mysql则相反,在程序中要进行处理。
测试场景下MySQL采用的是单条Insert的方式,所以可以看出QPS数和TPS数是基本一致的,也就是每个Insert操作,都对应有一次I/O写入操作。可以从MySQL数据库本身做一些优化,这次测试没有覆盖到这种场景。
Mongodb内部采用合并操作的方式,采用数据先存放到内存中,然后再Flush到磁盘上的方式。所以,从测试数据可以看出,TPS曲线坡度非常大:有时候TPS是零,这时候是还放到内存中,还没有Flush到磁盘上;有时候TPS非常高,同时这时候CPU也非常高,几乎是100%



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值