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