當前位置:
首頁 > 科技 > 「剖開」 LinuxONE和Exadata,架構專家解讀裡面到底有什麼

「剖開」 LinuxONE和Exadata,架構專家解讀裡面到底有什麼

至頂網報道

說起IBM的LinuxONE以及Oracle的Exadata,相信在IT行業從事基礎架構工作的同業們都不陌生。最直觀的印象就是:它們都是大型伺服器,體積非常龐大,價格非常昂貴,一個是IBM的拳頭產品,一個是Oracle的拳頭產品。

在去IOE的浪潮之下,可能我們很少去關注其中的細節了。但是對於企業而言,IT如何能夠以最優的性價比來設計最合理的企業IT基礎架構來支撐業務才是我們IT人最終的目標。如果我們以專業的角度去論證IT性價比,或許我們需要來面對它們的抉擇。這個時候我們就需要把這個體積龐大的東西剖開來看看裡面到底裝了什麼?是不是值得我們去選擇?

Exadata 里裝了些什麼?

1、Exadata的硬體架構

圖1展示的是Oracle Exadata的硬體架構圖,主要分為三層:最上層為Oracle RAC伺服器實例層,中間層為IDB over Infiniband高速網路層,最下層為智能存儲網路實例層。從硬體架構本身來看似乎沒有什麼特別的地方。依然是計算層、網路層、存儲層等傳統架構,只不過是在網路層進行了Infiniband的網路硬體升級,在存儲層加了一些SSD快速閃盤等等。

圖1 Exadata硬體體系架構圖

這些硬體的升級以及硬體的這種架構是支撐Exadata所有特性的必要條件,因為Exadata中的軟體智能掃描特性是需要Oracle特殊的通訊協議IDB來支撐,而IDB又是需要Infiniband中的RDS協議來支撐。Exadata中的智能快閃記憶體緩存技術特性是需要存儲層的SSD來支撐。整個硬體體系架構中由以下幾類主要模塊組成:

資料庫節點:全機架有八個運行Oracle Linux 或 Oracle Solaris 的節點。

存儲單元:磁碟是連接到被稱為存儲單元的另一種伺服器。

磁碟:每個單元包含自己的磁碟。根據配置的不同,可以是高性能磁碟,或者是高容量磁碟。

快閃記憶體磁碟:每個單元還有快閃記憶體磁碟。可提供給計算節點,也可用作資料庫集群的二級高速緩存。

Infiniband:單元和節點通過高速、低延遲的 infiniband 進行連接。

乙太網交換機:外界可通過 infiniband 進行通信,也可通過乙太網進行通信。

KVM 交換機:通過一個鍵盤、視頻和滑鼠交換機直接物理連接到各個節點和單元。

2、Exadata的軟體技術特性

Oracle Exadata的軟體技術特性有很多:智能掃描特性(Smart Scan)、存儲索引特性、混合列壓縮特性(EHCC)、智能快閃記憶體緩存(Smart Flash Cache)等。下面我們來分別剖析每一種特性在Exadata當中的作用以及彼此之間的有機聯繫。

一、智能掃描特性

這一特性可以用一個詞來概括,那就是——offload。這就是Exadata的核心思想,將數據的過濾、計算等處理offload到分散的存儲節點,減少存儲到資料庫節點的數據傳輸,並分散數據節點的計算壓力,這估計也是Exadata的存儲節點比DB節點多的緣故之一吧。

列投影:就是過濾掃描的列,如果有的列SQL並不相關那麼就不傳輸到資料庫實例節點。

謂詞過濾:對where條件中的過濾謂詞下派到存儲節點預處理,減少數據傳輸。

存儲索引:這裡的索引並非資料庫層含義的索引,其實質是在存儲節點的內存上建立一個存儲數據的索引結構,記錄存儲片段的區間最大最小值,這樣存儲根據謂詞的過濾條件加上存儲索引即可直接排除一些根本不需要的存儲I/O。

函數下派:將一些函數計算下派到存儲節點,用於分散計算壓力與減少數據傳輸。

解壓/解密的下派:這個主要是計算壓力的分散,數據傳輸不一定減少。

偽列下派:偽列一般需要消耗計算資源,下派可以分散計算壓力並且減少數據傳輸。

塊初始化下派:傳統的塊初始化是由資料庫實例節點完成並寫入存儲節點,而Exadata將塊兒初始化的工作下派給存儲獨立完成,這可以減少計算與傳輸。

二、 智能快閃記憶體緩存特性

這個特性指的就是利用SSD盤緩存機械盤的數據,這能夠大大提升I/O速度(對查詢)。存儲軟體具有兩項主要功能,這些功能使其可充分利用快閃記憶體硬體。第一項功能是智能快閃記憶體緩存,該功能可在快閃記憶體中暫存活動的資料庫對象。第二項功能是智能快閃記憶體日誌記錄,該技術可加速資料庫日誌記錄的關鍵功能。最後,Oracle Database 的部署需要任務關鍵型靈活性,而 Oracle Exadata Storage Server 軟體與 Oracle Database 可以攜手提供這種靈活性。

