2010-09-25 39 views
1

我的應用程序需要可配置的列,並且在開始時配置這些列的標題。如果關係數據庫我會在表中創建類似CodeA,CodeB等的泛型列,因爲這需要它有助於在這些列上排隊(代碼A = 11),它也有助於顯示值(如果該列存儲代碼和值),但現在我正在使用非關係數據庫數據存儲(我是新手),我是否應該遵循相同的舊的方法或我應該使用集合(鍵值對)類型的結構。非關係型數據庫,關鍵值或平坦表

這些列上會有很多過濾器。請建議

+0

NoSQL不具有查詢SQL的能力。你爲什麼在這裏選擇NoSQL?當你說可配置列是什麼意思?請解釋。 – 2010-09-26 03:16:54

+0

我正在使用Google Apps,數據存儲是唯一可用的數據庫。可配置的列的意思是說,我說我的記錄可以有十個維度,但是當我創建實例時,我定義了哪個維度意味着什麼......就像在賬戶系統中一樣,有些人可能想要將產品配置爲一維,其他客戶可能會喜歡Project產品的地方。 – 2010-09-26 07:27:19

回答

0

剛剛描述的是Key-Value數據庫的經典場景之一。這裏的限制是你不會有很多你習慣的基於集合的工具。

大多數K-V數據庫都非常適合加載一個「記錄」或其中的一小部分。但是,他們往往不擅長加載任何可能需要加入的東西。鑑於您正在使用AppEngine,您可能會欣賞這種限制。但值得一提的是,

作爲一個重要的注意事項,並非所有K-V數據庫都允許您「按任意列選擇」。許多K-V商店實際上只允許通過主鍵進行選擇。如果你看看MongoDB,你會發現你可以查詢任何聽起來像一個必要功能的列。

0

我會建議使用鍵/值對,其中鍵將作爲您的列名稱,值將是他們的數據。