荥阳市论坛

注册

 

发新话题 回复该主题

常见的数据库类型与应用方法 [复制链接]

1#


  数据库架构与应用是目前大多数软件开发程序员都需要学习的一个编程开发技术,下面我们就通过案例分析来了解一下,常见的数据库类型与应用方法。


  关系型数据库长期排名前三的是Oracle、MySQL、SqlServer。总体来说关系型数据库的优点是安全、容易理解,使用方便。


  但关系型数据的缺点也很明显:读写性能差、并发能力不强、不易于横向扩展。而随着大型互联网业务兴起,NoSQL数据库开始流行。


  非关系型数据库(NoSQL)的特点是,速度快、效率高,可以轻松维护海量的数据和处理,可以实现数据的分布式部署,支持高并发。所以现在很多企业都是关系型数据库与非关系型数据库一起使用。当然关系型数据也在努力改进,想办法在自身系统增强海量数据并行处理的能力。比如TiDB,一个中国团队做的,它融合了关系型数据库和NoSQL。还有CockroachDB兼容了PostgreSQL。


  NoSQL目前有四种数据库类型:键值(Key-Value)数据库,如Redis;面向文档(Document-Oriented)数据库,如MongoDB;列存储(WideColumnStore/Column-Family)数据库,如Cassandra;图(Graph-Oriented)数据库,如Neo4J。


  不同类型的数据库是解决不同场景的问题。比如Redis,经常用来做缓存。存储用户不常变动,但又请求十分频繁的数据。比如淘宝的页,我们需要根据用户id,查询对应推荐商品配置信息。这种根据key-value查询出来的数据结构,就非常适用于redis。


  MongoDB适用那些内嵌数组形式存储的数据。比如订单物流信息,这一次查询就能将订单所有的变更读取出来。再比如,朋友圈的信息流。


  其实从上面两个例子也可以看出,现在NoSQL数据库更多是在业务上起到缓存的作用,这样方便前端高并发的访问。比如淘宝的页,显示的商品数据是从NoSQL数据库里查出来的,然后每隔一段时间从关系型数据库里同步新的缓存,这样就减少了关系型数据库的访问压力。

分享 转发
TOP
发新话题 回复该主题