我想知道爲使用碎片的Web應用程序實現數據庫連接池的最佳方法。從我所能告訴的大多數(所有?)開源實現只支持單個數據庫。至少,我還沒有找到支持碎片的東西。用於多個數據庫(碎片)的Java數據庫連接池
而且,即使我用碎片並不是所有的數據庫具有相同的架構,我將有其他數據庫了。我不確定是否重要。
,我可以想出迄今唯一的解決辦法是編寫在多個和不同的池的基礎上位於的層。每個獨立的池可以是任何可用的單一數據庫實現。
這是否已經有解決方案?否則最好的技術是什麼?
在此先感謝,
Stephen。
我想知道爲使用碎片的Web應用程序實現數據庫連接池的最佳方法。從我所能告訴的大多數(所有?)開源實現只支持單個數據庫。至少,我還沒有找到支持碎片的東西。用於多個數據庫(碎片)的Java數據庫連接池
而且,即使我用碎片並不是所有的數據庫具有相同的架構,我將有其他數據庫了。我不確定是否重要。
,我可以想出迄今唯一的解決辦法是編寫在多個和不同的池的基礎上位於的層。每個獨立的池可以是任何可用的單一數據庫實現。
這是否已經有解決方案?否則最好的技術是什麼?
在此先感謝,
Stephen。
我不認爲有一個支持分片的開源實現。也許,沒有真正的需要,因爲在多個數據庫池之上創建一個圖層並不難。它只需要一個分片映射函數(例如散列函數)和一個管理器類來跟蹤多個池。
如果你擔心,並非所有的數據庫具有相同的架構,你可以把其他架構跟蹤配置到您的管理器類,所以它知道它的碎片可以用來架構。也就是說,您需要將模式追蹤到數據庫池以外的分片信息。這是不是真的太多額外的工作,因爲你所需要的碎片配置反正來確定如何從池中拉右碎片
好運
還有就是hibernate shards project,你可以看看。
這或多或少是我想象的。當我提到並非所有數據庫都具有相同的模式時,我的意思是我還會有其他非分片數據庫。但我認爲上述基本概念是正確的。謝謝。 – Steve 2009-09-22 19:28:08
我一定錯過了Hibernate Shard。如果你已經爲你的分片數據庫使用了hibernate,它看起來是一個不錯的選擇。鑑於它是測試版,您可能需要等待它首先進行生產。 – 2009-09-26 00:38:38