Amazon Aurora

Amazon Aurora 調研

目錄

  1. 官方介紹

  2. 宣傳特點

  3. 概念與架構

  4. 性能、HA探討

  5. 質疑、亮點

  6. 結論

  7. 參考文檔

<a name="官方介紹"></a>官方介紹

  • Amazon Aurora 是一個關系型數據庫引擎,結合了高端商用數據庫的速度和可用性,同時還具有開源數據庫的簡單性和成本效益。

  • 它提供的吞吐量比同一硬件上運行的標準 MySQL 最多高出五倍。Amazon Aurora 的設計與 MySQL 5.6 兼容,因此現有 MySQL 應用程序和工具無需修改即可運行。

  • Amazon Aurora 繼 MySQL、Oracle、Microsoft SQL Server 和 PostgreSQL 之后,成為第五個可通過 Amazon RDS 提供給客戶的數據庫引擎。

  • 兼容 MySQL 的關系數據庫,其性能高達 MySQL 的 5 倍。
    有商業數據庫的安全性、可用性和可靠性,但成本只是商業數據庫的 1/10

  • 最高可以實現每秒 50 萬次讀取和 10 萬次寫入

  • 最多15個副本

  • 存儲空間最小為 10GB,最大為 64TB

  • Amazon Aurora 的設計旨在提供高于 99.99% 的可用性。從物理存儲故障恢復是一個透明過程,而實例故障轉移也只需要不到 30 秒

  • Amazon Aurora 的存儲具有容錯和自我修復功能。您的數據有六個副本復制分布在三個可用區中,并且會持續備份到 Amazon S3

<a name="宣傳特點"></a> 宣傳特點

  • 讀寫分離
  • 快速Fail Over
  • 從庫幾乎0延遲
  • 5X 性能于MySQL
  • 易于擴展(應該是讀)

<a name="概念與架構"></a> 概念與架構

  • Aurora 并不開源
  • Aurora 不是用于MySQL的插件式引擎(不是InnoDB或者TokuDB這樣的引擎)
  • Aurora 算是一個數據庫軟件(網上都稱其為engine,個人覺得,Aurora 作為一個軟件更合適)
  • Aurora 是結合了Amazon 云生態系統里各種服務組件的、一個能夠媲美商業數據庫(官方宣傳)的、兼容MySQL的數據庫引擎
  • Aurora 開源了也沒用,因為它依賴的都是Amazon自己的基礎服務(S3等)
https://www.percona.com/blog/2015/11/16/amazon-aurora-looking-deeper/
  • 上圖是Percona Vadim Tkachenko 猜想Aurora 的架構圖,基本的原理就是共享了一個高效的存儲層,用這種方式來取代binlog的復制方式,所以才會提供很快的Fail Over特性、幾乎為0的從庫延遲。

  • 這種架構,跟Oracle RAC 是不是很像?

  • PXC是不是也有些類似?

  • share everything?

ps:
Amazon 的工程師,在對外宣講的一個點,就是針對現有數據庫架構很多冗余部件的吐槽,這樣對于數據的備份、成本、靈活性都很不方便。

通過上述的這種架構,Aurora 可以:

  • Avoid data writes to storage
  • Avoid binary logs
  • Avoid InnoDB transactional logs
  • Disable doublewrites
  • Disable InnoDB checksums

理論上是有性能提升的。

<a name="性能HA"></a> 性能 & HA

官方測試有爭議

  • 官方宣稱,寫方面,3X 于MySQL,讀方面,5X 于MySQL
  • 官方的測試環境
    • 250 tables, with 25000 rows each
    • 4.5GB
    • Amazon used r3.8xlarge instances
      • 32 virtual CPUs
      • 244GB of memory

Percona 測試

  • 結論
    • 在高配(高IO)的EC2機器上,Percona Server性能依然高于或者持平 Aurora。
    • 但是在數據量比較大的情況下,Aurora 還是有一定優勢的。
    • 數據量較少的情況下,Aurora 性能不及Percona。如果按照官方的對比,Percona Server 也要比MySQL 高出很多性能了。
    • 最高IO的EC2,價格也最貴,成本最大。
    • 從下面的表格來看,Aurora 還是有一定的優勢的。

