余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

为什么很多公司都开始去 Oracle 而使用 MySQL?

xiyangw 2023-10-11 16:42 44 浏览 0 评论

其实使用MySQL的更多是互联网公司啦,这和公司的业务类型以及两种数据库的特性有关。比如,很多银行、政府部门信息系统依旧使用Oracle。而目前去Oracle而使用MySQL的公司,大多是Google、 Facebook、 Twitter以及国内新浪、腾讯、淘宝等互联网公司,可以说绝大多数互联网公司数据库都在用MySQL。

这些公司为什么使用MySQL呢?人邮君从几个方面带着大家来看下:

首先,从公司的角度来看:成本问题。

MySQL是开放源代码的关系型数据库管理系统,由于开放源代码,任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。像BAT、字节系这些大公司,会更注重版权,如果全部用正版数据库,成本会很大,所以MySQL是很好的选择。

有网友把MySQL比作菜市场,新鲜、便宜、充满了创造性,很适合野蛮生长的互联网界。Oracle是付费闭源大型数据库,更像是五星级饭店。

然后看技术层面,MySQL简直为互联网而生。

1、在语法和使用方便性上,MySQL要优于Oracle。尤其是在它们自身的常用功能、稳定性等核心内容没有大差异的情况下,MySQL支持非WINDOWS操作系统(并且运行速度比在WINDOWS上还要快)。

2、扩展性好。MySQL关系型数据库使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。

这和互联网发展的理念更加切合。

3、MySQL因为速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。而目前的互联网公司所面向的用户,每时每刻都在生产内容,这是Oracle难以满足的。

同时,很多功能,也更适合互联网应用场景,比如,like '%字符串%' 同样两家都可以做,MySQL会更快。

之前淘宝,就是因为业务量发展太快,原本基于Oracle旧架构的系统扩展性不能很好地支撑整个业务,使得整个数据库进行了转型。现在很多大型互联网公司的业务会需要上百集群、上千机器来承载,所以MySQL这样轻量级的数据库会更合适。

这几年,MySQL应用越来越广泛,想进入互联网行业的兄弟们,可以多看下这本秘籍——《MySQL是怎样运行的——从根上理解MySQL》

作者小孩子4919先在掘金小册发布了文章,反应非常火爆。作者一思量,像我一样学习MySQL的伙伴们,肯定也会遇到类似的问题和坑,何不出本书!于是,小册的升级版,这本书就有了。

《MySQL是怎样运行的:从根儿上理解 MySQL》总计22 章,4大部分。

第1部分介绍了MySQL入门的一些知识,比如MySQL的服务器程序和客户端程序有哪些,MySQL的启动选项和系统变量,以及使用的字符集等。

第2部分是本书后续章节的基础,介绍了MySQL的一些基础知识,比如记录、页面、索引、表空间的结构和用法等。

第3部分则与大家在工作中经常遇到的查询优化问题紧密相关,介绍了单表查询、连接查询的执行原理,MySQL基于成本和规则的优化具体指什么,并详细分析了Explain语句的执行结果。

第4部分则是与MySQL中的事务和锁相关,介绍了事务概念的来源,MySQL是如何实现事务的,包括 redo日志、undo日志、MVCC、各种锁的细节等。

尽管《MySQL是怎样运行的:从根儿上理解 MySQL》在写作时参考的MySQL源代码版本是5.7.22,但是大部分内容与具体的版本号并没有多大关系,无论是很早之前就已身居MySQL专家的人员,还是希望进一步提升技能的DBA,甚至是三五年后才会入行的“萌新”,本书都是他们彻底了解MySQL运行原理的优秀图书。

相关推荐

排序算法--归并排序_归并排序例题讲解

原理如图所示(先分割再合并):归并排序代码工作原理:1、申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列2、设定两个指针,最初位置分别为两个已经排序序列的起始位置3、比较两个指针所...

八大排序算法-归并排序_归并排序 算法

