最近公司擴展了很多國外客戶,那麼一個很嚴重的問題就是翻譯,對於國外客戶來說,肯定看不懂中文,那就要項目中提供切換各自國家語言的功能。
由於每個項目都是各自寫自己的翻譯,所以這塊比較混亂。對於公司來說,肯定是希望能寫一箇中間件,提供翻譯功能,以供其他項目使用。這樣一來,大家都方便,而且還可以統一管理翻譯模塊。那麼,我們組就臨危受命,接下了這個任務。
每個項目中的界面上的文案或提示信息是調用翻譯中心,而具體的查詢信息是由各自項目自己來存儲的。
第一件事情要考慮數據層面的就是,數據庫應該如何選擇。第一個需求是,項目中的文案或提示信息數不勝數,而且他們是通過JSON來存放的。第二個需求是數據之間沒有任何關係,比如項目1存放的數據和項目2存放的數據沒有關係。
基於上面兩點,我們放棄了傳統的關係型數據庫,選擇了NOSQl數據庫中的文檔存儲——MongoDB。
MongoDB並非芒果的意思,而是源於 Humongous(巨大)一詞。意爲可以存儲海量數據。
MongoDB使用的是JSON文檔來存儲記錄,filed-value的配對關係。空說沒概念,咱直接上圖。
對比
那我們來對比一下關係型數據庫和MongoDB的差別:
關係型數據庫 | MongoDB |
數據量太多,易造成性能瓶頸 | 速度超快 |
表之間存在關係,需要各種連接查詢 | 表之間沒有關係 |
需要定義表結構再使用 | 沒有表結構 |
表中數據必須一致 | 隨便是什麼數據 |
本文分享自微信公衆號 - 學習Java的小姐姐(huangtest01)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。