今天问了领导,公司的数据是用哪个数据库进行存储的呀,然后领导说Oracle。
我惊了,反问为什么不是Mysql,然后领导说电网行业基本用的都是用的Oracle。
我笑着说Oracle不是收费嘛,然后领导说Oracle提供了很多了众多的数据库特性,能满足企业的多样性需求,能提供一整套解决方案,而且大企业资金充足。(好吧,是我眼界不高)
毫无疑问Mysql在开源的关系型数据库里面是流行的,那怎么在这两个数据库中选择呢,那还不是得看甲方选择用哪个哈哈。然后领导巴拉巴拉了一大堆,提到了MongoDB, HBase, Redis。
我们已经进入了大数据时代,需要进行海量的数据处理,传统的关系型数据库无法满足需求,因此越来越多的非关系型数据库诞生。
做一个产品出来,单一的数据库是无法去解决问题的,大型的系统中需要同时使用不同的数据库,不同类型的数据库有着特定的使用场景。
主流的五大数据库对比
数据库 | Oracle | Mysql | MongoDB | Redis | HBase |
---|---|---|---|---|---|
数据库模型 | 关系数据库 | 关系数据库 | 文档存储 | 键值存储 | 列存储 |
特点 | 收费但是为企业能够提供很多类型的数据库和解决方案 | 开源免费,成本低 | 介于关系数据库和非关系数据库之间的产品,性能高,以文档的形式存储数据 | 支持多种类型的数据结构。读写效率高,常用来做缓存中间件 | 使用列存储,性能高且省空间 |
现如今不再是某一个技术就可以做出产品了,而是一个百花齐放的时代。俗话说技多不压身,那就一起来了解下这五大主流数据库的应用场景吧!
Oracle
以下内容摘抄自《五种常见云数据库的真实应用场景》
链接:https://www.shangyexinzhi.com/article/437678.html
应用场景
在政府的大型应用系统、企业的涉金融级应用系统中,一般都会沿用昂贵的Oracle数据库系统。
例如,期货的交易系统后台数据库、公司内部财务系统的后台数据库。
优势
高性能、高可靠性。Oracle数据库作为元老级的产品,的确拥有其过人之处,直到现在去IOE大当其道的今天,仍然在众多的核心应用系统中存在。
如何上云
因为Oracle拥有自己的云计算整体架构,不允许公有云厂商在自己的云平台架构Paas级的数据库产品,因此现在主流的公有云厂商均没有直接的Oracle云产品。
为了解决这个问题,许多公有云厂商推出了自己的自研兼容性产品,如ali的OceanBase、RDS PAAS版。
Mysql成为主流
应用场景
目前的互联网公司已经大量采用MySQL作为主要业务的承载。因MySQL已被Oracle公司收购,因此现在又出现了MariaDB的开源数据库,以避免MySQL被收费的情况。
例如,互联网公司的网站一般都采用MySQL。
优势
高性能、高可靠、低成本。
上云的解决方案
一般都会用三个特性--- 主备、主从、灾备
【主备】:当主用的数库宕机时,将自动切换到备用的云门机提供数据库服务
【主从】:数据库提供多份的备份库,主用库用于读/写,备份库只用于读。
【灾备】:数据库提供本地,远程的数据库定期,实时数据同步。当主用库宕机时,由云平台自动切换到远程的备库,提供快速的故障切换。
MongoDB
应用场景
在物联网、游戏等场景大量使用MongoDB数据库 。例如,四川省某石油客户使用该数据库存储采油站的大量数据,因其JSON松散式的数据格式,利于数据的任意保存、快速分析、分片存储,得到大量公司的应用。
优势
高性能、低成本、易使用。MongoDB通过索引加速检索的性能,利于X86服务器进行分片的存储,JSON数据格式不需要预先定义。即不需要像Mysql一样要设计表的结构,但是又拥有大量Mysql的特性。
上云方案
一般会推荐采用集群式的方案,用户使用多节点进行数据的分片存储、同时使用主备方式进行计算的高可用。
HBase
应用场景
在电子商务、车联网、日志等场景中均有大量的应用案例 。例如,某物联网公司采用HBase存储其鞋类穿戴数据。
优势
高性能、低成本、高伸缩性。HBase+Phoenix提供快速的SQL化检索,HBase基于其列式的存储方便放在X86服务器 ,而HBase根据RowKey、ColumnFamily可以进行数据在不同服务器的扩容。
上云方案
低于100G的数据可用HBase单机版。一般会推荐采用集群式的方案;如果是要求金融级的服务,还有双活版的产品,可以支持跨AZ的数据同步。
Redis
应用场景
在电子商务、游戏公司、大数据展示等场景中均有大量的应用案例 。例如,某电子商务公司的大屏数据直接来源于Redis的内存数据。
优势
高性能 。Redis的主要数据放置在内存中,因此数据的查询数据相比于之前的数据库有了10倍以上的提升。
上云方案
一般会推荐采用集群式的方案;如果是要求超高并发级的服务,还有读写分离版的产品 。
综合各种类型的数据库构建大型系统
数据库的知识真滴是太重要了,如今是一个大数据的时代,数据该如何保存呢?保存完了又该如何快速准确的获取呢?
每个类型的数据库都有特定的应用场景,只有把他们有机的结合起来才能构建一个完备的系统。
后使用狂神的一句话:只要学不死,就往死里学!