算法思想归并排序分为三个步骤:1.分解:将数列分解成n个子数列。(如果是将数列分成2个子数列则为2路归并)2.治理:对每个子数列进行排序操作3.合并:将两个排好序的子数列进行合并生成新的数列算法实现P...

高级排序之归并排序、希尔排序_希尔排序和归并排序区别

前言继上次排序算法简单排序算法之冒泡、插入和选择排序-Java实现版后,本文学习高级排序算法——归并排序、希尔排序,快速排序将在后续更新。本文实现代码调用方法,部分来自前一个文章:简单排序算法之冒泡、...

Excel办公应用:按合并单元格排序的三大方法

1.按姓名对科目排序重点:在"C2"中输入公式=IF(A2<>"",1,C1+1),然后下拉填充。2.按姓名添加连续序号(方法一)重点:选择"A2:A11"单元格区域,在编辑栏中输入公...

快速排序 Vs. 归并排序 Vs. 堆排序——谁才是最强的排序算法

知乎上有一个问题是这样的:堆排序是渐进最优的比较排序算法,达到了O(nlgn)这一下界,而快排有一定的可能性会产生最坏划分,时间复杂度可能为O(n^2),那为什么快排在实际使用中通常优于堆排序?昨天刚...

归并排序思路图解 #归并排序_归并排序百度百科

排序算法1.图解。OK,让它排一下。看好了,要开始排了。能看出来像递归吗?肯定算法难,但是这个次数非常的多,不用管次数。这个是帝规,就是递归。这是并,这是并,这是两个有序数,组合成一个最后的大的有序数...

排序算法学习——归并排序_归并排序算法稳定吗

我们先看归并排序的定义归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每...

动画|经典的归并排序究竟怎么玩儿?

作者|菠了个菜责编|郭芮由于LeetCode上的算法题很多涉及到一些基础的数据结构,为了更好的理解后续更新的一些复杂题目的动画,推出一个新系列——《图解数据结构》,主要使用动画来描述常见的数据...

Excel中,多列数据统一排名,Rank函数直接搞定

Rank实现多列联合排序排序,那太简单啦,Excel中,升序降序,一个按键就可以。但,那是针对单列情况,若需要联合多列数据进行排序呢?如下图所示,需要对1、3、5列进行统一排序,咋弄嘞?联合排序案例先...

【数据结构与算法】归并排序_数据结构中归并排序

归并排序是建立在归并操作的一种高效的排序方法,该方法采用了分治的思想,比较适用于处理较大规模的数据,但比较耗内存,今天我们聊聊归并排序排序思想一天,小一尘和慧能坐在石头上,眺望着远方师傅,我听山下的柳...

C++基础算法:归并排序_经典排序算法-----归并排序(c语言实现)

归并排序(MergeSort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。...

马士兵说之归并排序_马士兵教育的内推是真的

大家对于排序应该是挺熟悉的吧,马士兵老师特意为排序出了一波视频,当然文章是转自博客园的,马士兵老师的视频观看请点击下方的了解更多概要本章介绍排序算法中的归并排序。内容包括:1.归并排序介绍2.归并...

C++快速排序和归并排序_c++快速排序sort

快速排序每一轮挑选一个基准元素(随机选择,编程时一般选取第一个),并让比它大或小的元素移动到基准元素的两边,把数列拆解成了两个部分。而后对这两部分分别进行快速排序。时间复杂度:O(nlogn),辅助空...

经典的排序算法——归并排序_归并排序算法步骤

归并排序(MergeSort)是一种基于分治策略的高效排序算法。它将原始数组不断地分割成两个子数组,直到每个子数组只剩下一个元素为止(即基本有序),然后再通过合并已排序的子数组来最终得到完全有序的大...

归并排序_归并排序c++实现

归并排序概念:归并排序中涉及到一个概念就是分而治之,总序列化成小序列,将小序列排序好,利用排序好的小序列,再归并排序成原来要排序的序列。所以排序前先要分:functiondivide(arr){...

取消回复欢迎 发表评论: