nosql - Laravel框架-混合使用多種數(shù)據(jù)庫(mysql-orm和mongodb-odm)的時(shí)候如何解決事務(wù)處理問題?
問題描述
Laravel框架-使用多種數(shù)據(jù)庫(mysql-orm和mongodb-odm)的時(shí)候如何解決事務(wù)處理問題?Laravel或者大部分web框架自帶的是基于RDBS的DB組件和orm實(shí)現(xiàn)或者第三方的orm。
問題:1)Laravel + MongoDB(laravel-mongodb),這個(gè)時(shí)候Nosql之類的數(shù)據(jù)庫如何使用事務(wù)處理?難道只能使用MongoDB官方的Perform Two Phase Commits--只能使用mongodb數(shù)據(jù)庫層面的事務(wù),沒法使用ODM層面的事務(wù)嗎, 實(shí)現(xiàn)應(yīng)用層面上的一致性可行嗎?
2)Laravel + Mysql/PostgreSQL(Eloquent ORM) + MongoDB(laravel-mongodb), 2種或多種不同類型的數(shù)據(jù)庫混合使用的時(shí)候,如何處理數(shù)據(jù)庫事務(wù)呢, 實(shí)現(xiàn)應(yīng)用層面上的一致性可行嗎?
(數(shù)據(jù)庫混合使用: mysql負(fù)責(zé)用戶和商品交易等等關(guān)鍵重要的數(shù)據(jù), mongodb負(fù)責(zé)商品、社交、各種功能數(shù)據(jù)等等。 美國社交購物電商OpenSky好像就是這樣混合使用數(shù)據(jù)庫的)
問題解答
回答1:多種數(shù)據(jù)庫混合應(yīng)用的時(shí)候,事物的穩(wěn)定是靠自己的邏輯來處理的。框架不會(huì)幫你連這個(gè)也做了,也沒法做。
相關(guān)文章:
1. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)2. html按鍵開關(guān)如何提交我想需要的值到數(shù)據(jù)庫3. mysql取模分表與分表4. HTML 5輸入框只能輸入漢字、字母、數(shù)字、標(biāo)點(diǎn)符號(hào)?正則如何寫?5. gvim - 誰有vim里CSS的Indent文件, 能縮進(jìn)@media里面的6. dockerfile - 我用docker build的時(shí)候出現(xiàn)下邊問題 麻煩幫我看一下7. 跟著課件一模一樣的操作使用tp6,出現(xiàn)了錯(cuò)誤8. PHP類屬性聲明?9. objective-c - ios 怎么實(shí)現(xiàn)微信聯(lián)系列表 最好是swift10. javascript - 請(qǐng)教如何獲取百度貼吧新增的兩個(gè)加密參數(shù)
