2010-12-11 26 views
0

哪些數據庫產品支持併發多個讀寫,而不需要構建單獨的複製環境以及實現相同的備選方案。 正在複製重資源環境嗎?哪個數據庫支持併發多個讀寫,而不需要構建單獨的複製環境

感謝

+0

呃......幾乎所有人都支持這一點。其他方面沒有太多關於RDBMS的觀點。你能關注你的問題嗎?它現在非常廣泛。 – Oded 2010-12-11 12:49:03

+0

@Oded:當涉及到併發讀取*和*寫入時,一些DBMS是有限的。較老的SQL Server或DB2版本會對錶格造成非常嚴格的鎖定,即使插入也是如此。 MySQL在使用MyISAM時也不會在這個領域發光,所以問題並不是這樣毫無意義 – 2010-12-11 12:54:53

+0

@a_horse_with_no_name - 沒有關於系統預期負載的更多信息,它就是無意義的。 – Oded 2010-12-11 12:59:40

回答

1

當使用「上的最新」版本,任何DBMS將支持。

在Oracle和PostgreSQL中,如果這是您所指的,則讀者永遠不會被阻止。

對於SQL Server,您將需要至少有版本2005來擺脫一些討厭的鎖定行爲。

DB2提供了一個「讀者永遠不會封殺」模式,開始與9.7

對於MySQL,你將不得不使用InnoDB爲MyISAM數據讀取和所有其他問題寫(除了在那個MyISAM有當會大大降低併發性)

如果您更多地指向性能問題,那麼繁重的寫入操作會減慢其他查詢速度,那麼這比實際的DBMS問題更像硬件問題。最大的限制因素(特別是對於大型數據庫)是IO。使用高端RAID系統(或者像FusionIO這樣的固態硬盤),這個問題也可以解決,但是這樣做會很昂貴。

+0

感謝Oded&「沒有名字的馬!」 預計負載從3000到5000用戶讀取和徘徊200到300用戶/應用程序寫入 – Ajay 2010-12-11 13:09:53

+0

感謝Oded&「一匹沒有名字的馬!」預期的負載從3000到5000用戶不等,用於讀取和200到300用戶/應用程序的寫入。 這裏的主要問題是選擇一個高性能的RDBMS,以使DB2能夠解決這個問題。從上面的迴應中可以清楚地看出,DB2 9.7中「讀者從未被阻止」,但如果需要併發寫入,該怎麼辦?同樣可以通過建立獨立的複製環境來實現。 – Ajay 2010-12-11 13:18:25

+0

我非常確定DB2(使用正確的硬件)可以輕鬆應對這種負載。 「併發寫入」是什麼意思? DB2(如今所有其他DBMS)執行行級別鎖定。所以如果兩個進程更新兩個不同的行,那不是問題。當然,一次只有一個事務(進程)可以更新一個特定的行。 – 2010-12-11 13:38:05

相關問題