Насколько надежна база данных h2?

Когда я задаю этот вопрос, я вижу, что текущая версия базы данных H2 была выпущена 01.07.2011 (совсем недавно). Это очень хорошо и полезно. Сохранится ли этот темп? Если темпы выпуска новых выпусков будут медленными, будет ли он поддерживаться сообществом открытого исходного кода в долгосрочной перспективе?

По соображениям стоимости я в настоящее время рассматриваю возможность использования Postgresql для высокопроизводительного приложения, и база данных H2, похоже, имеет правильный набор функций (в основном все, что мне нужно). Я не просто уверен, что было бы правильным решением использовать H2. По сути, мое решение должно основываться на долгосрочной поддержке, будь то подписка или сообщество.


h2
person Muthu    schedule 14.01.2011    source источник


Ответы (4)


Сохранится ли этот темп?

Это план.

будет ли он поддерживаться сообществом открытого исходного кода в долгосрочной перспективе?

Трудно предсказать будущее, наверное, поэтому пока никто не ответил на ваш вопрос :-) Я уверен, что он будет поддержан, потому что им пользуется достаточное количество людей. H2 используется во многих продуктах (с открытым исходным кодом и коммерческих). Довольно многие регулярно отвечают на вопросы в списке рассылки. В настоящее время у H2 не так много коммиттеров, одна из причин заключается в том, что пользователи в целом довольны его функциями, а также потому, что текущая скорость разработки достаточно высока, а качество кода достаточно хорошее.

Поддержка по подписке в настоящее время недоступна, но это запланировано на будущее (в какой-то момент всегда планировалось предоставлять коммерческую поддержку). Причина, по которой он еще недоступен, заключается в том, что H2 еще не имеет достаточной доли рынка для создания компании.

person Thomas Mueller    schedule 18.01.2011

Насколько надежна база данных h2? [закрыто]

В 2010 году мы перешли с H2 на MySQL для сегментов наших больших [r] корпоративных баз данных. Основная причина заключалась в том, что внутренний движок H2 является однопоточным. Когда в наших базах данных с сотнями тысяч или миллионами строк выполняются большие неоптимизированные запросы, все другие операции базы данных останавливаются. Дополнительные сведения см. в документации H2. Блокировка строк H2 кажется относительно незрелой по сравнению с MySQL или Postgres.

Кроме того, MySQL и Postgres также предоставляют механизмы репликации вместо создания собственных. Это также позволяет нам делать резервную копию нашей системы базы данных в реальном времени с ведомого устройства вместо того, чтобы блокировать базу данных H2, пока мы ее выгружаем.

Наконец, хотя я не запускал этот тест производительности, я подозреваю, что, хотя H2 быстро разряжается для баз данных малого и среднего размера, по мере увеличения размера базы данных и особенно количества одновременных запросов MySQL и Postgres начнут сравняться, а затем наилучшей общей производительности, особенно при рассмотрении распределения времени запроса.

Мы продолжаем использовать H2 для бутика, в памяти и очень успешно тестируем базы данных. Большое спасибо Томасу за это!

person Gray    schedule 17.03.2011
comment
Я согласен. Я не могу рекомендовать H2 для больших клиент-серверных приложений. - person marcolopes; 26.03.2013
comment
@marcolopes Под «большим» безопасно ли предположить более 50 одновременных запросов по крайней мере к 1 миллиону строк? - person Matical; 11.10.2015
comment
А, да. Такой большой. H2 может работать нормально, но я подозреваю, что параллельные запросы будут нуждаться в более мощном механизме базы данных для эффективной работы. - person Gray; 12.10.2015

H2 — потрясающий движок базы данных. После того, как мы решили проблему, не связанную с H2, мы перешли с PostgreSQL и MySQL (оба по-прежнему поддерживаются) на H2. H2 стал нашим основным выбором базы данных.

Скорость — это главная причина, но есть и другие: встроенный режим великолепен и дает нам возможность устанавливать программное обеспечение на портативное устройство, даже делиться базой данных в облаке, скажем, через Dropbox!

Мы не используем много функций, потому что мы «постоянно зависимы» через «Datanucleus» (без триггеров, процедур и т. д.), но наше приложение достаточно сложное, чтобы продвигать H2! И доставляет безукоризненно.

person marcolopes    schedule 28.02.2011
comment
Итак, вы предполагаете, что H2 — это скорее замена SQLite, чем что-либо еще? - person user1050755; 24.03.2013
comment
Я бы сказал, что правильно будет сказать, что: -systems.findthebest.com/compare/16-53/ - person marcolopes; 26.03.2013

Причина в том, что 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 заключается в том, что в настоящее время его можно бесплатно использовать и в коммерческих автономных приложениях.
  • Check Поддержка ограничений, которая до недавнего времени была недоступна в MySQL.

Сравнение с PostgreSQL:

  • Абсолютно это быстрее, чем PostgreSQL, когда среда работы/развертывания указана в начале этого ответа.
  • Операции обновления с H2 намного быстрее, чем PostgreSQL
  • Если кто-то попытается тщательно сравнить H2 с PostgreSQL, пожалуйста, не делайте этого, а сравните PostgreSQL с Giant OracleDB. H2 не может сравниться/не может быть заменен PostgreSQL по функциям.

Легче всего справиться при оказании технической поддержки. Им можно поделиться так же просто, как перетащить.

person AbsoluteDev    schedule 14.02.2019