Насколько надежна база данных h2?
Когда я задаю этот вопрос, я вижу, что текущая версия базы данных H2 была выпущена 07-01-2011 (совсем недавно). Это очень хорошо и здорово. Будет ли этот темп сохранен? если темп новых выпусков будет медленным, будет ли он поддерживаться сообществом open source на длительный срок?
По соображениям экономии, в настоящее время я рассматриваю возможность использования Postgresql для высокопроизводительного приложения, а база данных H2, похоже, имеет правильный набор функций (в основном, что мне нужно). Не просто уверен, что было бы правильным решением использовать H2. В основном мое решение должно основываться на долгосрочной поддержке на основе подписки или сообщества.
Ответы
Ответ 1
Будет ли сохранен этот темп?
Это план.
будет ли он поддерживаться сообществом openource на длительный срок?
Трудно предсказать будущее, я думаю, почему никто еще не ответил на ваш вопрос:-) Я уверен, что он будет поддержан, потому что достаточно людей его используют. H2 используется во многих (с открытым исходным кодом и коммерческих) продуктах. Достаточно много ответов на вопросы в списке рассылки. В настоящее время у H2 нет коммиттеров, одна из причин заключается в том, что пользователи в целом довольны своими функциями и потому, что текущая скорость разработки достаточно быстрая, а качество кода достаточно хорошее.
Поддержка на основе подписки в настоящее время недоступна, но это запланировано на будущее (всегда был план предоставления коммерческой поддержки в какой-то момент). Причина, по которой она еще не доступна, заключается в том, что у H2 еще не достаточно рыночной доли для запуска компании.
Ответ 2
Чтобы предоставить дополнительную информацию, в 2010 году мы перешли от H2 к MySQL для наших крупных [r] корпоративных баз данных. Самая большая причина заключалась в том, что внутренний двигатель H2 имеет одну резьбу. Когда большие, неоптимизированные запросы выполняются в наших базах данных со 100 тысячами или миллионами строк, все остальные операции с базой данных прекратятся. Дополнительную информацию см. В документации H2. Блокировка строк H2 кажется относительно незрелой по сравнению с MySQL или Postgres.
Кроме того, MySQL и Postgres также предоставляют механизмы репликации, а не сворачивают свои собственные. Это также позволяет нам резервировать нашу систему баз данных "вживую" из подчиненного устройства, а не блокировать базу данных H2, когда мы ее выгружаем.
Наконец, хотя я не запускал этот тест производительности, я подозреваю, что хотя H2 быстро освещается для баз данных малого и среднего размера, поскольку вы увеличиваете размер базы данных и, в частности, количество одновременных запросов, MySQL и Postgres начнут равную, а затем лучше всего ее общую производительность - особенно глядя на распределение времени запроса.
Мы продолжаем успешно использовать H2 для бутика, памяти и тестовых баз данных. Большое спасибо Томасу за это!
Ответ 3
H2 - потрясающий движок базы данных. После того, как мы решили проблему, не связанную с H2, мы переключились с PostgreSQL и MySQL (оба по-прежнему поддерживались) на H2. H2 стал нашим основным выбором базы данных.
Скорость - основная причина, но есть и другие: встроенный режим потрясающий и дает нам гибкость для установки программного обеспечения в портативном устройстве, даже совместно используй базу данных в облаке, скажем, через Dropbox!
Мы не используем много функций, потому что мы "постоянно зависимы" через "Datanucleus" (никаких триггеров, процедур и т.д.), но наше приложение достаточно сложно, чтобы нажать H2! И он обеспечивает безупречную работу.
Ответ 4
Причина в том, что H2 все еще продолжает опережать. По состоянию на 2019 год H2 является превосходной базой данных. Мы используем его во всех наших автономных приложениях с 4 лет, и мы видим, что это минимизирует разрыв между SQLite и MySQL. Он работает так же быстро или быстрее, чем MySQL.
Где H2 подходит?
- Автономные приложения
- Приложения для интранет/локальной сети
- Развертывания только на Java
- Встроенный, а также режим сервера
Почему это лучше, чем SQLite?
- Больше типов данных, чем SQLite.
- Поддержка логического типа данных. Который не доступен в SQLite.
- Производительность SQLite снизилась в конкретном случае, когда число строк превышает 50 000 для таблицы из 15 столбцов (более или менее). Мы не нашли эту проблему с H2. Он продолжал работать как обычно.
- Даже если он выглядит как отдельный файл, похожий на SQLite, H2 зашифрован. Это многопользовательская, защищенная паролем база данных. Эта функция недоступна в SQLite.
- Упаковка приложения вместе с приложением стоит всего около 2 МБ.
- Имеет встроенную консоль управления базой данных, которая также в том же ~ 2 МБ.
- H2 можно использовать для разработки приложений для Android.
Сравнение с MySQL:
- Поддержка логического типа данных. Который не доступен в MySQL.
- На данный момент мы видим, что H2 работает почти так же, как MySQL. Иногда даже лучше, чем выполнение запросов на обновление.
- Наши клиенты рады видеть программное обеспечение, которое работает так быстро.
- Причина использования его поверх MySQL заключается в том, что в настоящее время его можно бесплатно использовать в коммерческих автономных приложениях.
Сравнение с PostgreSQL:
- Абсолютно быстрее, чем PostgreSQL, когда среда работы/развертывания соответствует указанной в начале этого ответа.
- Операции обновления с H2 намного быстрее, чем PostgreSQL
- Если кто-то попытается тщательно сравнить H2 с PostgreSQL, не делайте этого, сравните PostgreSQL с Giant OracleDB. Н2 нельзя сравнивать с/нельзя заменить на PostgreSQL по функциям.
Проще всего обращаться при технической поддержке.
Им можно делиться так же просто, как перетаскивать.