999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Hibernate OGM框架的研究

2020-02-02 03:25:22李文杰
電子技術與軟件工程 2020年17期
關鍵詞:一致性數據庫模型

李文杰

(武漢職業技術學院 湖北省武漢市 430000)

從Hibernate OGM(OGM:Object Grid Mapping 縮寫)2011年發布以來,基于這個框架進行關系型和非關系型數據混合使用的案例越來越多,大家對它的認可度也逐步提升。這個框架現在還處于成長階段,隨著時間的推移它的功能逐漸得到進一步完善,開發者也會越來越重視對Hibernate OGM框架的研究和學習。

Hibernate OGM 框架目前仍處于快速成長階段,目前已經能很好的在項目中對接Mongodb、Neo4j、Redis 等非關系型數據。該框架項目的已經完成了初始目標以及部分中級目標,并開始服務于實際開發應用了。它的最終目標是為能兼容對接所有的非關系型數據庫,為開發者提供一個專注業務應用的開發環境。(可以像訪問RDBMS 一樣訪問NoSQL 數據庫),鼓勵"傳統"企業更多的使用新的數據使用模式,并幫助正在使用NoSQL 的應用更容易地擴展到傳統數據庫。

1 大數據應用分析

NoSQL 是非關系型的數據庫總稱。目前具有代表性并被實際應用較多的產品有Mongodb、Neo4j、Redis 等。在海量數據讀取、數據分布式存儲、多重數據種類集合、無固定應用模式等需求場景中,這些數據庫已經發揮了巨大作用,越來越多的WEB 應用都需要這種大規模數據做支撐,而這些NoSQL 數據庫提供了無需多余操作就可以橫向擴展的方便,從而使得我們對掌握NoSQL 技術的緊迫性得到了充分的認識。

根據CPA(C:強一致性 A:高可用性 P:分布式容忍性)原則,我們可以將傳統關系型數據庫如Oracle、MySQL、DB2 等劃歸CP類型,強調數據一致性和可用性。然而,現階段大多數WEB 應用不一定需要強一致性,所以大多數網站架構的選擇了犧牲一些強一致性,強調AP,即高可用性和分布式,允許一些數據不一致甚至丟失。而Redis、Mongodb 為了追求高性能數據存儲解決方案,所以選擇了AP,即高可用性及分布式容忍性。綜上所述,目前沒有任何一種數據庫能完美滿足CPA 的全部要求,所以混合方式成為當前大數據應用的主流模式,也就是SQL 數據庫和NoSQL 數據庫一起使用?;谶@些先進理念,Hibernate OGM 框架也因此獲得了良好的應用前景和發展空間。

2 Hibernate OGM簡介

Hibernate 框架戰略是同時實現ORM 關系型數據庫連接與OGM NoSQL 數據庫連接,如Mongodb、Redis 等。而OGM 的核心是提供將數據存儲到NoSQL 存儲中的JPA 引擎,目標是提供相同的API,相同的語義(級聯,關聯等),相同的查詢語言,支持的高級特性包括:事務、事件通知、高級查詢、分布式處理、offheap 及故障遷移等。Hibernate OGM 框架極好地降低了學習和應用者進入NoSQL 領域的門檻,它很好的隱藏了NoSQL 數據的存儲區,讓開發者的應用程序與數據區進行了很好的分離,讓開發者的關注度重新專注到了應用本身,開發者可以面對不同的NoSQL 數據庫重用相同的編程API,使用相同的對象生命周期語義以及(一定程度上)使用相同的查詢引擎。

圖1

3 Hibernate OGM應用場景簡介

3.1 項目設置

使用Maven 作為構建工具,在從網絡下載項目所需要的框架Hibernate OGM 模塊及其依賴項文件,并用于理嵌入式Neo4j 數據庫;這將引入所有其他必需的模塊,例如Hibernate OGM 內核和Neo4j(一種基于Java 的圖形數據庫)驅動程序。

圖2

3.2 設計領域模型并創建映射實體

非關系型數據庫提供了四種模型:鍵-值存儲庫、大數據表實現、文檔存儲庫、圖形數據庫。在數據模型設計時,我們將面對的不再是一張一張Table 二維數據表,而是一個個領域數據模型。我們可以設計兩個領域模型,兩個模型之間標注出一對多或多對一的關聯,通過創建實體類并用所需的元數據注釋它們來映射域模型。

