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

相关推荐

  • MySQL优化–MVCC

    MySQL优化–MVCCMySQL优化–概述以及索引优化分析 MySQL优化–查询分析工具以及各种锁 七、MVCC 7.1、必备知识 7.1.1、什么是MVCC 多版本并发控制(Multiversion concurr…

    2023-03-31
    169
  • Python os.mkdir递归创建文件夹实现

    Python os.mkdir递归创建文件夹实现在使用Python编写程序时,我们经常需要创建文件夹以存储数据。Python的os模块提供了两种方法来创建文件夹:os.mkdir和os.makedirs。那么这两种方法有什么区别?

    2024-03-27
    71
  • MySQL 有关MHA搭建与切换的几个错误log「建议收藏」

    MySQL 有关MHA搭建与切换的几个错误log「建议收藏」1:masterha_check_repl 副本集方面报错 replicates is not defined in the configuration file! 具体信息如下: 分析:MHA 漂移

    2022-12-25
    144
  • flinksql原理_flink sql解析流程

    flinksql原理_flink sql解析流程在Flink SQL中, 元数据的管理分为三层: catalog-> database-> table, 我们知道Flink SQL是依托calcite框架来进行SQL执行

    2023-03-14
    174
  • 使用BM25算法进行文本相似度计算

    使用BM25算法进行文本相似度计算BM25算法是一种用于文本检索的算法,由Robertson和他的同事在1995年提出。该算法的核心思想是通过计算文档与查询之间的相似性得出文档的排名,从而实现文本检索。

    2024-08-05
    37
  • mongodb简介_开发公司介绍

    mongodb简介_开发公司介绍目录 一、MongoDB介绍 二、搭建MongoDB 三、Java With MongoDB 四、Spring Session MongoDB 五、MongoDB开发规范及示例 六、MongoDB +

    2023-02-15
    154
  • Python安装matplotlib方法

    Python安装matplotlib方法Python是一种广泛使用的编程语言,它可以运用于诸多领域,包括数据科学、机器学习、人工智能、自然语言处理等等领域。而Matplotlib作为Python的一种绘图库,可以以简单而又优美的方式生成高质量的图形,因此也是Python程序员必不可少的工具之一。以下是Python安装Matplotlib的方法:

    2024-06-19
    46
  • centos安装Redis和设置远程访问[通俗易懂]

    centos安装Redis和设置远程访问[通俗易懂]记录下步骤以后用到时翻一翻。一、下载官方的文件包和编译在redis官网的下载页面,这里可以选择离线包或在线下载。我选择在线的,在下载页面往下拉到 Installation这里官方已经教你如何在线下载了

    2022-12-22
    145

发表回复

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