簡體   English   中英

對於簡單的操作,Cassandra比Mysql慢得多?

[英]Cassandra is much slower than Mysql for simple operations?

我看到很多聲明如下:“Cassandra寫入速度非常快”,“Cassandra的讀取速度比寫入慢,但比Mysql快得多”

在我的windows7系統上:我安裝了默認配置的Mysql。 我安裝了PHP5的默認配置。 我安裝了默認配置的Casssandra。

在mysql上進行簡單的寫測試:“INSERT INTO wp_testidtitle )VALUES('id01','test')”給我結果:0.0002(s)1000個插入:0.1106(s)

在Cassandra上進行簡單的相同寫入測試:$ column_faily-> insert('id01',array('title'=>'test'))給出結果:0.005(s)對於1000個插入:1.047(s)

對於讀取測試,我也得知Cassandra比mysql慢得多。

所以問題是,這聽起來是否正確,我在Cassadra上進行一次寫操作需要5ms? 或者出了點問題,應該至少0.5ms。

當人們說“Cassandra比MySQL更快”時,它們意味着當你處理數TB的數據和許多同時用戶時。 Cassandra(以及許多分布式NoSQL數據庫)針對許多節點上的數百個同時讀取器和寫入器進行了優化,而不是MySQL(和其他關系數據庫),它們被優化為在單個節點上非常快速,但往往會崩潰。您嘗試跨多個節點縮放它們。 順便說一下這種權衡的概括 - 絕對最快的磁盤I / O是普通的舊UNIX平面文件,並且許多對延遲敏感的金融應用程序使用它們就是出於這個原因。

如果你正在構建下一個Facebook,你需要像Cassandra這樣的東西,因為單個MySQL盒子永遠不會經受數千個同時讀寫的懲罰,而使用Cassandra你可以擴展到數百個數據節點並處理容易裝 請參閱擴展與擴展

另一個用例是當您需要將大量批處理能力應用於太字節或數PB的數據時。 Cassandra或HBase很棒,因為它們與MapReduce集成,允許您在數據節點上運行處理。 使用MySQL,您需要提取數據並將其噴射到處理節點網格中,這將消耗大量網絡帶寬並導致許多不必要的復雜化。

Cassandra從並行化和批處理中獲益匪淺。 嘗試在100個線程中的每個線程上進行100萬次插入(每個線程都有自己的連接並且批量為100個)並查看哪些線程更快。

最后,Cassandra插入性能應該相對穩定(長時間保持高吞吐量)。 使用MySQL,你會發現,一旦用於索引的btree增加了太大的內存,它就會大大減少。

許多用戶空間因素會影響寫入性能。 如:

  • 每個數據庫服務器的配置中有數十個設置。
  • 表格結構和設置。
  • 連接設置。
  • 查詢設置。

您是否在吞咽警告或例外? MySQL樣本在面值上會產生重復的鍵錯誤。 一無所取,它可能會失敗。 Cassandra在同一案件中可能做的事情並不是我所熟悉的。

我對Cassandra的有限經驗告訴我關於插入的一件事,而其他一切的性能隨着數據的增長而降低,插入看起來保持相同的速度。 然而,它與MySQL的速度有多快,並不是我測試過的。

它可能不是那么多,插入是快速的,而是試圖永遠不會慢。 如果您需要更有意義的測試,則需要在場景中加入並發性和更多變體,例如大型數據集,各種批量大小等。更復雜的測試可能會測試插入后數據可用性的延遲和讀取速度。

如果Cassandra用於插入數據的第一個調用端口是將其放入隊列或簡單地追加,我不會感到驚訝。 如果您查看一致性級別,這是可配置的。 MySQL同樣允許您平衡性能和可靠性/可用性,盡管每個都會對它們允許和不允許的內容有所不同。

除此之外,除非你進入內部,否則可能很難說為什么一個表現優於另一個。

我做了一些我曾經為Cassandra用過的用例的基准測試。 對於基准測試,它將首先插入數萬行。 我不得不讓腳本休眠幾秒鍾,因為否則查詢會在事實看不到數據后運行,結果在我測試的實現之間會不一致。

如果你真的想要快速插入,請附加到ramdisk上的文件中。

MySQL驅動程序的成熟度,特別是PHP 5.3中改進的MySQL驅動程序,可能會對測試產生一些影響。 查詢中數據的簡單性也完全有可能影響結果 - 可能是100個值插入,Cassandra變得更快。

從命令行嘗試相同的測試,看看時間戳是什么,然后嘗試使用不同數量的值。 您無法進行單一測試並根據該測試做出決定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM