我正處於設計非常大型系統(其企業級銷售點系統)的早期階段。因爲你們有些人知道這些事情的數據模型會變得非常複雜。我想在谷歌應用引擎上運行這個東西,因爲我想把更多的資源用於開發軟件,而不是構建和維護基礎架構。本着這種精神,我在GAE和DataStore上做了大量的閱讀工作。即時通訊一個老同學的關係型數據庫建模和香港專業教育學院的一個無模式數據庫是什麼見過幾個不同的概念,我認爲香港專業教育學院想出了數據存儲是什麼,但我想確保我有它正確瞭解Google App Engine數據存儲
所以,如果即時通訊的權利GAE是基於表格的系統。所以如果我創建一個Java實體
class user
public string firstname
public string lastname
並部署它,「表」用戶自動創建並運行。然後在次後發佈,如果我修改類用戶
並部署它,「表」用戶自動更新與新字段。
現在,在相關數據中,據我所知,它非常類似於一些大型複雜系統,如SAP,其中數據實際上非常有組織,但由於卷的參考完整性是應用程序的一個功能,而不是數據庫引擎。所以,我有一些代碼看起來像這樣
class user
public long id
public string firstname
public string lastname
class phone
public string phonenumber
public user userentity
,並從頭拉起電話號碼的用戶,而不是
select phone from phone inner join user as phone.userentity = user where user.id = 5
(lay off i know the syntax is incorrect but you get the point)
我會做類似
select user from user where user.id = 5
then
select phone from phone where phone.userentity = user
和這將檢索用戶的所有電話號碼。
所以,據我所知,它不是一個如何思考結構化數據和組織數據的巨大變化,因爲它是如何訪問它的一個重大變化。我使用代碼手動加入,而不是與數據庫引擎自動加入。超越它的相同。我是對的還是我無能爲力?
嗯......我的客戶對存儲在其他公司的數據庫他們的銷售數據很矜持。 – 2011-04-17 22:10:55