现在后端开发都在用什么数据库存储数据?
正文:
1.Oracle:传统行业,尤其是政府,医疗,学校和大企业,基本上还是 Oracle 应用最广,其次就是 DB2。反而是 WebLogic 和 WebSphere 这些中间件基本上随着经典 javaee 的没落,已经逐步退出历史舞台,被富前端和微服务框架的轻量级组合所替代。
2.MySQL:传统行业的很多新项目也大量开始应用 MySQL,因为轻量级数据库的前期成本很低,可以保证项目预算够用,所以主要是新项目居多,面向互联网连接的项目也居多。这些系统一般不会像 Oracle 一样承担关键性业务的数据存储,所以选择什么样的数据库都是开发公司自己的选择决定。
目前有大量企业都开始上云,大家买云服务以阿里云 ecs 为主,总体上阿里云还是比较稳定,那么对于云上数据库的稳定有要求的企业一般都会选择阿里云主打的的 rds 系列,MySQL 居多,PostgreSQL 也开始逐渐被认可。
3.PostgreSQL:说到 PostgreSQL,的确这两年 PG 风头正劲,以前我的文章也提到过我做过的互联网医疗产品,其架构设计就选择采用了 PostgreSQL,主要就是看中 PostgreSQL 在生产上的稳定性极高,而且成本很低。尤其是精通 Linux 服务的架构师,对于 PostgreSQL 更容易掌握。
更具体地说就是使用 PostgreSQL 的关键因素主要还是业务数据很关键,因为我们当时承载的是互联网医疗数据,医疗数据自身属性就很关键!所以稳定和安全都是刚性要求,同时要平衡成本与互联网方式的灵活性,所以才否定了 MySQL 方案,坚决执行了 PostgreSQL 方案。
4.Hadoop HDFS:大数据类项目的主数据集还是以 Hadoop HDFS 作为基础存储设施。尽管现在很热的讨论就是 Hadoop 已经是日落黄昏,可以选择其他更快的 NoSQL 存储方案。实际上,大数据工程师在最终落地的执行上,还是很诚实的选择了 Hadoop,因为其成熟度,稳定性是最终考量的标准。
5.Elasticsearch:ELK 家族的 Elasticsearch 目前被大量作为日志监测分析的主数据集去使用,甚至都忽视了它本身是搜索引擎的这个事实,在电子商务网站,内容发布网站以及社交媒体网站,Elasticsearch 作为专业搜索引擎,还是稳坐第一把交椅。
关于 C/C++ Linux 后端开发网络底层原理知识 点击 linux服务器开发学习资料 获取,内容知识点包括 Linux,Nginx,ZeroMQ,MySQL,Redis,线程池,MongoDB,ZK,Linux 内核,CDN,P2P,epoll,Docker,TCP/IP,协程,DPDK 等等。
c/c++linux 服务器开发高级架构学习视频点击:C/C++Linux服务器开发/linux后台架构师-学习视频
6.实时/时序数据库:工业能源以及其他物联网行业,实时、时序数据库正在逐步采用开源的解决方案,例如 Druid.io、InfluxDB,OpenTSDB,还是目前存储物联网数据最好的开源选择方案。Druid.io 是实时与历史一整套实时库解决方案;InfluxDB 目前热度非常高的时序数据库,自己独立实现了一套原生的集群存储结构;OpenTSDB 主要依赖 HBase 分布式数据库与 HDFS 分布式文件系统。另外提一句,清华推出的开源时序数据库 IOTDB,目前已经升级成 Apache.org 的顶级项目。
7. Hadoop HBase:Hadoop hbase 作为列簇存储,也是毫秒级的 k-v 存储,越来越适应通用场景下的实时数据分析了,可能哪个领域都有能用到它,支撑实时处理的联机分析以及小型批处理业务。它的分布式一致性,存储 hdfs 的稳定性,都是关键性业务数据进行实时分析的极佳方案。
8.关系数据库并行能力:关系数据库也是在不断改进中前进,尤其是轻量级数据库的改进,MySQL8 的 cluster 特性,PostgreSQL11 的并行特性,都是不同手段想要达到同一个目的:那就是关系库都在想尽一切办法,不必让用户脱离关系型数据库,非得拥抱 NoSQL 才能追求到海量数据的并行处理能力,同时也能降低用户替换导致的巨大升级成本。
9.MongoDB:另一种是关系数据库自身的改进或者引入 MongoDB 进行部分替代,例如电子商务的订单业务数据,互联网医疗的健康档案数据,内容发布的文章数据,都能实现 MongoDB 的文档化替代,这不仅更符合业务的文档化模型,而且能保证事务的前提下,实现海量数据的支撑。
10.关系数据库并行能力:关系数据库也是在不断改进中前进,尤其是轻量级数据库的改进,MySQL8 的 cluster 特性,PostgreSQL11 的并行特性,都是不同手段想要达到同一个目的:那就是关系库都在想尽一切办法,不必让用户脱离关系型数据库,非得拥抱 NoSQL 才能追求到海量数据的并行处理能力,同时也能降低用户替换导致的巨大升级成本。
非得拥抱 NoSQL 才能追求到海量数据的并行处理能力,同时也能降低用户替换导致的巨大升级成本。
评论