JDBC是否能够处理庞大的数据库?
我正在一个项目,这是一个庞大的数据库。 [一周内约32GB数据]。我们正在使用DB2,以及spring-framework + jdbc。我只是想知道JDBC能够处理这么多的数据吗?或者我应该使用别的东西?或者,如果JDBC能够做到这一点,那么我应该使用一些特定的技术来做这件事情。JDBC是否能够处理庞大的数据库?
JDBC只是连接 - 它并不关心数据库中有多少数据。我希望它在数据库方面更像是一个问题,如果有的话。如果你的索引创建成本很高,那么你很可能会遇到问题 - 但说实话,一周内的32GB并不是那么大。我希望任何“真正”的服务器端数据库都能够很容易地处理它。
我建议你在将自己提交到任何特定路径之前尝试一下。尽可能快地查找数据。如果在几个小时内无法创建32GB数据,我会有点担心。
JDBC只是数据库和java程序之间的接口。由数据库来处理这些数据量。在Java世界中,当涉及到数据库连接时,几乎没有其他方法可以使用JDBC。
这一切都取决于您将在数据库上进行的处理。您随时可以访问多少个表,并且可以从数据库读取更多的数据。基于这个你可以设计它。你也可以看看使用像Spring一样与ORM集成的ORM解决方案。这将为您提供一些缓存选项,以避免每次直接访问数据库。你也应该设置一些连接池来重用连接。
“您随时可以访问多少个表格”,我们没有超过20个表格。在任何时候我们都会从最多6-7张桌子上取下。 – 2009-06-22 06:38:55
虽然您的SQL API和数据库抽象层很重要,但对数据库性能和可维护性的最大影响将是您的DBA将用于管理每次插入的大量数据的索引,集群和分区方案周。这些领域中最强大的功能可用于Linux,UNIX和Windows的DB2数据引擎的企业版。我建议您查看多维聚类(MDC),范围表分区和深度压缩的组合,以便随着数据量的增长管理数据表,便于轻松导入/转出,最重要的是快速归入用最少的扫描请求数据。您也可以从物化查询表(MQT)中受益。 DB2最近发布的DB2 9.7版提供了其中几项功能的值得注意的增强功能,特别是针对索引的主动压缩方案。
查克,哎呀,我的意思是乔恩:D,根据你的观点,这只是数据库管理员不得不关心这一点,而不是我。 – 2009-06-22 06:41:05
几乎可以肯定。 JDBC仅代表您通过其抽取数据的管道。显然它会导致处理数据的一些开销,但这不太可能是重要的。 – 2009-06-22 07:08:27