我正在研究一個大型且不經常變化的人員數據集的小型項目。每個記錄都存儲有一個人的姓名和他們工作過的以前的公司名單(按編號ID)。搜索數百萬條記錄並形成連接時使用哪個數據庫?
我正在寫一個單頁面的web應用程序,它可以讓你搜索和直觀地查看人員和公司的連接。如果我輸入「John Smith」,它會向我展示他爲公司工作的公司,在該公司工作的人員以及他們工作的公司以及其他公司(如網絡圖)。
我目前正在使用MongoDB來存儲所有這些人...但我有一種感覺,這不是一個最佳的解決方案。我發現有許多不同的數據存儲庫,如Cassandra(寬列),Couchbase(類似於Mongo?),ElasticSearch(搜索),Neo4J(圖),可能更優化並且性能更好。
有大量的選項可供選擇,但我不確定如何選擇最佳的解決方案來使用。
是否可以使用多個數據庫(例如MongoDB和Neo4J),還是在實踐中很糟糕,因爲很難保持它們同步在一起?
我該如何去選擇最優化的技術集合以確保我的應用程序性能良好,並且可以輕鬆查詢我的數據集?