當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 操作系統 » 跨資料庫的事務

跨資料庫的事務-九游会j9娱乐平台

發布時間: 2024-06-26 07:16:58

① mssql如何將一個資料庫中的表同步到另一個資料庫中 做成事務

1 在另一個資料庫中建立同樣結構的副表,導入相同的數據
2 在本地資料庫建立另一個資料庫的相應鏈接
3 在本地資料庫主表建立插入修改刪除觸發器,主表有什麼變化直接寫入到副表中
4當然這種方法也不是特別好,會影響本地資料庫主表的性能。

② 如何在spring中配置跨資料庫的事務

1.使用註解的方式

xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemalocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">




2.使用事務管理器來管理

xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemalocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
class="org.springframework.jdbc.datasource.datasourcetransactionmanager">





expression="execution(* com.zxt.service.*.*(..))" />
















③ 什麼是cap原理

分布式領域cap理論,
consistency(一致性), 數據一致更新,所有數據變動都是同步的
availability(可用性), 好的響應性能
partition tolerance(分區容錯性) 可靠性

定理:任何分布式系統只可同時滿足二點,沒法三者兼顧。
忠告:架構師不要將精力浪費在如何設計能滿足三者的完美分布式系統,而是應該進行取捨。

關系資料庫的acid模型擁有 高一致性 可用性 很難進行分區:
atomicity原子性:一個事務中所有操作都必須全部完成,要麼全部不完成。
consistency一致性. 在事務開始或結束時,資料庫應該在一致狀態。
isolation隔離層. 事務將假定只有它自己在操作資料庫,彼此不知曉。
durability. 一旦事務完成,就不能返回。
跨資料庫事務:2pc (two-phase commit), 2pc is the anti-scalability pattern (pat helland) 是反可伸縮模式的,javaee中的jta事務可以支持2pc。因為2pc是反模式,盡量不要使用2pc,使用base來迴避。

base模型反acid模型,完全不同acid模型,犧牲高一致性,獲得可用性或可靠性:
basically available基本可用。支持分區失敗(e.g. sharding碎片劃分資料庫)
soft state軟狀態 狀態可以有一段時間不同步,非同步。
eventually consistent最終一致,最終數據是一致的就可以了,而不是時時高一致。

base思想的主要實現有
1.按功能劃分資料庫
2.sharding碎片

base思想主要強調基本的可用性,如果你需要high 可用性,也就是純粹的高性能,那麼就要以一致性或容錯性為犧牲,base思想的方案在性能上還是有潛力可挖的。

現在nosql運動豐富了拓展了base思想,可按照具體情況定製特別方案,比如忽視一致性,獲得高可用性等等,nosql應該有下面兩個流派:
1. key-value存儲,如amaze dynamo等,可根據cap三原則靈活選擇不同傾向的資料庫產品。
2. 領域模型 分布式緩存 存儲 (qi4j和nosql運動),可根據cap三原則結合自己項目定製靈活的分布式方案,難度高。

這兩者共同點:都是關系資料庫sql以外的可選方案,邏輯隨著數據分布,任何模型都可以自己持久化,將數據處理和數據存儲分離,將讀和寫分離,存儲可以是非同步或同步,取決於對一致性的要求程度。

不同點:nosql之類的key-value存儲產品是和關系資料庫頭碰頭的產品box,可以適合非java如php ruby等領域,是一種可以拿來就用的產品,而領域模型 分布式緩存 存儲是一種復雜的架構解決方案,不是產品,但這種方式更靈活,更應該是架構師必須掌握的。

熱點內容
發布:2024-07-17 17:13:27 瀏覽:872
phpjava交互 發布:2024-07-17 16:58:57 瀏覽:356
resin下jsp不能正常編譯 發布:2024-07-17 16:34:44 瀏覽:229
sqlserver如何切換主備伺服器 發布:2024-07-17 16:23:02 瀏覽:299
mc18伺服器ip 發布:2024-07-17 16:23:02 瀏覽:379
仙境傳說手游腳本 發布:2024-07-17 16:09:24 瀏覽:691
matlab命令窗口和新建腳本 發布:2024-07-17 15:51:26 瀏覽:375
建ftp文件夾 發布:2024-07-17 15:51:26 瀏覽:955
魔獸撿物腳本 發布:2024-07-17 15:27:56 瀏覽:130
開發ip伺服器 發布:2024-07-17 15:24:42 瀏覽:388
网站地图