我目前正在研究推薦系統,特別是音頻文件。但我是這個主題的初學者。我試圖用mysql設計數據庫,但我不能決定如何去做。基本上是一個用戶創建配置文件的系統然後搜索音樂和系統推薦他們喜歡的音樂。推薦引擎數據庫的設計?
- 我應該使用哪個數據庫?(mysql的 來到我的腦海裏的第一猜測)
- 它是一個web項目,並隨後 與移動side.Which技術 我應該使用?(PHP,Android的 平臺...)
- 什麼是這個項目 的陷阱。
- 如何爲系統設計數據庫 那樣?
我目前正在研究推薦系統,特別是音頻文件。但我是這個主題的初學者。我試圖用mysql設計數據庫,但我不能決定如何去做。基本上是一個用戶創建配置文件的系統然後搜索音樂和系統推薦他們喜歡的音樂。推薦引擎數據庫的設計?
任何關係型數據庫應該是不錯的,用於存儲喜歡歌曲列表,用戶列表,用戶的喜好歌曲的原始數據..
我認爲你會發現一個關係數據庫(和SQL)是對於存儲推薦人將要構建的各種數據結構來說並不是那麼好。您的推薦引擎可能會創建並不真正需要放入表格中的數據,並將其用於關係數據庫中的存儲操作可能只是浪費工作。
要知道你在做什麼,不花時間把東西到SQL數據庫,如果感覺不對。也許看看使用面向文檔的數據庫,如MongoDB。
的推薦,我最近寫的其實是一個Java服務器的過程,從MySQL中的原始數據讀取,完成所有其內存的工作,並通過HTTP API提供的推薦數據我的應用程序。由於可以重新生成,所以我甚至都不會永久存儲推薦數據。
嗯,這是一個含糊不清的問題和半,但我會盡我所能回答:
去閱讀"Programming Collective Intelligence"。他們在第2章「制定建議」中提供了許多用於建議的精細算法。
我有這本書,我希望它是一本理論書,但它不是那樣的,作者使用了很好的例子 – 2009-08-21 12:56:02
我不會在數據庫中存儲實際的音頻文件,而不是我將存儲音頻文件的參考。 – 2009-08-21 12:58:24
@Burak:他們仍然使用相同數量的存儲空間。 – Eric 2009-08-21 13:05:51