2016-10-03 70 views
0

這裏處理關係表是我的問題,我有:沒有數據庫服務器

  • 一個合作伙伴,給我他的關係型數據庫的內容,每個包含一個表的行文件

  • 我應該通過只接受完全構建的對象的API發送數據的一個合作伙伴

因爲表具有1:n關係,所以我無法處理文件的行內容以及文件的內容太大(使用完整的內存中解決方案的文件太大),我也將有多個進程同時工作來執行此轉換(用於冗餘和性能)。我希望避免爲此使用中間關係數據庫,但我可以訪問MongoDB數據庫。

您對處理這個問題的最佳方法有任何想法嗎?

回答

0

對於那些遇到類似問題的人。我們只有一對多關係的解決方案,但我相信這可以擴展到其他關係。

我們的解決方案是首次處理這些文件,並收集關於有多少元素通過外鍵值(我們在內存映射中執行此操作)共享相同外鍵的信息。然後,我們再次處理文件,並將關係的許多部分的元素通過外鍵分組到數據庫中,當我們擁有所有元素時,我們會等待引用的外鍵的元素(關係的一部分)顯示出來,當它在那裏時,我們將另一個表的信息添加到所有的元素中,然後我們用引用表的外鍵對它們進行分組。

我們多次重複這個過程來獲取最遠表格的元素以及之前所有表格的信息。類似於您在SQL數據庫中加入時所獲得的結果。我們可以按照我們希望能夠處理它們的方式重新組合這些最終元素(並將我們想要的信息發送給API)。

相關問題