2011-12-06 22 views
1

我想使用MongoDB的創建SAAS招聘管理門戶網站,這將是繼用例解決,招聘管理門戶網站的數據存儲/模式設計的MongoDB

  1. 一個聰明的HR經理將註冊自己的公司在門戶網站 (因此發現了兩個資源,迄今爲止人力資源經理,和A公司)

  2. 公司將有它自己的個人資料頁像http://myportal.com/abccompany (同推特一樣)

  3. 註冊HR經理後,可以邀請其他人力資源經理從她的公司 (業務驗證應用在這裏是一樣的哭訴,域名的訪問[email protected]可以邀請[email protected]

  4. 邀請畢竟可能的員工,人力資源經理將開始發佈工作 (我們現在發現第三個資源,一個新的工作機會! )

  5. 創建一個新的職位發佈,我們得到的URI那份工作,這可能會在社交媒體上公佈,其他的工作門戶網站等以後。

  6. 如果傳達正確的候選人將獲得有興趣找工作在Abc公司開業,他將在我們的門戶網站上註冊候選人簡介後發出求職申請。 (我們現在發現兩個資源候選者,並招聘應用程序)

  7. 求職是我們將有大部分的交易數據的,這個資源會不斷變化快,工作申請將橫貫通,將捕獲多的資源招聘活動的各個階段),其餘資源大部分是隻讀的。

  8. 下線後,將會有一個龐大的候選人數據庫,旨在與其他數據保持分開,以便將其重用爲候選人檔案,這意味着候選人數據不與特定公司綁定。

如何在MongoDB中(最好使用嗎啡 - 一個Java庫)模擬這種實現以下目標,

  • 爲了得到優化查詢上工作的應用資源
  • 要獲得的優勢通過MongoDB的提供全文檢索
  • 這讓我覺得有點奇怪
+1

到目前爲止你有什麼嘗試?這是功課嗎? –

+0

域中的哪些因素導致您選擇MongoDB作爲數據存儲區,尤其是因爲您目前似乎沒有對MongoDB特別精通?雖然很好,但MongoDB並不一定是您所討論問題的最佳解決方案。 – cdeszaq

+0

到user908088 沒有我的朋友,這不是功課! @cdeszaq 因子, - 全文搜索(能夠圍繞標籤實現功能) - 易於管理 - 相對便宜的託管數據存儲! –

回答

1

兩件事情:

職位申請是我們將擁有大部分交易數據的資源,隨着職位申請將貫穿並會捕獲招聘活動的多個階段,此資源將保持快速變化),其餘資源大部分是隻讀的。

您知道MongoDB不支持傳統意義上的事務(跨越多個文檔)嗎?這不是一個很大的問題,因爲數據建模與關係數據庫不同,您可能可以使用單個文檔(這非常具有事務性)完成許多功能。

要獲取MongoDB的

提供

的MongoDB目前不支持全文搜索全文搜索的優勢 - 它往往要求和計劃,但將需要更多的時間:https://jira.mongodb.org/browse/SERVER-380

但是,Morphia支持正則表達式,您可以手動標記化/幹。

雖然你可以很容易地使用MongoDB,但我沒有看到任何你無法使用MySQL的理由。

對於建模,我會從一個簡單的方法開始(公司用戶,公司,工作發佈,候選人,應用程序),並開始優化,如果你真的有性能問題。緩存應該讓你在你的場景中有很長的路要走。

+0

+1表示「僅在需要時才進行優化」。 – cdeszaq