智能快閃記憶體緩存的自動化管理:Exadata 智能快閃記憶體緩存將頻繁訪問的數據保存在速度極快的快閃記憶體存儲中,同時將大部分數據保存在成本效益很高的磁碟存儲中。此過程自動進行,無需用戶執行任何操作。

在快閃記憶體緩存中定位對象:存儲軟體和資料庫實例可提供優先處理功能,可優先緩存某些資料庫對象。例如,對象可在緩存中定位且始終緩存,或對象會被認定為從不緩存的對象。此控制由新的存儲子句屬性 CELL_FLASH_CACHE 提供,它可被分配給資料庫表、索引、分區和 LOB 列。

從快閃記憶體緩存創建快閃記憶體盤:保留緩存的分區並將其用作邏輯快閃記憶體盤。對於每個 Exadata 單元,快閃記憶體盤保留的空間按十六個單元磁碟分配。在這些基於快閃記憶體的單元磁碟上創建網格磁碟(駐留在物理單元磁碟上的邏輯磁碟),且將網格磁碟分配給自動存儲管理 (ASM) 磁碟組。

資料庫日誌記錄快閃記憶體:在 OLTP 工作負載中,資料庫記錄寫入的快速響應時間是關鍵。資料庫管理員 (DBA)配置恢復日誌組和鏡像日誌文件以提高可用性,但低速磁碟性能對恢復日誌寫入等待時間和系統性能具有負面影響 — 日誌寫入等待完成到最低速磁碟的寫入。

三、混合列壓縮(EHCC)

對於傳統的資料庫,數據是以行的方式保存在據庫塊中,這種保存方式對於OLTP應用非常適合,但是對於大數據量的OLAP應用就顯得沒有那麼高效了,而且隨著歷史數據的積累,歷史數據會佔用大量的空間,這些數據幾乎不可能會被改動,但是卻仍然會被一些DSS或者OLAP應用所查詢,而這些查詢往往並不關心一行數據的所有列,而只是關心特定的一些列,所以,列式存儲對於這種應用無疑要優於行式存儲。EHCC特性的出現就很好的解決了這種困難,一方面它會以列式保存數據;另一方面它會對數據進行壓縮。它是支撐Exadata智能掃描特性中非常重要的一項技術。

四、存儲索引技術(Exadata Storage Index)

存儲索引功能是在Exadata 11.2.1.2.0 版本(V2 )上引入的新特性,它主配合智能掃描(smart scan)功能,來消除一個查詢所不需要的IO請求。它在內存中保存表數據的匯總信息,並通過內部機制來控制和訪問這些數據結構。每1M大小的磁碟空間上都會對應一個存儲索引的條目,這個條目中維護著這個區域中最大不超過8列的最大值(MAX)和最小值(MIN)。在我們運行查詢的時候,cellsrv進程就會根據這個查詢里的表對象和謂詞通過hash演算法到內存中尋找存儲索引,如果沒有找到,則在返回結果集之後,建立存儲索引。當第二次運行的時候,cellserv發現了已經建立了索引,則直接使用存儲索引來減少IO操作。它也是支撐智能掃描特性必不可少的一項關鍵技術。

LinuxONE 里裝了些什麼?

1、LinuxONE的硬體架構

圖2 展示的是IBM LinuxONE的硬體架構。它沒有像Exadata那樣的計算存儲分離。而是整合了足夠強大硬體能力的伺服器。並且在此基礎之上實現了平台層的多層虛擬化架構。

圖2 LinuxONE硬體架構

首先,在LinuxONE的裡面包含的是超強處理能力的計算資源硬體池和超高吞吐能力的IO資源池。所有的這些硬體資源池都是橫向平等的關係。基於這個龐大的硬體資源池,又可以在此基礎上做三層虛擬化架構:

第一層:通過DPM或PR/SM實現微碼級邏輯分區。也就是所謂的邏輯分區。大型關鍵資料庫可以直接部署在LPAR分區,賦予更接近硬體的資源調度及強大縱向擴展能力。

第二層:基於邏輯分區之上形成的KVM標準化開源虛擬化邏輯分區。

第三層:可以基於KVM虛擬化技術形成的平台建立基於Docker技術虛擬出大批量容器載體,以支持某些維服務或者是Devops場景需要。

2、LinuxONE的平台特性

對於IBM的LinuxONE來講,其實它沒有什麼應用軟體特性可言,因為它不與任何應用作綁定。也就不會有任何基於某一款軟體產品而定製化的軟體技術特性。而它具備的是優秀的平台特性,包括它的開放性、擴展性以及高效性等等。下面我們分別就其平台的這些特性做以說明:

一、開放性

LinuxONE的開放性要從以下幾點來進行說明:

1. 全面支持主流開源軟體:LinuxONE特性之一號稱是"由你做主的Linux",它全面支持主流開源軟體,任由開發者選擇自己所熟悉和偏愛的開源工具,支持包括Apache Spark、Node.js、MongoDB、MariaDB、PostgreSQL、Chef和Docker等一長串的名單。這些技術能夠實現優於其它大型主機的運行,且具備引人矚目的性能優勢。

