我有大量数据(超过1TB)。这将由超过1000人同时访问。将其存储在一个数据库中会使应用程序变得非常慢。所以我打算将它存储在不同的数据库中。 mongo DB是否支持不同数据库之间的路由?或者应该在我们的申请中?我正在使用Java开发并使用Spring框架与mongo进行交互。
答案 0 :(得分:3)
鉴于将数据拆分为多个数据库的原因是为了提高性能,我建议sharding单个数据库而不是分割多个数据库。如果位置足够精细,并且您希望跨服务器分割负载,则可以使用tag aware sharding将特定位置或位置范围固定到特定服务器。有一个很好的教程可用here。
在遵循此路线之前,我建议您使用数据库在计划用于系统的硬件上对应用程序执行负载测试。值得确认的是,您确实需要对数据进行分片/拆分,如果是这样,您可能需要的服务器数量。如果要读取数据库而不是写入密集型数据库,那么非分片数据库可能会处理您的负载,从而使working set适合内存。