Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 跨两个数据库访问数据_Java_Spring_Mongodb - Fatal编程技术网

Java 跨两个数据库访问数据

Java 跨两个数据库访问数据,java,spring,mongodb,Java,Spring,Mongodb,我有大量数据(超过1TB)。这将有1000多人同时访问。将其存储在一个数据库中会使应用程序非常慢。所以我计划将其存储在不同的数据库中。mongo DB是否支持不同数据库之间的路由?还是应该在我们的应用程序中使用此选项?我正在使用Java进行开发,并使用Spring框架与mongo进行交互 考虑到将数据拆分为多个数据库是为了提高性能,我建议使用单个数据库,而不是拆分为多个数据库。如果位置足够精细,并且您希望在服务器之间拆分负载,则可以使用将特定位置或位置范围固定到特定服务器。这方面有一个很好的教程

我有大量数据(超过1TB)。这将有1000多人同时访问。将其存储在一个数据库中会使应用程序非常慢。所以我计划将其存储在不同的数据库中。mongo DB是否支持不同数据库之间的路由?还是应该在我们的应用程序中使用此选项?我正在使用Java进行开发,并使用Spring框架与mongo进行交互

考虑到将数据拆分为多个数据库是为了提高性能,我建议使用单个数据库,而不是拆分为多个数据库。如果位置足够精细,并且您希望在服务器之间拆分负载,则可以使用将特定位置或位置范围固定到特定服务器。这方面有一个很好的教程


在遵循这条路线之前,我建议在您计划用于系统的硬件上使用数据库对您的应用程序执行负载测试。值得确认的是,您确实需要切分/拆分数据,如果需要,还需要确定您可能需要的服务器的数量。如果您的数据库将是读密集型而不是写密集型,那么可能是非分片数据库将处理您的负载,从而满足您的内存需求。

您做了什么样的研究?我讨论了分片。但它似乎是在一个数据库中,然后将两个数据库切分…你能澄清一下“不同数据库之间的路由”是什么意思吗?MongoDB不支持跨收集或跨数据库操作。通常,您应该考虑构建非规范化的集合,这些集合提供单个集合中所需的所有数据。否则,您将需要从应用程序中分别访问多个数据库和集合。@JamesWahlin我希望基本上根据一个条件(位置)将用户分布在两个数据库中,这样流量将被分配,用户将根据条件(位置)路由到该特定数据库。希望这次我清楚:)