成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL數據庫存儲引擎和分支現狀

數據庫 MySQL
MySQL數據庫是一種開放源代碼的關系型數據庫管理系統,MySQL數據庫系統使用最常用的數據庫管理語言--結構化查詢語言(SQL)進行數據庫管理。MySQL隨著相應的各主創和內部開發人員的離去,締造了各個不同的存儲引擎和分支,下面分析MySQL數據庫存儲引擎和分支現狀。

 MySQL以前的發展是值得肯定的,發展也是相當成功的,然而,在MySQL經歷了2008年Sun的收購和2009年Oracle收購Sun的過程中,MySQL的步伐基本處于停滯發展的情況,在可以預見的未來,MySQL是肯定會被Oracle擱置并且逐步雪藏消滅掉的。MySQL隨著相應的各主創和內部開發人員的離去,締造了各個不同的引擎和分支,讓MySQL有希望繼續發揚光大起來。

  本文大致講解一下MySQL目前除了主要的 MyISAM、InnoDB、Heap(Memory)、NDB 等引擎之外的其他引擎的發展和現狀,以及MySQL主干以外的分支的狀況,為了我們未來更好的使用MySQL或者其他分支建立一個了解基礎。

  要了解主要存儲引擎,請參考手冊:http://dev.mysql.com/doc/refman/5.1/zh/index.html

 

  MySQL存儲引擎介紹:

  Falcon存儲引擎

  Falcon存儲引擎是MySQL當時寄以厚望的存儲引擎,主要是為了面對當時Oracle收購了InnoBase公司的情況,用來取代InnoDB的一個存儲引擎。Falcon引擎的主導人員是大師Jim Starkey,從2006年開始開發,到2008年發布Beta版本,至今為止也沒有走入主流。2008年中旬,Falcon的主架構師Jim Starkey宣布從MySQL公司辭職,加入了一家創業公司NimbusDB擔任CEO,去設計和開發運行在云計算上面的關系/語義數據庫,按照2010年目前NoSQL市場的發展來看,他的選擇是正確的,但是帶來的結果是Falcon陷入一個沒有主導人員的地步,導致了至今都屬于性能糟糕,半死不活的狀態。

  Falcon引擎是MySQL AB公司基于Netfrastrucure公司的產品開發的(Netfrastrucure公司被MySQL AB收購),Falcon 當初的目標是嵌入到MySQL 6.0中用來取代InnoDB引擎,基本很多功能設計都是按照InnoDB的目標去設計的。

  Falcon是面向多CPU、擁有大量內存的當代硬件環境和典型Web應用的 數據庫操作特點而開發的,主要功能包括多版本并發控制、完善的ACID支持、支持前綴壓縮的B+樹索引、數據頁壓縮(在磁盤上以壓縮形式存儲,在內存中以 非壓縮形式存儲)、成組提交等。從功能方面來說沒有什么新鮮事,大體也就實現了一個事務型存儲引擎必須要有的功能(很多高級的功能如多表空間、分區等都還 沒有),但其架構上卻有很多獨特之處。

  通過網上的一些測試結果Falcon的性能還是很糟糕的,寫入速度是 MyISAM 的 1/10 ~ 1/20,Select 的優化也有問題,添加了索引感覺還會進行全表掃描。所以,我終究感覺 Falcon 是個杯具的引擎。

  Falcon特性:http://dev.mysql.com/doc/falcon/en/se-falcon-features.html
  Falcon測試:http://blog.gslin.org/archives/2008/02/12/1425/
  Falcon手冊:http://dev.mysql.com/doc/falcon/en/

 

#p#

  在MySQL經歷了2008年Sun的收購和2009年Oracle收購Sun的過程中,基本處于停滯發展的情況,在可以預見的未來,MySQL是肯定會被Oracle擱置并且逐步雪藏消滅掉的。MySQL隨著相應的各主創和內部開發人員的離去,締造了各個不同的引擎和分支,讓MySQL有希望繼續發揚光大起來。

  本文大致講解一下MySQL目前除了主要的 MyISAM、InnoDB、Heap(Memory)、NDB 等引擎之外的其他引擎的發展和現狀,以及MySQL主干以外的分支的狀況,為了我們未來更好的使用MySQL或者其他分支建立一個了解基礎。

  要了解主要存儲引擎,請參考手冊:http://dev.mysql.com/doc/refman/5.1/zh/index.html

