MySQL 發展史

?

一.MySQL 標志說明

MySQL的海豚標志的名字叫“sakila”,它是由MySQL AB的創始人從用戶在“海豚命名”的競賽中建議的大量的名字表中選出的。獲勝的名字是由來自非洲斯威士蘭的開源軟件開發者Ambrose Twebaze提供。根據Ambrose所說,Sakila來自一種叫SiSwati的斯威士蘭方言,也是在Ambrose的家鄉烏干達附近的坦桑尼亞的Arusha的一個小鎮的名字。

?

二.MySQL 發展

MySQL的歷史最早可以追溯到1979年,有一個人叫Monty Widenius, 為一個叫TcX的小公司打工,并用BASIC設計了一個報表工具,可以在4M主頻和16KB內在的計算機上運行。過了不久,又將此工具,使用C語言重寫,移植到Unix平臺,當時,它只是一個很底層的面向報表的存儲引擎。這個工具叫做Unireg。

?

1985 年,瑞典的幾位志同道合小伙子(以David Axmark 為首) 成立了一家公司,這就是MySQL AB 的前身。這個公司最初并不是為了開發數據庫產品,而是在實現他們想法的過程中,需要一個數據庫。他們希望能夠使用開源的產品。但在當時并沒有一個合適的選擇,沒辦法,那就自己開發吧。

在最初,他們只是自己設計了一個利用索引順序存取數據的方法,也就是I S A M(Indexed Sequential Access Method)存儲引擎核心算法的前身,利用ISAM 結合mSQL 來實現他們的應用需求。在早期,他們主要是為瑞典的一些大型零售商提供數據倉庫服務。在系統使用過程中,隨著數據量越來越大,系統復雜度越來越高,ISAM 和mSQL 的組合逐漸不堪重負。在分析性能瓶頸之后,他們發現問題出在mSQL 上面。不得已,他們拋棄了mSQL,重新開發了一套功能類似的數據存儲引擎,這就是ISAM 存儲引擎。大家可能已經注意到他們當時的主要客戶是數據倉庫,應該也容易理解為什么直至現在,MySQL 最擅長的是查詢性能,而不是事務處理(需要借助第三方存儲引擎)。

? 1990年,TcX的customer 中開始有人要求要為它的API提供SQL支持,當時,有人想到了直接使用商用數據庫算了,但是Monty覺得商用數據庫的速度難令人滿意。于是,他直接借助于mSQL的代碼,將它集成到自己的存儲引擎中。但不巧的是,效果并不太好。于是,Monty雄心大起,決心自己重寫一個SQL支持。

1996年,MySQL 1.0發布, 在小范圍內使用。到了96年10月,MySQL 3.11.1發布了,沒有2.x版本。最開始,只提供了Solaris下的二進制版本。一個月后,Linux版本出現了。 此時的MySQL還非常簡陋,除了在一個表上做一些Insert,Update,Delete和Select 操作職位,沒有其他更多的功能。

? 緊接下來的兩年里,MySQL依次移植到各個平臺下。它發布時,采用的許可策略,有些與眾不同:允許免費商用,但是不能將MySQL與自己的產品綁定在一起發布。如果想一起發布,就必須使用特殊許可,意味著要花銀子。當然,商業支持也是需要花銀子的。其它的,隨用戶怎么用都可以。這種特殊許可為MySQL帶來了一些收入,從而為它的持續發展打下了良好的基礎。

? 1999-2000年,有一家公司在瑞典成立了,叫MySQL AB。?? 雇了幾個人,與Sleepycat合作,開發出了 Berkeley DB引擎, 因為BDB支持事務處理,所以,MySQL從此開始支持事務處理了。

? 在2000 年的時候,MySQL 公布了自己的源代碼,并采用GPL(GNU General Public License)許可協議,正式進入開源世界。

? 2000年4月,MySQL對舊的存儲引擎進行了整理,命名為MyISAM。

2001年,Heikiki Tuuri向MySQL提出建議,希望能集成他們的存儲引擎InnoDB,這個引擎同樣支持事務處理,還支持行級鎖。所以在2001年發布的3.23 版本的時候,該版本已經支持大多數的基本的SQL 操作,而且還集成了MyISAM和InnoDB 存儲引擎。MySQL與InnoDB的正式結合版本是4.0。

? 2004年10月,發布了經典的4.1版本。 2005年10月,有發布了里程碑的一個版本,MySQL 5.0.? 在5.0中加入了游標,存儲過程,觸發器,視圖和事務的支持。在5.0 之后的版本里,MySQL明確地表現出邁向高性能數據庫的發展步伐。

?

2008年1月16號 MySQL被Sun公司收購。

2009年04月20日Oracle收購Sun 公司,MySQL 轉入Oracle 門下。

