2009-02-22 51 views
1

我有許多對象,每個對象都有一個任意數量的共享的,不同的屬性值對(更具體地說,文件及其相關的屬性 - 例如圖像的寬度和高度值,專輯/藝術家/音樂文件的長度等)。我希望能夠搜索具有特定屬性/值的對象(例如:按專輯),按屬性分組等。屬性值數據庫

對於這種情況,您會建議什麼樣的數據庫?由於模塊化(即時添加更多屬性的能力)以及公共屬性的事實是所有屬性的20%,因此具有規範化表的標準SQL不會真正削減它。我已經嘗試使用「skinny data model」來解決問題;但是我遇到了嚴重的可伸縮性問題。

是否有針對此方案進行調整的專用數據庫(首選BSD許可解決方案)?或者爲此調整標準RDBM的其他方法?

+0

如果您想更多地瞭解它,您的「瘦數據模型」就是a.k.a.「entity attibute value」或「EAV」。 – ChrisW 2009-02-23 00:08:17

回答

2

搜索具有某些屬性的對象會讓我考慮RDF數據存儲。看看RDF API(請參閱JENA,芝麻,演奏家)。

還是BerkeleyDB?

0

皮埃爾是對的;三重商店就是你想要的,而RDF就是這個標準。 SPARQL是查詢它的標準語言(很像RDBMS的SQL)。