#p#

 Maria存儲引擎

  Maria由MySQL的創始人,MyISAM的作者Monty (Michael Widenius) 開發,命名為Maria是因為他的第三個小孩就叫Maria。Maria是Monty在MySQL公司的時候就開始開發的一個MySQL的分支引 擎,Sun收購MySQL后,因為與Sun針對MySQL團隊的一些問題不和,然后在2009年初離開了Sun,成立了 Monty Program Ab 公司,專門用于針對 Maria 引擎的開發,同時開發了一個MySQL的分支,叫做 MariaDB。

  Maria是一個MySQL的存儲引擎,利用它來擴展MyISAM使之在異常退出時文件不至于損壞。Maria的主要目的是作為更好的 MyISAM,提供崩潰后的故障恢復功能。更長遠的目標是成為一個全功能的事務型存儲引擎,支持ACID、回滾、多版本并發控制、行級鎖、成組提交,同時 也可以選擇不支持事務,最終代替MyISAM成為MySQL的默認存儲引擎。

  目前Maria引擎有針對MySQL 5.1 的版本,基本上就是一個增加了崩潰恢復功能的MyISAM,使用表級鎖,但可以做到讀寫不沖突,即在進行任何類型的更新操作的同時都可以進行讀操作,但多個寫操作不能并發。

  Maria的特點

  1. 多版本并發控制,ACID支持

  2. 通過拷貝日志就能進行增強備份

  3. 高效的磁盤存儲

  Maria 引擎開發之初就是用來取代MyISAM的存儲引擎,并且目前按照我了解有些在使用公司的情況,運行情況挺不錯,大家也可以嘗試一下。Maria 在目前有MySQL創始人帶領的情況下,也是一個非常有前途的的存儲引擎,值得期待。

  Maria下載:http://askmonty.org/wiki/MariaDB:Download

  Maria手冊:http://askmonty.org/wiki/Maria

  [PrimeBase XT (PBXT) 存儲引擎 ]

  PBXT 是 PrimeBase 公司推出的MySQL插件引擎,其功能和 InnoDB 類似,它是一款事務型存儲引擎,并且它的設計是很獨特的。它的一個很與眾不同的特征就是如何來使用事務日志和數據文件來防止“write-ahead”日 志,這可以極大的減少事務提交的開銷。這個架構給了PBXT很大的提高寫并發的空間,并且測試也表明它在某些特定的操作下比InnoDB要快。PBXT也 使用了MVCC并且支持外鍵約束,但是它不使用簇索引。

  主要特性如下:

  MVCC的 :多版本并發控制,使讀操作沒有鎖定

  事務性 :支持啟動開始,COMMIT和ROLLBACK和恢復上

  ACID標準 :原子性,一致性,隔離,持久(一次提交的更改不能丟失)

  行級鎖定 :更新使用行級鎖的并發允許***并發量

  死鎖檢測 :立即通知如果客戶端進程已陷入死鎖

  參照完整性 :外鍵的支持。

  寫一次 :PBXT避免的架構雙寫入使用日志。

  BLOB的流 :在結合的 BLOB Streaming engine.。 (http://www.blobstreaming.org/)

  按照有人的測試結果來看,PBXT存儲引擎版本的TPS隨著線程數的增長,表現比較穩定,性能上與innodb差不多,長期來看,它的目標也是作為 一個能夠取代InnoDB的存儲引擎。而且目前 MariaDB 這個分支已經把 PBXT 作為內置的存儲引擎,所以也是可以嘗試使用的一個引擎。

  性能測試:http://imysql.cn/2008_07_25_innodb_vs_pbxt

  引擎下載:http://www.primebase.org/download/index.php

  官方網站:http://www.primebase.org/

 

#p#

MySQL分支介紹:

 MariaDB 數據庫:  MariaDB 是一個采用 Maria 存儲引擎的 MySQL 分支版本,是由原來 MySQL 的作者 Michael Widenius (Monty) 創辦的Monty Program Ab公司所開發的免費開源的數據庫服務器。基本上 MariaDB 的歷史跟我上面講的 Maria 存儲引擎歷史一樣。MariaDB的設計目標就是用來取代 MySQL Server。Monty是開源數據庫聯盟(Open Database Alliance)的發起者,所以 MariaDB 也是開源數據庫聯盟的成員。

  MariaDB基于事務的Maria存儲引擎,替換了MySQL的MyISAM存儲引擎,它使用了Percona的 XtraDB引擎來替換InnoDB,MariaDB的存儲引擎還包括了 PrimeBase XT (PBXT) 和 FederatedX 存儲引擎,MariaDB基于GPL 2.0發布。

  Monty Widenius提供了MySQL的分支MariaDB候選版本。MariaDB 5.1完全兼容MySQL 5.1,這個版本早在2008年11月就發布了,增加了很多新的功能和若干個新的補丁程序。開發者稱這個候選版本非常穩定。基本上 MySQL,MariaDB 解決了很多問題,例如“pool of threads”功能提供解決多數據連接問題。目前 MariaDB 發布的Release版本是 5.1.44,基本上應該是跟 MySQL 5.1 的版本兼容的。

  MariaDB 基本上名門之后,加上MySQL創始人Monty的實力和號召力,是作為MySQL一個非常好的替代品,前途發展無限,值得我們嘗試使用。

  MariaDB中存儲引擎介紹:

  Maria: http://askmonty.org/wiki/Maria

  XtraDB:http://www.percona.com/docs/wiki/percona-xtradb:start

  PBXT: http://www.primebase.org/

  FederatedX:https://launchpad.net/federatedx

  MariaDB下載:http://askmonty.org/wiki/MariaDB:Download

  MariaDB網站:http://askmonty.org

   Drizzle 數據庫

  Drizzle,是從MySQL衍生出來的一個數據庫服務器,一個精簡版的MySQL分支,Drizzle項目的宗旨是構建一個“更精練、更輕量、更快 速”的MySQL版本,它的擴展性和易用性與MySQL相當,但為了提高性能和擴展性,它從原來的核心系統里移除了部分功能。 Drizzle 也是開源數據庫聯盟(Open Database Alliance)成員。

  MySql的架構設計總監Brian Aker在O’Reilly開放源碼大會(OSCON)上對Drizzle做了介紹。Drizzle是一個能為某些特定類別的應用提供支持的數據庫項目(“what if” project)。Drizzle的設計目標:

  1. Web應用。

  2. 云計算組件。

  3. 沒有業務邏輯的數據庫(又名存儲過程)。

  4. 多核架構。

  Drizzle,一個精簡版的MySQL分支,在目前的MySQL代碼基本之上,將存儲過程、視圖、觸發器、查詢緩存、PREPARE語句等等沒什 么必要 的功能從代碼中刪掉,簡化對數據類型和存儲引擎的支持,并且進行大膽的重構。最終要實現的目的是將MySQL的代碼大大簡化,理順MySQL的架構,改善 MySQL的代碼質量,提高系統的穩定性和性能。將更適合 Web應用、云計算組件、沒有業務邏輯的數據庫(又名存儲過程)、多核架構 等業務

  Drizzle的特征有:

  * 基于MySQL 6.0的源碼樹

  * 無附加庫

  * 遵守POSIX

  * 微內核設計

  * 可插拔架構,適用于視圖、存儲過程、UDF、存儲引擎等

  * 跨多個節點的Sharding技術

  * 智能代理

  * 多CPU/多核CPU

  * 優化的字段類型

  * 高效的內存使用

  * 沒有內部ACL,使用LDAP/PAM

  * 沒有數據庫數據格式化

  * 整理有序的Make系統

  * 缺省存儲引擎為InnoDB

  * 移除Windows兼容性

#p#

Drizzle 缺省的存儲引擎是InnoDB,支持的數據類型更少,基本上設計目標跟 MariaDB 完全不同。MariaDB的設計目標是一個取代MySQL的數據庫,而 Drizzle 基本上是一個除了MySQL之外你可以選擇的產品,并且基本上設計目標是針對未來的云計算和分布式Web存儲的方向去的,目前可能不是太穩定,不適合在運 營環境使用,但是相當的值得期待。

  Drizzle下載:https://launchpad.net/drizzle

  Drizzle網站:http://drizzle.org/

總結語: 基本上來說,目前MySQL還是主流(MyISAM/InnoDB),但是未來發展不可預測,并且有這些除了MySQL之外的選擇,也許有一天Oracle把MySQL徹底消滅掉了,但是我們同樣還有 MariaDB、Drizzle可以選擇,這就是開源的力量。

  對比幾個MySQL的存儲引擎,Maria 和 XtraDB 是值得大家目前投入逐步使用的行列的,多做一些測試,灰度放亮,獲得一個合理結果然后再使用是比較合適的。MySQL的數據庫分支來說,MariaDB 也是比較值得嘗試使用的,畢竟目前 Drizzle 還不是太成熟穩定,并且不一定適合你所做的業務。我所了解國內部分互聯網公司也有在使用 MariaDB 的,并且效果不錯,大家也都可以按照自己的情況來使用。

  目前NoSQL運動如火如荼,有些業務更適合采用Key==>Value或這是BigTable類型的數據存儲方式,也許MySQL不是*** 的,當然選擇最合適存儲,也許未來大部分數據庫市場會被NoSQL所占領,但是我覺得關系型數據庫還是未來幾年很重要的存儲方式。

  在MySQL被Sun收購,已經Sun被Oracle收購的過程中,整個開源世界都是在翻天覆地的變化,特別是MySQL的命運一直都是所有使用和 熱愛開源數據庫的人們所關注的,在這些商業競爭中,那些開源斗士(比如 Monty),都通過別的方式,繼續發揚了MySQL這種開源數據庫。我們長期來看,總會有一些東西會消失,比如 Falcon存儲引擎,有些東西會繼續發展,比如 MariaDB或Drizzle,但是這些都為開源技術做出了貢獻,也為數據庫領域增添了色彩。

      MySQL數據庫存在的存儲引擎和分支問題,相信經過MySQL的努力,一定會一一克服。

【編輯推薦】

  1. MySQL數據庫存儲引擎的概念與用途
  2. 如何更改在Ubuntu下的MySQL數據庫存儲位置
  3. MySQL數據庫存儲引擎詳解
責任編輯:迎迎 來源: enet.com.cn
相關推薦

2011-03-01 11:21:11

MySQL數據庫存儲引擎

2010-05-14 17:44:47

MySQL數據庫

2011-08-16 16:22:38

MySQL數據庫存儲引擎MyISAM

2018-05-14 10:56:36

MySQL數據庫存儲

2017-09-03 15:41:31

數據庫存儲分布式

2022-08-10 14:03:01

MySQL數據庫存儲

2024-06-03 08:29:20

2022-09-16 11:33:24

數據庫關系

2011-02-25 17:47:44

數據庫存儲編寫

2011-08-01 23:08:33

MySQL存儲引擎

2023-01-18 08:25:23

數據庫存儲類型

2009-05-27 11:01:29

UbuntuMySQL存儲

2011-05-17 15:30:27

Oracle數據庫ADO

2011-08-15 15:14:54

SQL Server存儲過程異常處理

2011-08-05 14:31:04

mysql_conve批量轉換MYSQL數據MYISAM

2024-05-20 10:20:37

數據庫存儲容量

2018-06-14 15:05:22

數據庫MySQL存儲引擎

2018-04-23 09:25:24

MySQL結構存儲

2019-07-23 15:34:29

MySQL存儲引擎
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩区 | 国产片一区二区三区 | 九九综合 | 国产精品免费视频一区 | 人人做人人澡人人爽欧美 | 午夜国产| 国产美女视频黄a视频免费 国产精品福利视频 | 欧美一区二区在线播放 | 欧美一级黄视频 | 成人在线免费观看 | 中文字幕视频在线免费 | 欧美精品二区 | 久久久久香蕉视频 | 日韩精品福利 | 欧美aaa一级片 | 黄色国产大片 | 羞羞的视频免费看 | 欧美亚洲国产一区二区三区 | 久久婷婷麻豆国产91天堂 | 国产乱码精品1区2区3区 | 久久国产精品一区二区三区 | 国产精品精品视频一区二区三区 | 中文字幕一区二区三区四区 | 成人免费网站视频 | 免费 视频 1级 | 久久久久亚洲精品 | 在线国产99| 精品国产18久久久久久二百 | 日韩在线观看一区 | 女人夜夜春 | 美女福利视频网站 | 国产精品一区二区福利视频 | 久久青青 | www.国产精品| 精品一区二区三区在线观看 | 一级黄在线观看 | 亚洲精品不卡 | 久久久久久久久久久高潮一区二区 | 欧美日产国产成人免费图片 | 国产一区二区自拍 | 久久久久国 |