2. 支持Linux開源大型主機項目:Linux基金會是一個致力於促進Linux發展和協同開發的非營利組織。IBM不斷地將對Linux基金會創立的「開源大型主機項目」作出支持,並憑藉貢獻出的大型機代碼推動該項目的發展。這不僅有助於在大型機上加入個性化的性能,還能更好地滿足企業和開發者對安全性、可用性和高性能的要求。

3. 面向新經濟:由於IBM對OpenStack 雲計算平台行業標準的大力支持,其他基於 OpenStack 的行業雲管理解決方案同樣可以在 LinuxONE 上運行。企業移動解決方案的核心是可以安全地將企業的核心記錄和數據擴展到移動應用中,LinuxONE同樣具有很好的支持特性。行業標準的 Hadoop 框架系列也是其重要的支持對象。IBM的 DevOps 方法通過一個開放的、基於標準的工具平台支持持續交付,加之市場領先的過程框架Scaled Agile Framework (SAFe) ,使LinuxONE提供了一個全面的過程和工具框架。

二、高性能

如果論伺服器的的縱向性能,還是要屬IBM的伺服器,這主要取決於它的強大的CPU。從單個CPU的處理能力來講,5GHz、4級高速緩存(>12GB)、獨有的多線程技術可以達到140多個可配置核心等都是其他的硬體廠商無法比擬的。另外,SIMD單指令多數據流向量分析技術以及獨有的I/O專用SAP處理器技術都是造就它具備強大性能的前提條件。

從IO處理能力上來講,IO帶寬可以達到800多GB/s,而且還有內存級機內高速網路Hipersocket來支撐其內部通訊,跨機器遠程內存訪問技術RDMA也為其的橫向IO能力提供了必不可少的技術保障。

三、擴展性

說到LinuxONE的擴展性,其實可以從兩個方面來分析。一方面是其單機內的擴展能力,另外一個方面是多機組成的整體擴展能力。就單機而言,它可以支持8000多虛擬機、200多萬容器。而且這種機內擴展的靈活性主要取決於其多級虛擬化架構的支持。而多機的橫向擴展能力主要取決於虛擬化技術體系的支撐,由於其對開源KVM虛擬化技術的支持,由於其對Docker容器技術的支持,那麼一定會繼承這些開源雲計算技術框架帶來的無限的橫向擴展能力。

Exadata & LinuxONE 到底有啥差異?

通過前面的章節,我們對這兩個伺服器有了一個整體的認識:Exadata的體積裡面除了有一大堆硬體資源之外,更多的是它的軟體技術特性。而LinuxONE的體積裡面除了有其先進的硬體資源池,更重要的是它的平台特性。無論他們有什麼樣的特性,最終是要服務於我們的業務場景,那麼接下來我們就從業務場景出發來看看這二者之間的差異。

首先,Exadata的軟體特性,無論是它的智能掃描還是它的智能快閃記憶體等軟體特性,終究目的是要解決資料庫實例的IO問題。傳統模式下,如果沒有這些特性,那麼資料庫實例讀取的數據沒有任何過濾和處理,基本上是1:1的模式,那麼IO的壓力會非常大,尤其是在分析型資料庫的場景下。經過了這些數據的過濾技術、數據的列模式讀取技術、智能的數據移動技術等等,再結合著Infiniband硬體的強大協議支持,那麼資料庫實例耗費在IO上的資源就會成百倍甚至更高數量的減少,整體上資料庫集群的處理能力就會得到質的飛躍。但是千萬不要忘記,這個有效性僅僅適用於分析型的Oracle資料庫應用。因為只有這種因為才會在IO上產生如此巨大的瓶頸效應。

然後,LinuxONE的平台特性,它的開放性使之與開源世界有一種與生俱來的生態性,意味著它不是為某一個商業產品或者軟體而定製的平台,而是儘可能去容納儘可能多的軟體。一方面是說它的包容性夠好,另外一方面其實也說明了它對於任何軟體的支持都不會到極致的狀態。再說它的高性能,無可厚非LinuxONE的高性能來自於它強大的處理器,沒有幾個能與之比擬,從另外一個角度說明它本身的計算密度足可以支撐各種負載密集型應用。最後,從它的靈活性上講,其是來自於它本身的微碼層的虛擬化技術以及它對開源KVM、Docker容器技術等充分支持。正是由於它對虛擬化技術支持的寬容性和靈活性,使得它可以支撐傳統性的高負載應用,也可以支持互聯網業務的輕量型敏捷應用。LinuxONE大規模高密度整合各種應用負載,極大的節省了空間,耗電,網路,軟體和人力開銷,降低了整體擁用成本TCO。

總結來看,Exadata為分析型Oracle資料庫應用量身定製,所有的軟硬體設計都是定製化的設計。而LinuxONE是一種相對比較通用的平台,它想盡一切辦法去包容更多的應用類型,所以它不為任何應用而定製,只為容納更多應用。從這個意義上講,二者的選擇取決於我們要跑什麼樣的業務類型。

註:本文轉自TWT社區

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 至頂網 的精彩文章:

紫荊視通雲視頻V2.0發布,集成多項創新技術
Nvidia雲服務新增9個AI超算容器

TAG:至頂網 |