3

我有興趣做在MySQL和Cassandra的一些性能查詢測試基於同樣的數據集,並使用只有一個節點如何做cassandra和mysql之間的性能測試?

我要的是檢查的響應時間在卡桑德拉和MySQL查詢的不同類型的數據量並且還具有多個數據訪問。 (嘗試強調數據庫)。

有什麼更好的方法來做到這一點?什麼是最合適的基準?

+1

哪個更好,獨輪車或購物車?我的觀點是 - 它們是針對不同的用例而設計的。根據您選擇的用例,可以贏得或失去性能測試。 –

回答

5

首先,我會試着回答你的問題。

大多數人都會使用cassandra-stress工具來強調cassandra,這對於測試MySQL來說將毫無用處。你需要找到一些爲MySQL和Cassandra提供服務的通用工具(比如YCSB),然後比較那些你能做到的最好的工具。 YCSB在https://github.com/brianfrankcooper/YCSB/wiki,你可以谷歌更多的選擇。

這就是說,如果你比較單機的性能,你看錯了。這不是人們使用Cassandra的原因 - 當你比較單個節點時,MySQL可能與Cassandra一樣快或者更快,並且SQL比CQL更友好(JOIN可以非常好)。但是,Cassandra專爲數據不適合一臺機器的用例而設計,實際上可能不適用於十幾臺機器。它專爲需要多數據中心主動/主動HA的場景而設計。它旨在用於需要隨着時間的推移可以擴展和縮小的用例,添加和刪除節點以匹配負載。這些都是MySQL很難做的事情,並且與Cassandra差不多。

如果你只是比較速度,你可能根本不需要Cassandra。選擇Cassandra應該選擇用例 - 主要是可伸縮性和HA。

+0

是的,我明白你在說什麼。我的目標是確保Cassandra與MySQL相比的表現如何,同時數據量增加並且對數據的訪問更大。 YCSB允許您選擇現有的表並驗證已經創建的一些查詢的性能? –

+0

對於現有數據,請查看通過JMX公開的度量標準,或者從應用程序導出您自己的數據以進行比較。無論如何,大多數現代生產應用程序都應該這樣做 - 查看諸如graphite/statsd等提示的工具(或閱讀此博客以開始:https://codeascraft.com/2011/02/15/measure-anything-measure-everything /) –