同時,Hibernate OGM 提供了如模擬序列、UUID 等幾種ID 生成策略,通常我們使用UUID 生成器為模型生成ID,可以確??绮煌琋oSQL 數據存儲的可移植性,并使ID 生成快速且可擴展。此時我們的應用數據屬于SQL 數據庫和NoSQL 數據庫混合使用,如果需要將數據從關系型數據庫移植到NoSQL 中,開發者只需要面對完全相同映射,無需擔心不同的類型數據庫的影響,這就是Hibernate OGM 框架提供的關系數據向非關系型數據之間的簡易遷移功能。

實體定義后需要對persistence.xml 文件進行配置如下:

3.3 接下來進行數據保存及測試

Neo4j 作為一種圖形數據數據庫,任何數據實體都將映射到相應的節點。保存形式如圖1。

如果使用MongoDB 數據庫那么,數據實體將會以文件形式進行保存。保存形式如圖2。

4 同類技術簡介

與Hibernate OGM 框架技術實現理念相近,如Kundera、Apache Gora、等框架技術,在實際應用中也廣泛被采用。

其中Kundera 框架支持對Cassandra、Hbase、MongoDB 等的非關系型數據庫的持久化操作以及關系型數據庫操作。采用的實現方式是將NoSQL 操作轉化為SQL 操作方式,讓程序員專注到Domain Model 設計與開發上,同樣實現了通過修改配置文件在各個數據庫服務器之間進行切換操作。

Apache 基金組織旗下的Gora 框架項目則大力支持Apache HBase、Apache Cassandra 等非關系型數據庫服務器的應用開發,而且更新速度一直很高,現在已經能夠提供0.9 版本的框架源碼了。

作為大數據信息時代,我們需要緊跟軟件技術發展的步伐,對其大數據應用領域的各種技術進行深入的學習和應用。技術在不停發展,Hibernate OGM 也會不停變化。不停的跟蹤學習、測試、應用,就是應用該框架的開發者必須長期堅持的過程。當然,一個框架肯定不能滿足我們所有的應用場景需求,所以我們必須深入了解其優勢和缺陷,結合實際應用進行合理構架。

猜你喜歡
一致性數據庫模型
一半模型
關注減污降碳協同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
注重教、學、評一致性 提高一輪復習效率
IOl-master 700和Pentacam測量Kappa角一致性分析
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
數據庫
財經(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 欧美一级在线看| 亚洲男人的天堂久久香蕉| av色爱 天堂网| 久草性视频| 国产精品男人的天堂| 最新国产高清在线| 亚洲综合亚洲国产尤物| 蜜桃视频一区二区三区| 色婷婷综合在线| 少妇精品在线| 亚洲男人天堂2018| 欧美日在线观看| 免费亚洲成人| 久久精品丝袜高跟鞋| 成人福利在线观看| 三区在线视频| 国产国语一级毛片在线视频| 强奷白丝美女在线观看| 福利视频一区| 久久亚洲天堂| 亚洲第七页| 久久77777| 久久青草视频| 日韩精品无码免费专网站| 久久a级片| 成人精品视频一区二区在线| 黄色网页在线观看| 国产精品第5页| 亚洲娇小与黑人巨大交| 国产免费久久精品99re丫丫一| 欧美成人免费午夜全| 国产成人久久777777| 97视频精品全国在线观看 | 色综合五月| 久久综合丝袜长腿丝袜| 久久性视频| 免费在线a视频| 午夜免费小视频| 亚洲天堂久久久| 亚洲无码高清免费视频亚洲| 久久久久88色偷偷| 国产va欧美va在线观看| 老色鬼久久亚洲AV综合| 新SSS无码手机在线观看| 熟女成人国产精品视频| 欧美中文字幕在线视频| 久久精品女人天堂aaa| 成人午夜网址| 欧美性精品| 日本午夜影院| 国产黄视频网站| 日韩福利在线观看| 99热这里只有成人精品国产| 国产精品美乳| 米奇精品一区二区三区| 一本色道久久88| 国产区精品高清在线观看| 国产成人综合亚洲网址| 日韩一区二区三免费高清| 欧美成人aⅴ| 亚洲专区一区二区在线观看| 在线观看免费黄色网址| 久久中文无码精品| 国产剧情一区二区| 欧美无遮挡国产欧美另类| 四虎永久免费地址| 国产精品天干天干在线观看| 伊人精品成人久久综合| 熟女视频91| 99精品免费欧美成人小视频| 综合人妻久久一区二区精品 | 精品综合久久久久久97超人该| 天堂网亚洲系列亚洲系列| 亚洲日本韩在线观看| 99无码熟妇丰满人妻啪啪 | 国产女人18毛片水真多1| 国产成人综合久久精品尤物| 成人免费视频一区| 日本人妻丰满熟妇区| 国产在线观看91精品| 欧美日韩国产综合视频在线观看| 亚洲国产综合精品一区|