Существуют ли причины, по которым база данных h2 не должна использоваться в производстве?

Недавно я рассматриваю возможность создания приложения, которое использует базу данных h2 в качестве основной базы данных (потому что она поставляется с JBoss), но я немного беспокоюсь об этом. Я прочитал в нескольких местах (в основном, доски обсуждений), что нельзя использовать h2 в производстве. Существуют ли для этого конкретные причины?

Ответы

Ответ 1

Основными причинами не использования H2 (или HSQLDB, или Derby) для производства являются:

  • Вероятность критических ошибок: по сравнению с "большими" базами данных Oracle, IBM DB 2, MS SQL Server, MySQL, PostgreSQL, базы данных Java являются относительно новыми и, следовательно, могут быть не такими стабильными (имеют ошибки). Обратите внимание, что это верно для всех новых продуктов, включая базы данных NoSQL, и новые выпуски "больших" баз данных. Как правило, чем больше тестируется продукт, тем меньше вероятность ошибок. Конечно, это зависит от вашего варианта использования, имеет ли смысл платить (возможно, много денег) за это преимущество. В любом случае вам потребуется выполнить резервное копирование данных, например, в случае сбоя оборудования.

  • Отсутствие функций и оптимизаций: "большие" базы данных имеют больше возможностей и оптимизаций для особых случаев использования. Нужны ли вам эти функции или нет или нет.

  • Коммерческая поддержка: проще получить поддержку для больших баз данных. Обратите внимание: коммерческая поддержка доступна для H2. HSQLDB также предоставляет коммерческую поддержку. IBM использовала поддержку Apache Derby (ну, IBM Cloudscape), но я считаю, что они остановились.

Ответ 2

В моем личном опыте версия H2 1.2.147 кажется очень надежной, 100% -ная успешность примерно в 60 установках, но мои клиенты имеют относительно небольшие базы данных (400 МБ - большие размеры), и моя программа использует только одно соединение (lol), только недавно я начал использовать несколько соединений, но с multi_threaded false. У меня были повреждения с некоторыми предыдущими версиями, и я боюсь еще раз попробовать новые версии.

Ответ 3

Для меня не существует никакого реасеона, чтобы не использовать H2DB в производстве для проектов среднего размера. Мы развернули производственную систему для примерно пятнадцати клиентов, использующих H2DB, у нас были очень простые установки и резервные копии, и все же нулевые проблемы в отношении базы данных.