数据库

注册

 

发新话题 回复该主题

关系型NoSQL缓存数据库比较 [复制链接]

1#

首先主要是关系型数据库、nosql数据库和缓存数据库的区别;

关系型数据库(mysql、Oracle)就想当于一个储物柜,里边分了各种小格子,把各种数据有序的保存在里边,查询时非常方便;有比较完善的sql语句;

mysql免费开源,自动提交事务,是基于表级别的一个事务,而Oracle不自动提交,是基于行级别的事务;mysql安装包小,使用简单,Oracle安装包较大,还会收费,更适合于大数据的处理、并发量高;

mysql用limit进行分页,第一个参数表示启始数,第二个参数表示要查询的条数。

oracle用伪列rownum来进行分页,因为伪列只能用小于,不能用大于,所以需要一个两层的嵌套查询。

mysql主键可以自增。Oracle必须用序列(sequence);

字段类型有些区别;

mysql一般都是先有用户,然后创建库、创建表。而Oracle一般是,先创建数据库,然后创建临时表空间、物理表空间,再创建用户,创建表。

nosql数据库(mongdb)就相当于一个仓库,比如把衣服放在一堆,书本放在一堆,这样他的存储效率肯定很高,但是查找时,不方便精确查找。所以nosql更适合于数据量比较大,但是数据之间关系不是特别强,或者不是特别重要的数据;比如:电商里边的评论数据;

他的collection相当于数据库,document相当于表,document中数据主要以json格式存储;

缓存数据库(redis、memcached):缓存数据库由于是保存在内存中的,所以他的存储效率非常高;但是他不适合持久化存储数据,尽管redis支持持久化,但是他也仅仅是在一定程度上保证了数据的安全性,还是有很多情况会造成数据丢失的,比如redis穿透、雪崩等。

所以他仅仅适合做为数据库和应用程序直接的中间层使用,不能作为真正的存储数据库使用。即使使用,也只能是一些不是特别重要的数据,比如购物车,在B2C的项目中,用户购物车一般都是临时存储,如果放入购物车长时间不提交,那么用户再购买的可能性很小了,所以即使丢了,也不会造成太多的损失。以这个,来换取项目的运行效率非常划算;

预览时标签不可点收录于话题#个上一篇下一篇
分享 转发
TOP
发新话题 回复该主题