2012-05-22 48 views
5

我想分割我的數據庫,但我不擅長這個主題。所以這是我的考慮。儘管分片鍵是將請求引導到正確節點的絕佳索引,但其他索引將在我的表中定義呢?我希望引用這些索引的請求也傳遞到正確的節點,以便只有一個節點處理請求。據我所知,爲此目的,一些集中的索引節點必須存在。所以我的問題是這個功能是否已經存在於像MYSQL這樣的RDBMS中,還是應該使用其他特殊產品。分片和索引

回答

0

聲明:我ScaleBase工作,我的生活和呼吸,每天分片......

我想在這裏提醒,如果你根據列A例如分片,一條帶columnA = XX會去單shrad。 WHERE columnB = xx將不得不去所有碎片,因爲在它們中可能有columnB = xx。除非columnA和columnB是相關的。然後你真的需要將關係保存在映射表中。 我可以說,在所有數據庫上運行可以超快,您需要並行運行併合並結果。在ScaleBase我們支持合併ORDER BY,GROUP BY等,這是不容易的......

嘿看在我的博客的詳細信息:http://database-scalability.blogspot.com

+0

是的,這是我不明白。如果你有獨立的節點專用於數據庫索引(記錄物理位置+機器ID),那麼可以使每個引用B列的查詢僅轉到那些數據實際存在的機器!這更快! –

0

安德烈,你所描述的是究竟是如何Clustrix數據庫作品,其中數據和索引自動分配,然後查詢分佈在各個節點上。 Clustrix「brings the query to the data」,並具有無共享體系結構(因此不需要集中索引)。 MySQL沒有用於分佈式計算的任何內置功能,並且雖然存在各種螺栓固定選項,但當集中式資源限制被觸及時,它們最終將遇到擴展限制。