SQL与NOSQL
SQL(关系型数据库)与NOSQL(非关系型数据库)
结合我自己平常使用的就是SQL的oracle、mybatis,以及用的较少的sqlserver。NOSQL有Redis,Memcache,MongoDb、Hbase等等真正在大小公司项目中真真切切使用的。不经让人思索,NOSQL的优势?或者是其流行的原因??
NOSQL优势:
成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。
查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库。
存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。
扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。
:happy: 总结来说。nosql便宜;因为数据储存在缓存中所以比存储在硬盘的sql查询速度快;存储使用键值对这种方式,数据之间没有耦合性,所以非常容易水平扩展。;并且能储存文档、二进制格式等等,而不是sql的只能存储基础类型;不像SQL一样因为表与表之间的关系扩展很麻烦!SQL的优势:
保持数据的一致性(事务处理)
由于以标准化为前提,数据更新的开销很小(相同的字段基本上都只有一处)
可以进行Join等复杂查询
:happy:复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。2. 事务支持使得对于安全性能很高的数据访问要求得以实现。对于这两类数据库,对方的优势就是自己的弱势,反之亦然。就个人理解而言现在的SQL优化有很多在SQL不足的地方让NOSQL进来交互,通过SQL+NOSQL大幅提升SQL速度。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!