第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

db4o為什么沒多少人用?

db4o為什么沒多少人用?

微笑聽雨 2016-06-10 12:28:30
db4o這個對象數(shù)據(jù)庫有很多優(yōu)點,但為什么不是很火?? 大家有沒有用過db4o的?
查看完整描述

1 回答

已采納
?
愛生活愛胖胖

TA貢獻(xiàn)56條經(jīng)驗 獲得超455個贊

  1. 沒有主鍵的概念(因為對象的內(nèi)存地址,或者引用就能標(biāo)志一個對象了).因而外界想指向一個具體的對象就比較困難(比如本頁的url里的1079505).

  2. 激活/保存層次的問題.獲取一個對象,它的字段引用了其它對象,那么到底激活多少層次合適?保存時也是如此.層次深了傷性能,層次淺了用著不方便(動不動就是Null reference).

  3. 對象引用問題.RDBMS里我們能很輕易地明白一個引用指向的是對象的淺拷貝(因為只引用了一個主鍵).而一旦與內(nèi)存中的對象勾搭起來,那深拷貝和淺拷貝就不容易區(qū)分了,很難說清我刪除了一個對象會不會讓某個其它對象的某個字段變成null(同樣,修改對象也不容易看清其影響范圍).

  4. 對象生存期問題.這是個看起來很奇怪甚至愚蠢的問題:沒有被其它對象引用的對象是否應(yīng)該存在于數(shù)據(jù)庫中?換句話說,ODBMS要不要擁有GC功能?如果有GC功能的話,能夠避免誤刪除被其它對象引用的對象,而且能夠清除不再需要的數(shù)據(jù).但是相應(yīng)地,它讓開發(fā)必須考慮更多的問題,保證每個對象的靜態(tài)可達(dá)性.

  5. 數(shù)據(jù)庫版本進(jìn)化難以跟蹤.由于數(shù)據(jù)庫的結(jié)構(gòu)與對象的結(jié)構(gòu)基本一致,對對象模型的任何修改都會導(dǎo)致數(shù)據(jù)庫結(jié)構(gòu)的變化,而這個過程中原有數(shù)據(jù)如何處理必須加以特殊處理(Db4O里提供了字段改名之類的api,但是至少我很討厭每修改一次對象就要寫幾行這樣的代碼).換句話說,我覺得數(shù)據(jù)庫和對象之間耦合嚴(yán)重了,不利于修改.

  6. 沒有類似Sql的成熟且流行的查詢語言(或者你必須學(xué)習(xí)一種新語言)進(jìn)行數(shù)據(jù)管理.很多時候,直接操作數(shù)據(jù)庫也是必須的,這時你會非常想念Sql.


查看完整回答
1 反對 回復(fù) 2016-06-12
  • 1 回答
  • 0 關(guān)注
  • 2109 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號