sql数据库和oracle数据库_oracle和sqlserver的区别和优缺点

sql数据库和oracle数据库_oracle和sqlserver的区别和优缺点搞关系型数据库还有前途吗?

大数据才是未来,Oracle、SQL Server成昨日黄花?

1. 引子****

有人在某个专注SQL的公众号留言如下:
对SQL Server的鄙视
这个留言触碰到一个非常敏感的问题:搞关系型数据库还有前途吗?现在都2020年了,区块链正火热,AI人才已经“过剩”,大数据都成了稀松平常的萝卜白菜,你却还在搞SQL Server? 你还在搞SQL? 你就是那个被时代淘汰的人!

2. 原因

最近10年,数据管理领域的变化可谓精彩纷呈。什么Hadoop, Spark,MemcacheDB, Redis, Vertica, HANA, Cassandra, MongoDB, InfluxDB,TiDB等等,不一而足。各类高端峰会、论坛确实只见AI, 大数据,确实很少见传统关系型数据库的身影了。

初步分析下来原因有四:

  • 其一

云计算的兴起跟开源数据库的大规模应用,大大降低了算力以及数据存储的成本。
以传统关系型数据的龙头老大Oracle为例,随着互联网的兴起,海量用户产生了海量数据,但当Oracle大规模部署的时候,不仅Oracle软件本身贵,与之配套的IBM小型机+EMC的存储开支也相当庞大。比如Oracle的数据集群从一个房间搬到另外一个房间,收费都要十几万。软硬件维护成本包括对管理员的要求也非常高。

另外Oracle本身也有性能的上限,其次是闭源的黑盒子。对于没碰到过的场景,无论再怎么努力,也是无法预测可能出现的问题的。”
中国的互联网公司大部分都草莽出身,对于性价比极为看重。当年的互联网老大美国的雅虎公司开始率先使用MySQL数据库,中国的互联网公司随之跟进。

最典型的例子是阿里巴巴。阿里巴巴曾经被称为Oracle的“明星客户“,”黄埔军校“。但随着注册用户数激增,用户产生的数据也越来越多,淘宝启用了全亚洲最大的Oracle RAC集群,阿里巴巴B2B中文站的数据量也因数据量大和业务要求,每年早上08:00—09:30之间CPU保持98%的使用率,服务器负载也超高,即使采用冷热隔离的方式也解决不了大容量数据且大并发的难题,更换存储设备不久也会再次出现这样的状况。

阿里巴巴被迫“攒出”一条去IOE的技术路线:“低成本、线性可控、去中心化(分布式):去IBM,PC Sever替代小型机;去Oracle,用MySQL替代;去EMC,用中低端存储”。
在之后的爆发式增长中,包括以2014,15,16年双十一为代表的业务高峰,阿里基于开源版本搞出来的MySQL分支很好地支撑了极其严苛的业务要求,最终很方便云化同时又开源的MySQL在国内的互联网公司逐步开始取代Oracle的江湖地位,成为诸多中国互联网企业的首选。

– 第二

就是通用硬件成本的降低。随着摩尔定律的作用随着时间的发展性价比大大的提高。甚至出现了HANA,, Vertica,InfluxDB等等很多内存或者分布式内存数据库。
那么现在云计算跟云存储到底有多便宜呢? 看看今天我刚从某网站截取的广告吧:
某网站的云主机广告

这种面向市场大规模销售的产品,因为采用可以采用廉价的PC Server,可以做到真正的白菜价,这在10年前根本无法想象。

  • 第三

另外MySQL代码跟文档都是公开的,这样对数据库开发维护人员的要求相应的也就大大降低了。

  • 最后

从SQL 发展到NoSQL,支持半结构化数据,非结构数据的数据库大放异彩,之前这类无法处理的非结构化数据难题得到了解决,非结构化数据处理成为标准配置,似乎占据了市场热点。

3. 现状

那么是不是传统的关系型数据库彻底成了昨日黄花呢?如果你这么想,那就大错特错了!让我们看看权威数据:
我们可以看到2013年到2019年,排名前三的基本上是Oracle, MySQL, Microsoft SQL Server,而且是常年大幅度领先。
数据库趋势数据库排名

由此可见非结构化数据虽然火热,但是关系型数据库仍然稳坐钓鱼台!

原因在哪里呢?数据库发展绚丽多彩,但最终关键还在其擅长的业务场景。不同类型的数据库适配不同的业务场景。在现实世界大量存在的结构化数据,关系型数据库处理起它们来相对成熟,而且各方面优势得天独厚。现在大火的大数据重点在于其有效解决了之前一直无法处理的半结构化、非结构化数据这个老大难问题。让非结构化数据库担当关系型数据库的重任,无异于让大卡车去跑小轿车拉力赛。

