成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate Shard基礎分析

開發(fā) 后端
這里介紹Hibernate Shard 目前通過 Criteria 接口的實現(xiàn)對 聚合提供了較好的支持, 因為 Criteria 以API接口指定了 Projection 操作,邏輯相對簡單。
Hibernate Shard有很多值得學習的地方,這里我們主要介紹Hibernate Shard 提供了一種虛擬分區(qū)層,包括介紹Hibernate Shard 不支持垂直分區(qū)等方面。

1.水平分區(qū)下的查詢

對于簡單查詢Hibernate Shard可以滿足。

水平分區(qū)下多庫查詢是一個挑戰(zhàn)。主要存在于以下三種操作:
1) distinct因為需要遍歷所有shard分區(qū),并進行合并判斷重復記錄。
2) order by類似 1)
3) aggregation count,sim,avg等聚合操作先分散到分區(qū)執(zhí)行,再進行匯總。

是不是有點類似于 MapReduce ? 呵呵。

Hibernate Shard 目前通過 Criteria 接口的實現(xiàn)對 聚合提供了較好的支持, 因為 Criteria 以API接口指定了 Projection 操作,邏輯相對簡單。而HQL,原生 SQL 還不支持此類操作。

2. 再分區(qū)和虛擬分區(qū)

當數(shù)據(jù)庫規(guī)模增大,需要調(diào)整分區(qū)邏輯和數(shù)據(jù)存儲時, 需要再分區(qū)。

兩種方式:
1)數(shù)據(jù)庫數(shù)據(jù)遷移其他分區(qū);
2)改變記錄和分區(qū)映射關系。這兩種方式都比較麻煩。尤其“改變記錄和分區(qū)映射關系”,需要調(diào)整 ShardResolutionStrategy.

Hibernate Shard 提供了一種虛擬分區(qū)層。當需要調(diào)整分區(qū)策略時,只需要調(diào)整虛擬分區(qū)和物理分區(qū)映射關系即可。以下是使用虛擬分區(qū)時的配置創(chuàng)建過程:

Java代碼

  1. Map<Integer, Integer> virtualShardMap = new HashMap<Integer, Integer>();  
  2. virtualShardMap.put(0, 0);  
  3. virtualShardMap.put(1, 0);  
  4. virtualShardMap.put(2, 1);  
  5. virtualShardMap.put(3, 1);  
  6. ShardedConfiguration shardedConfig =new ShardedConfiguration
    (prototypeConfiguration,configurations,strategyFactory,virtualShardMap);  
  7. return shardedConfig.buildShardedSessionFactory(); 


3.局限:

1)Hibernate Shard 不支持垂直分區(qū), 垂直+水平混合分區(qū)。

2)水平分區(qū)下 查詢功能受到一定限制,有些功能不支持。實踐中,需要在應用層面對水平分區(qū)算法進行更多的考慮。

3)不支持跨分區(qū)的 關系 操作。例如:刪除A分區(qū)上的 s 表,B分區(qū)上的關聯(lián)子表 t的記錄無法進行參照完整性約束檢查。 (其實這個相對 跨分區(qū)查詢的挑戰(zhàn)應該說小的多,也許google工程師下個版本會支持,呵呵)

4)解析策略接口似乎和對象ID全局唯一性有些自相矛盾,AllShardsShardResolutionStrategy 的接口返回的是給定對象ID所在的 shard ID集合,按理應該是明確的一個 shard ID.

【編輯推薦】

  1. Hibernate專業(yè)知識介紹
  2. 討論Hibernate和模型對象
  3. Hibernate查詢緩存全面分析
  4. 概括Hibernate主鍵生成機制
  5. Hibernate Pager基礎介紹
責任編輯:佚名 來源: IT168
相關推薦

2009-09-22 14:12:16

Hibernate S

2009-09-21 14:24:08

Hibernate3.

2009-09-28 10:39:01

Hibernate基礎

2009-09-21 17:33:50

Hibernate基礎

2009-06-24 08:05:56

Hibernate基礎Configurati

2009-09-23 16:39:51

Hibernate s

2009-09-21 13:19:06

Hibernate s

2009-09-28 10:24:58

Hibernate基礎

2009-09-21 16:30:20

Hibernate S

2009-09-28 10:05:27

Hibernate基礎

2009-09-22 09:27:29

Hibernate P

2009-09-28 10:14:08

Hibernate基礎

2009-09-22 11:30:57

2009-09-22 17:47:03

Hibernate s

2009-09-23 13:33:51

Hibernate屬性

2009-09-24 09:35:47

Hibernate插入

2009-09-28 15:38:12

Hibernate P

2009-09-21 18:00:49

Hibernate X

2009-09-23 10:28:16

Hibernate映像

2009-09-23 11:07:11

Hibernate基礎
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久成人精品亚洲国产 | 婷婷综合在线 | 91免费看片 | aa级毛片毛片免费观看久 | 天天综合网永久 | 老牛影视av一区二区在线观看 | 日本一二三区在线观看 | 成人免费黄色片 | 欧美亚洲在线视频 | 久久久久久久久久久91 | 成人伊人网 | 欧美三区| 国产精品日韩欧美一区二区三区 | 精品久久久久久久 | 欧美日韩一区二区三区四区 | 精品国产乱码久久久久久中文 | 91久久爽久久爽爽久久片 | 午夜影院黄 | 91免费小视频 | 国产精品久久久久久久久久久久冷 | 成人黄在线观看 | 中文字幕专区 | 天天射天天操天天干 | 久久国产视频网站 | 精品国产一区二区在线 | 一区二区三区视频在线免费观看 | 成人无遮挡毛片免费看 | 欧洲在线视频 | 国产精品不卡 | 夜久久| 福利视频网站 | 91久久精品国产91久久性色tv | 国产在线小视频 | av官网在线| 欧美天堂在线 | 中文字幕亚洲欧美 | 久久免费精品 | 国产精品揄拍一区二区久久国内亚洲精 | 国产一区二区免费 | 97国产在线观看 | 久久久精品日本 |