2010年04月22 發布MySQL 5.5, MySQLcluster 7.1.

?

現在官網可以下到的MySQL 版本是:5.5.18.? Oracle 對MySQL版本重新進行了劃分,分成了社區版和企業版,企業版是需要收費的,當然收費的就會提供更多的功能。

Mysql 不同版本 說明

http://blog.csdn.net/tianlesoftware/article/details/6723117


?


Community Server可以從mysql 的官網直接下載,但是MySQL 不提供技術支持,在5.5 版本里多了如下功能:

1. 默認存儲引擎更改為InnoDB

2. 多核性能提升

3. 復制功能(Replication)加強

4. 增強表分區功能

1) 非整數列分區

2) 多列分區:

3) 可用性增強:

4) 更多微調功能:

5. Insert Buffering

6. Support for Native AIO on Linux

?

在MySQL Enterprise Edition的收費版本里,出了Community Server 版本里的新功能之外,還有包含一下功能和組件:

MySQL Database

MySQL EnterpriseBackup

MySQL EnterpriseMonitor

MySQL WorkbenchStandard Edition

?

說明:

?????? 以上資料來自google,而且網上的很多版本也不一樣,所以這里僅做為一個故事,了解一下MySQL的發展史。

?

?


?

-------------------------------------------------------------------------------------------------------

版權所有,文章允許轉載,但必須以鏈接方式注明源地址,否則追究法律責任!

Blog:???? http://blog.csdn.net/tianlesoftware

Weibo: http://weibo.com/tianlesoftware

Email: ? tianlesoftware@gmail.com

Skype: tianlesoftware

?

-------加群需要在備注說明Oracle表空間和數據文件的關系,否則拒絕申請----

DBA1 群:62697716(滿);?? DBA2 群:62697977(滿)??DBA3 群:62697850(滿)??

DBA 超級群:63306533(滿);? DBA4 群:83829929(滿) DBA5群: 142216823(滿)?

DBA6 群:158654907(滿)?? DBA7 群:69087192(滿)??DBA8 群:172855474

DBA 超級群2:151508914? DBA9群:102954821???? 聊天 群:40132017(滿)

轉載于:https://www.cnblogs.com/zlja/archive/2011/11/22/2449529.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/380083.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/380083.shtml
英文地址,請注明出處:http://en.pswp.cn/news/380083.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

scanf讀取字符_在C語言中使用scanf()讀取整數時跳過字符

scanf讀取字符Let suppose, we want to read time in HH:MM:SS format and store in the variables hours, minutes and seconds, in that case we need to skip columns (:) from the input values. 假設,我們要讀取HH:MM:SS格式的時間 &…

An Algorithm Summary of Programming Collective Intelligence (3)

k-Nearest Neighbors kNN(不要問我叫什么)PCI里面用kNN做了一個價格預測模型,還有一個簡單的電影喜好預測。簡單來說就是要對一個東西做數值預測,就要先有一堆已經有數值的東西,從里面找出和要預測的東西相似的,再通過計算這些相似…

遠控免殺專題(24)-CACTUSTORCH免殺

轉載:https://mp.weixin.qq.com/s/g0CYvFMsrV7bHIfTnSUJBw 免殺能力一覽表 幾點說明: 1、上表中標識 √ 說明相應殺毒軟件未檢測出病毒,也就是代表了Bypass。 2、為了更好的對比效果,大部分測試payload均使用msf的windows/mete…

DOM快捷鍵

DOM所有的命令(CMD) 步驟/方法 cmd命令大全(第一部分)winver---------檢查Windows版本 wmimgmt.msc----打開windows管理體系結構(WMI) wupdmgr--------windows更新程序 wscript--------windows腳本宿主設置 write----------寫字板 winmsd---------系統…

病毒的手工排除與分析(更新完畢)

作者簡介楊京濤    8年以上的IT行業經驗,理解企業需求,有企業ERP軟件部署規劃能力,有綜合布線網絡規劃和管理能力。熟悉軟件以及各類硬件,電話程控設備,各類網絡設備的管理維護。有編程基礎,熟悉VBA、腳本、批處理…

JavaScript中的String substring()方法和示例

JavaScript | 字符串substring()方法 (JavaScript | String substring() Method) The String.substring() method in JavaScript is used to return a part of the string. The substring() extracted is from the given start and end index of the string. JavaScript中的Str…

Java——方法(練習九九乘法表)

