Какая база данных окажется эффективной? - PullRequest
0 голосов
/ 22 октября 2009

Мне нужно разработать веб-приложение на Java, довольно большое, с множеством данных для хранения и обработки. Я также планирую использовать Hibernate и Spring.

В настоящее время доступно множество баз данных, таких как MSSQL Server, MySQL Server, Oracle, db2 и т. Д. Что вы рекомендуете?

Особенности, которые я ищу, будут

  • Java - соединение с базой данных должно быть эффективным и простым в реализации

  • хороший пользовательский интерфейс для управления сервером баз данных

  • емкость хранения данных

  • поддержка

  • и, очевидно, фактор стоимости.

Все ценные предложения будут оценены. Заранее спасибо: -)

Отредактировано: веб-приложение будет размещено на сервере Linux.

Ответы [ 7 ]

3 голосов
/ 22 октября 2009

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

Мой личный опыт:

  1. Ваши серверы - машины Windows? Если нет, MSSQL отсутствует. В противном случае MSSQL имеет довольно приличные графические интерфейсы. Я не пробовал работать с ним и Java - поддержка Visual Studio для его разработки очень хорошая.

  2. Я не обнаружил, что Oracle стоит таких затрат. Я работал в месте, где платили за поддержку, и все же ему потребовалось вечно, чтобы признать ошибки, связанные с копированием данных в драйвере JDBC (все еще не исправлено, последний раз я проверял).

  3. MySql очень прост в использовании - если вам нужна сложная функциональность, убедитесь, что она поддерживается

Мои 2 цента: придерживайтесь MySql или Postgres, простого SQL и старайтесь не создавать никаких хранимых процедур и не использовать проприетарный SQL. Если вы обнаружите, что переросли его, это будет тривиальный порт.

Чем больше вы пытаетесь воспользоваться запатентованными функциями, тем больше вы будете заблокированы.

1 голос
/ 22 октября 2009

Вы можете проверить Жар-птица

1 голос
/ 22 октября 2009

В дополнение к MySQL, Postgresql и MS SQL Server вы также можете посмотреть Apache Derby (он же IBM Cloudscape, он же JavaDB ). Это очень переносимо: код базы данных - это просто файл jar; Файлы базы данных также могут быть скопированы с одной платформы на другую без проблем. Он поддерживает стандарты SQL99 и SQL-2003 , в базах данных памяти и может использоваться либо как встроенная база данных, либо как сетевая база данных. Он не поставляется с собственным пользовательским интерфейсом, вы можете выбрать один из нескольких внешних интерфейсов JDBC SQL, таких как Squirrel SQL , Aqua Data Studio или SQL Developer (среди прочих). Дополнительные ссылки можно найти на веб-сайте IBM .

Я также согласен с другими постерами, что Oracle не стоит затрат или головной боли. Одна заметная головная боль заключается в том, что драйверы JDBC возвращают нестандартные объекты для дат, поэтому ваш Java-код должен будет содержать специальные хаки Oracle.

1 голос
/ 22 октября 2009

Все базы данных, о которых вы упомянули, очень хорошо масштабируются, если базы данных правильно спроектированы (нормализованы для OLTP и денормализованы для OLAP).

При прочих равных условиях, если стоимость является значительным фактором, MySQL, вероятно, выйдет дешевле, чем другие.

0 голосов
/ 23 октября 2009

Я предлагаю вам

  • Get DBVisulizer , который является лучшим инструментом для разработки баз данных
  • Прототип с использованием встроенной БД, такой как Derby или H2
  • Нагрузочный тест с использованием одной из вышеуказанных баз данных, чтобы определить, достаточно ли его для ваших производственных нужд
  • Используйте MySQL или Postgres для производства, если это не так. В зависимости от вашего дистрибутива Linux их, вероятно, будет так же просто установить, как «apt-get install mysql» или что-то подобное
  • Используйте Инструменты Hibernate для создания схемы после того, как вы создали свою объектную модель, и отрегулируйте ее, вместо того, чтобы пытаться запустить схему вначале, если у вас нет большого опыта создания схемы.
0 голосов
/ 22 октября 2009

Java, Hibernate и Spring будут работать практически с любой базой данных. Такие инструменты, как Squirrel , упрощают управление БД по всем БД.

Ключевым моментом является стоимость. Я рекомендую PostgreSql . Он выдающийся: он обладает огромным объемом, обширным списком функций, имеет солидное сообщество пользователей и является бесплатным / открытым исходным кодом

0 голосов
/ 22 октября 2009

Я бы предпочел MS SQL Server за скорость, поддержку и т. Д. Большинство хостингов Windows предоставляют поддержку MS SQL за символическую плату. Вот бесплатный GUI SQl Manager для него http://sqlmanager.net/en/products/mssql/manager/download SQl Server Management Studio также есть :)

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