Способен ли JDBC обрабатывать огромные базы данных? - PullRequest
2 голосов
/ 22 июня 2009

Я работаю над проектом, в котором есть огромная база данных. [около 32 ГБ данных за одну неделю]. Мы используем DB2 и spring-framework + jdbc. Я просто хотел знать, способен ли JDBC обрабатывать столько данных? Или я должен использовать что-то еще? Или, если JDBC способен сделать это, тогда я должен использовать какую-то особую технику для этого.

Ответы [ 4 ]

9 голосов
/ 22 июня 2009

JDBC - это просто соединение - ему все равно, сколько данных в базе данных. Я ожидаю, что это будет больше проблемой на стороне базы данных, если где-нибудь. Если у вас есть индексы, которые дорого создавать, и т. Д., У вас, скорее всего, будут проблемы - но, честно говоря, 32 ГБ в неделю не так уж и велики. Я ожидаю, что любая «настоящая» серверная база данных справится с этим довольно легко.

Я предлагаю вам попробовать это перед тем, как отправиться слишком далеко по какому-либо конкретному пути. Чак данные на это так быстро, как вы можете. Я был бы немного обеспокоен, если бы вы не смогли создать 32 ГБ данных за несколько часов.

6 голосов
/ 22 июня 2009

JDBC - это просто интерфейс между базой данных и Java-программой. Это зависит от базы данных для обработки такого количества данных. В мире Java вряд ли есть альтернатива использованию JDBC, когда дело доходит до подключения к базе данных.

1 голос
/ 22 июня 2009

Хотя ваш SQL API и уровень абстракции базы данных важны, наибольшее влияние на производительность и удобство обслуживания вашей базы данных будет иметь схема индексирования, кластеризации и разделения, которую ваш администратор базы данных будет использовать для управления значительными объемами данных, вставляемых каждую неделю. , Наиболее мощные функции в этих областях доступны в корпоративной версии механизма обработки данных DB2 для Linux, UNIX и Windows. Я бы порекомендовал взглянуть на комбинацию многомерной кластеризации (MDC), разбиения таблицы диапазонов и глубокого сжатия, чтобы управлять таблицей по мере ее роста, облегчать развертывание / развертывание и, самое главное, быстро сосредоточиться на данные запрашиваются с минимумом сканирования. Вы также можете воспользоваться материализованными таблицами запросов (MQT). Версия 9.7 DB2, которую IBM выпустила совсем недавно, предлагает заметные улучшения некоторых из этих функций, в частности агрессивную схему сжатия для индексов.

0 голосов
/ 22 июня 2009

Все зависит от того, какую обработку вы выполняете в базе данных. Сколько таблиц вы будете получать в любое время, а также будет больше записей или чтений из базы данных. Исходя из этого, вы можете создать его. Вы также можете посмотреть на использование решения ORM, такого как Hibernate, которое хорошо интегрируется с Spring. Это предоставит вам несколько вариантов, таких как кэширование, чтобы избежать прямого доступа к БД каждый раз. Также вы должны настроить пул соединений для повторного использования соединений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...