Percona & SFX:計算型存儲在PostgreSQL中的價值



早前,ScaleFlux委託Percona對其最新的下一代可計算存儲設備CSD 2000進行標準評測。一份客觀的評測報告需要儘可能地直觀並尊重事實,因此我們會着重關注測試中不同尋常的地方。


標準評測就如同烹飪,需要準備一些主要的作料,遵循一系列嚴格的步驟,將作料混合後再進行適當的加熱。在我們這個案例中,作料包括運行Ubuntu 18.04 Linux OS的數據庫主機和測試主機,PostgreSQL 12版本,模塊化、跨平臺、多線程的Sysbench測試工具集,以及一個用於對照的存儲設備Intel DC P4610系列SSD。參與測試的兩種存儲設備均格式化爲同一種文件系統並加載爲不同的分區。

環境準備就緒後,下一步即制定和實現包括各種DMLDDL操作在內的測試準則。需要注意的是,除了數據庫處理中傳統的OLAPOLTP模式,用貼近實際生產的標準來進行評估往往會存在一些問題,比如,當系統達到容量上限時,所有的生產系統都會表現出各自的行爲特徵。因此,我們默認使用SysBench來進行測試。


毋庸置疑,測試各種配置的組合、驗證測試的結果、對結果作圖並進行分析,是相當耗時的。在此我們對測試的細節和結果並不進行深入討論,大家如果感興趣,我建議參考相應的白皮書(https://www.percona.com/sites/default/files/Testing_the_Value_of_Scaleflux_for_PostgreSQL.pdf)。


那麼,此次測試的收穫是什麼呢?對此,我想分享兩個主要的結論:

    1.     對於數據加載,ScaleFlux CSD 2000相對於Intel DC P4610,性能的抖動更小。性能的抖動體現了IO讀寫的最大值和最小值的統計偏差,抖動越小,服務就越可預測。對於那些依賴RDBMS的性能穩定性並且高度調優的應用來講,更小的性能抖動是很必要的,因爲我們經常看到,當數據的插入、更新、刪除或者由此產生的查詢的響應時間突然變化(增大)時,應用往往會崩潰。

    2.     當減小PostgreSQL中的填充因子(fillfactor)時,ScaleFlux CSD 2000可以節省可觀的存儲空間。我們知道,填充因子是PostgreSQL運行時的一個重要參數;對於那些在相同元組上不斷更新和刪除的場景來說,減小填充因子可以大大提升系統的性能。因爲填充因子本質上是通過在PostgreSQL的頁面中預留一部分空間,用於將來頁面中元組的更新和刪除,這樣當頁面還存在足夠的空間時,更新/刪除後新的元組就可以直接追加到頁面尾部,而無需進行頁面的分裂和空間申請等操作,從而提升PostgreSQL的性能。填充因子越小,對更新/刪除操作性能的提升則越明顯,但同時也會消耗大量的存儲空間。ScaleFlux CSD 2000通過集成透明壓縮功能,可將頁面預留的空間(填充全0數據)進行高度壓縮,在提升性能的同時,並不佔用大量額外的物理存儲空間,因此無須在性能和空間之間進行取捨。此外,通過透明壓縮,也直接減少了寫入NAND的數據量,減小了數據的寫放大,也延長了SSD的使用壽命。


最後,我們其實爲ScaleFlux也進行了MySQL的評估,結果也同樣令人印象深刻。我也建議大家也關注一下相應的評測結果(https://learn.percona.com/hubfs/Collateral/Whitepapers/Testing-the-Value-of-ScaleFlux.pdf)。



更多視頻信息,包括培訓、採訪和產品介紹,請關注我們的微信公衆號-視頻資訊頻道

ScaleFlux視頻資訊官網:
http://scaleflux.com/videos.html
ScaleFlux優酷頻道:
https://i.youku.com/scaleflux?spm=a2hzp.8244740.0.0

                                                        


本文分享自微信公衆號 - 老葉茶館(iMySQL_WX)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章