之前关系型数据库确实占据了绝对的主流。只是近几年随着3G、4G的发展,图片、音视频内容略有增加。后面随着5G、ARVR、物联网等等新技术的发展,存储又会变贵,区块链跟量子计算也会给世界带来新的变化……

4. 发展

  • 由单机、集群向彻底分布式发展,目前Oracle等数据库已经实现
  • OLTP跟OLAP的融合,这个特性很早就已经实现了
  • 结构化非结构化的融合,目前Oracle, MS SQL Server等也已经实现
  • 磁盘跟内存数据库的融合,目前Oracle, MS SQL Server等也已经实现
  • 行、列、图、对象、文档、内容、时序、搜索引擎、导航类等等不同类型的数据库的融合,笔者初步研究发现已经小部分实现
  • 初略分析来看,数据建模工具对以上特性的支持也在跟进中,但离完美支持还有很大距离

综上来看,今后纵向上关系型数据库发展相对成熟,目前其主要在往横向上发展;非关系型数据库主要在纵向上进一步做深做透。

5. 结论
不管世界怎么发展,我认为关系型数据库未来十年仍将是主流,再远的将来也会有它重要的地位。因为在可预见的将来,结构化数据仍是人类最重要的数字资产,关系型数据库也就会占据最重要的位置。

所以实质就是:不是关系型数据库不重要,而是没有太多新东西可以讲;非结构化数据还有很大发展空间,所以大家比较关注。

光看什么热闹学什么,什么火学什么,浮躁的心态会让人技术很难学得深入。相关从业者得搞清楚这个世界到底发生了什么,以后会发生什么。另外关键是得选准方向,坐得下来,钻得进去。

关注我,每周一篇文章学习数据相关的知识。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10338.html

(0)
上一篇 2022-12-29
下一篇 2022-12-29

相关推荐

  • 数据库的结构,创建,使用是什么_sql创建数据库代码

    数据库的结构,创建,使用是什么_sql创建数据库代码从逻辑上看:描述信息的数据存在数据库中并由DBMS统一管理 从物理上看:描述信息的数据事宜文件的方式存储在物理磁盘上 数据库文件分为: 1.数据文件:存放数据库数据和数据仓库对象的文件 主要数据文件(

    2023-03-04
    95
  • python搜索关键词_python检索

    python搜索关键词_python检索如何采集关键词检索结果,今天前嗅大数据就以古诗文网为例为大家演示,话不多说一起看看吧。 一. 网站内容 1. 网站截图说明 本教程通过“古诗文网”官网来采集所需“关键词”的正文数据,本教程以关键词“…

    2022-12-27
    96
  • python如何监控PostgreSQL代码运行

    python如何监控PostgreSQL代码运行如何监控PostgreSQL存储过程/函数代码运行?本文介绍用python+微信/邮件的方式进行报警、监控。 首先要有一张表、用于存放PostgreSQL存储过程/函数代码运行异常的信息。 处理原则:

    2023-03-19
    119
  • Oracle 导入DBF故障存储文件「建议收藏」

    Oracle 导入DBF故障存储文件「建议收藏」创建表空间及用户CREATE TABLESPACE OracleDBFDATAFILE 'D:appzhoulxoradatadcOracleDBF.DBF' SIZE 1

    2022-12-16
    100
  • 快速获取Python字典value对应的key

    快速获取Python字典value对应的key
    在Python编程中,字典(Dictionary)是一种非常常用且非常有用的数据结构。它可以储存键值(key-value)对,方便我们使用键(key)来快速找到值(value)。然而,在实际开发中,我们有时需要根据字典的值来获取与之对应的键,而这又是一个比较常见的问题。本文将介绍几种快速获取Python字典value对应的key的方法,以及它们的适用场景和性能比较。

    2024-03-02
    38
  • mysql全文索引详解_再捋一遍

    mysql全文索引详解_再捋一遍前言 Hello我又来了,快年底了,作为一个有抱负的码农,我想给自己攒一个年终总结。索性这次把数据库中最核心的也是最难搞懂的内容,也就是索引,分享给大家。 这篇博客我会谈谈对于索引结构我自己的看法,以

    2022-12-26
    133
  • Docker配置MySQL「终于解决」

    Docker配置MySQL「终于解决」yum update yum install docker -y # 修改国内镜像仓库 vi /etc/docker/daemon.json # 加 “registry-mirrors”: [“ht…

    2023-03-27
    145
  • mysql数据库索引数据结构_数据库中索引的概念

    mysql数据库索引数据结构_数据库中索引的概念一、什么是索引 索引是mysql数据库中的一种数据结构,就是一种数据的组织方式,这种数据结构又称为key 表中的一行行数据按照索引规定的结构组织成了一种树型结构,该树叫B+树 二、为何要用索引 优化查

    2023-05-05
    108

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注