價格對比:

Item Config Price a Year($)
Aurora 4 virtual CPUS + 30GB memory + 400GB 311.40
ps 4 virtual CPUS + 30GB memory + 500GB + 1500/3000 ios 210.60
ps-io2000 4 virtual CPUS + 30GB memory + 500GB + 2000 ios 353.10
ps-io3000 4 virtual CPUS + 30GB memory + 500GB + 3000 ios 418.10

其他測試

  • 結論
  • 5?X 太夸張
  • 性能好于用戶自己在EC2上搭建的MySQL(跟percona的測試有沖突)
  • 跟自家的5.6 RDS比,沒有太大優勢
  • 但是Aurora 在響應時間上,有一定優勢

HA測試

  • 上圖來自Percona 工程師 Yves Trudeau
  • 圖中顯示,Aurora 的Fail Over速度明顯好于MHA,但是跟Galera 還有差距
  • 該blog 從HA、性能等方面,大量對比了Galera 和Aurora,對于Aurora這種架構,只跟MySQL 單機去比,可能不太合適,和Galera 去對比,算是恰如其分的。

<a name="質疑亮點"></a>質疑 & 亮點

質疑

  • 5X 的性能,見上文。

  • 與官方MySQL比:

    • 大量細節顯示,Aurora 跟MySQL 5.6 有很多淵源,并且,從Bug List 來看,Aurora 明顯跟不上MySQL 官方的腳步:

My question here, does Amazon have the ability to keep up with MySQL bug fixes and regularly update their software? So far it does not seem so.

  • Amazon Aurora – Looking Deeper

  • unusual behaviour

    • 怪異的隔離級別

    • 默認只支持RR,修改其他不生效,但是不報錯

    • 被殺掉的從庫查詢:

Scenario:
READER:
execute long SELECT col1 FROM tab1
WRITER:
while SELECT running, execute ALTER TABLE tab1 ADD COLUMN col2 ;
Effect: SELECT on READER fails immediately with an error: “ERROR 1866 (HY000): Query execution was interrupted on a read-only database because of a metadata change on the master”

So there again I think Aurora does its best given architectural limitations and one-directional communication: it just chooses to kill read statements on Readers.

亮點

  • 修復了Query cache 對寫造成的影響。

<a name="結論"></a> 結論

  • 大神 DimitriK 表示一臉不屑,5.7早就可以達到100w QPS,單純從性能來講,Aurora 沒有太大優勢。
    注釋:Dim的測試全都是內存測試,他的原則就是這種最為簡單的測試,最能體現引擎內部的性能優化程度。
    MySQL Performance: 5.7 and RDS Aurora, so what?.. ;-)
  • 個人認為,單純討論性能沒有太大意義,要從RDS服務本身去談。如備份、高可用。

  • Aurora 的設計利用了Amazon 本身的諸多系統,從設計本身就可以做到高速Fail Over,另外,其備份也要比傳統的MySQL實例備份來的方便。

  • 從Amazon 方面考慮,開發Aurora 這種東西,利用了自家的很多技術,這對云服務的成本來講也是很大一筆節約。

  • 對用戶來講,購買EC2 主機來搭建MySQL也許不是一個明智的選擇,如果Amazon 能提供更好、更廉價的RDS服務,何樂而不為?

  • Amazon 的野心,在于構建一個能夠媲美商業數據庫的數據庫,但是這個數據庫并不是一個用來賣的軟件(不像 Oracle那樣),他的目的在于打造一個基于云的商業數據庫服務,及Amazon RDS。

  • 套用Percona Vadim Tkachenko 的一句話:

In general I think Amazon Aurora is a quite advanced proprietary version of MySQL. It is not revolutionary, however, and indeed not “reimagined relational databases” as Amazon presents it. This technology does not address a problem with scaling writes, sharding and does not handle cross-nodes transactions.

“這不是一個革命性的產品,它沒能解決寫擴展的問題,也沒有解決sharding、以及多節點事物的問題,但是這給關系型數據庫未來的發展,提供了一些想象,是一個很好的MySQL衍生品?!?/p>

<a name="參考文檔"></a> Reference

重點推薦

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容