public static void(int,byte…) xxx(int a,int b) 修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2…){ 方法體語句; return 返回值; } public class fangfa {public static void main(String[] ar…

UVA 10405-Longest Common Subsequence

最長公共子序列&#xff0c;值得注意的是這道題不能用scanf讀字符串。 #include<stdio.h>#include<string.h>#define MAXD 1005char s1[MAXD], s2[MAXD];int dp[MAXD][MAXD];int max( int a, int b){return a > b ? a : b;}void solve(){int len1 strlen(s1 …

對初學者的幾點建議

http://www.cnblogs.com/thcjp/archive/2007/06/14/783157.html 天轟穿vs2005入門.net2.0系列視頻教程推出已經有接近8個月了&#xff0c;這期間我收到非常多的反饋&#xff0c;我只能用非常來形容&#xff0c;呵呵&#xff0c;當然也了解了很多人的心理和學習方法。但是很遺憾…

系統固件升級_固件和操作系統之間的差異

系統固件升級固件 (Firmware) Firmware is somewhere similar to software but it is not a software. Somehow it is a modified form of software. 固件與軟件相似&#xff0c;但不是軟件。 不知何故&#xff0c;它是軟件的修改形式。 Firmware is fixed data or code that …

cobalt strick 4.0 系列教程 (5)--- 獲取立足點

https://blog.ateam.qianxin.com/CobaltStrike4.0%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C_%E4%B8%AD%E6%96%87%E7%BF%BB%E8%AF%91.pdf 0x01 客戶端 System Profiler [即探針] System Profiler 是一個為客戶端攻擊提供的偵察工具。這個工具啟動一個本地的 web 服務器&#xff0…

[轉]sql,N/$/#/@的含義和作用

declare sql nvarchar(4000)set sql Nselect TotalRecordscount(*) from N( sqlFullPopulate N) a EXEC sp_executesql sql,NTotalRecords int output, TotalRecords output 問題&#xff1a;sql 后面有個N, N 起什么作用? 答案&#xff1a; 加上 N 代表存入數據庫時…

Java——方法重載(overload)(比較兩個數據是否相等)

重載&#xff1a;方法名相同&#xff0c;參數列表不同&#xff0c;與返回值類型無關 重載的分類&#xff1a; 1&#xff0c;參數個數不同 ①&#xff0c;④&#xff0c;⑤&#xff0c;⑥&#xff1b; 2&#xff0c;參數類型不同 ①&#xff0c;②&#xff0c;③、 ⑤&#x…

scala怎么做冪運算_Scala冪(冪)函數示例

scala怎么做冪運算Scala programming language has a huge set of libraries to support different functionalities. Scala編程語言具有大量的庫來支持不同的功能。 scala.math.pow() (scala.math.pow()) The pow() function is used for the exponential mathematical opera…

frame--轉載

所謂框架便是網頁畫面分成幾個框窗&#xff0c;同時取得多個 URL。只 要 <FRAMESET> <FRAME> 即可&#xff0c;而所有框架標記 要放在一個總起的 html 檔&#xff0c;這個檔案只記錄了該框架 如何劃分&#xff0c;不會顯示任何資料&#xff0c;所以不必放入 <…

cobalt strick 4.0 系列教程(6)Payload Artifact 和反病毒規避

0x01 哲學 Strategic Cyber 責任有限公司會定期回答有關規避的問題。Cobalt Strike 是否能夠繞過 AV 產品&#xff1f;它能繞過哪些 AV 產品&#xff1f;它多久檢查一次&#xff1f; Cobalt Strike 默認的 Artifact 可能會被大多數終端安全解決方案攔截。規避不是 Cobalt Str…

【轉】企業開發的困境與變局

原文&#xff1a;企業開發的困境與變局 文 / 劉江 算起來&#xff0c;《程序員》已經有幾年時間沒有大篇幅討論企業軟件開發這個話題了。這其實挺奇怪的。要知道&#xff0c;按類別來分&#xff0c;國內從事企業軟件開發的技術人員是最多的&#xff0c;從CSDN和《程序員》聯合舉…

c# 類對象和實例對象_C#類和對象能力問題 套裝4

c# 類對象和實例對象1) What are the correct statements about given code snippets? using System;public class Example{virtual private int X;private int Y;static void Main(string[] args){Console.WriteLine("Hello World");}}Hello WorldHelloWorldSyntax…

linkBar組件學習--設置linkBar子項的豎直間距.

效果&#xff1a;代碼&#xff1a; <?xml version"1.0" encoding"utf-8"?><!--http://blog.flexexamples.com/2008/04/20/setting-the-vertical-spacing-between-items-in-a-linkbar-control-in-flex/ --><mx:Application xmlns:mx"…

AES算法

算法簡介 AES本質是一種對稱分組密碼體制&#xff0c;采用代替/置換網絡。每輪由三層組成&#xff1a;線性混合層確保多輪之上的高度擴散&#xff0c;非線性層由16個S盒并置起到混淆的作用&#xff0c;秘鑰加密層將子秘鑰異或到中間狀態。 AES加密數據塊和秘鑰長度可以是128比…