Готово ли производство ObjectDB?
В этом тесте ObjectDB является самой быстрой БД: http://www.jpab.org/All/All/All.html
Но я не вижу никаких других результатов теста ObjectDB. Кто-нибудь использует ObjectDB? Готово ли производство? Какой опыт?
7 ответов
Я использовал его для ряда проектов и продуктов, как профессионально, так и лично. Я использовал его чуть более 5 лет. Вот мой опыт этого:
Отказ от ответственности: я владею серверной лицензией и лицензией OEM, и за прошедшие годы познакомился с создателем (ями). У меня нет других коммерческих отношений с компанией ObjectDB - другими словами, я ничего не получаю в коммерческом отношении, если они продают больше копий. Мне просто нравится продукт.
Мои обычаи:
лично: я использовал его как часть коммерческого продукта, который вышел из моей диссертации, чтобы сохранить модели UML2/EMF. это сложные вещи со многими, многими классами, и ObjectDB был единственным продуктом, который мне удалось найти, который мог справиться со сложными связями с адекватной производительностью. это был звездный исполнитель в этой среде.
связанные с работой: я работаю в инвестиционном банке, и мы использовали ObjectDB для сохранения состояний рабочего процесса и обработки постоянства в среде с большими сетками (>2000 узлов). Это очень хорошо работало и в этой среде.
Я также был консультантом в Gentleware в 2007 году, и мы сравнили ObjectDB с db4o, hibernate и т. Д. Он превзошел любую конкуренцию почти на порядок. Это был мой первый коммерческий опыт работы с ним.
Итак, суть в том, что я обнаружил, что ObjectDB чрезвычайно быстрый и надежный. Мы протестировали его до 10 Гбайт только на моделях UML2, и там не было никаких проблем. У меня никогда не было базы данных, умирающей от меня или поврежденной за все время ее использования. Кроме того, его площадь довольно мала. Короче говоря, это немного невоспетый герой в космосе.
Мой опыт совпадает с тестами jpab - они делают неудобным чтение для владельцев других продуктов, но... возможно, я не совсем объективен в этом, хотя - у меня был большой контакт с создателем (ами) ObjectDB по лет и подтолкнул их к выпуску ориентиров. в частности, я чувствовал, что они должны сделать график линейным, а не логарифмическим - это показывает, что производительность ObjectDB в большинстве случаев значительно выше.
Кроме того, причина, по которой вы не найдете много других эталонов для этого или любого другого продукта JPA, заключается в том, что ни один из поставщиков не может в целом согласиться с эталоном и склонен обвинять других в предвзятости. Я видел это из первых рук много раз. Некоторые люди предпочитают polepos, но доминирует db4o, и эти люди, например, не будут публиковать результаты dn. Некоторые поставщики баз данных не допускают результатов и т. Д. Это минное поле, и создатели ObjectDB здесь не отличаются. Каждый любит контролировать свой собственный тест;-)
Короче говоря, если честно, мой честный опыт заключается в том, что ObjectDB очень быстр, готов к производству (в течение ряда лет назад к 1.x) и хорошо поддерживается. Это очень хороший продукт.
Мы использовали Object DB в нашем стартапе чуть более 5 месяцев. Мы долго колебались, прежде чем согласиться на objectDB, изучив различные технологии (RDBMS, Graph db и object db). Мы разрабатываем веб-приложение для бизнеса, и у нас был набор требований для нашего уровня постоянства. Мы рассмотрели среди прочего: MySQL, PostgreSQL, Derby, Db4o, ObjectivityDB, Perst, Озон, Neadatis ODB, Neo4j, OrientDB
Наши требования были:
- Зрелый продукт для стабильности
ObjectDB более 6 лет - в версии 2.2.9, как мы говорим - Поддерживается сообществом
Мы хотели убедиться, что есть кто-то, кто поможет, если у нас возникнут проблемы, и до сих пор мы очень довольны скоростью, с которой мы получаем ответы на наши вопросы. Сообщество может быть больше, но очень активно. - Скорость развития
Для гибкости и быстрой функциональности оборачиваемость объектной базы данных невероятно проста и понятна. Мы рассматривали RDBMS + Hybernate, но это было медленно и немного запутанно - Способен выдерживать большие нагрузки
Ничего научного здесь нет, но мы хотели чувствовать себя комфортно, чтобы система могла обрабатывать большое количество одновременных запросов. Мы протестировали до 1000 одновременных запросов, сочетание индексированных запросов, обновлений объектов, созданий и удалений и обновлений коллекций, чтобы попытаться имитировать нагрузку на наше приложение. ObjectDB вышел в топ-2 - Быстро
То же самое и здесь, мы использовали один и тот же тип запросов и синхронизировали их, мы также увеличили нагрузку до того, что, по нашему мнению, будет разумным предположением о том, что наша публикация будет запущена, и снова ObjectDB постоянно находился в топ-2 - Способен обрабатывать большое количество данных
Мы постепенно увеличили количество клиентов в нашей БД до 5 миллионов клиентов (это немного оптимистично) с 1-5 заказами каждый и проверили эффективность. Не было значительного снижения производительности (с правильными индексами на месте!) - Открытый исходный код / дешевый
Небольшая проблема с отсутствием доступа к источнику, так как мы используем GWT, и это иногда вызывает проблемы с сериализацией управляемых коллекций и дат (хотя существует обходной путь) - Поддержка JPA
Если возможно, мы хотели, чтобы поддержка JPA или JDO легко интегрировалась с существующими платформами (Spring) и была уверена, что худшее приходит к худшему, мы все же можем вернуться к старым системам RDMS - хотя я должен сказать, что постоянство объектов настолько просто и прозрачно, что иногда трудно придерживаться требований JPA.
В общем и целом, ObjectDB постоянно входил в топ-2 наших конкурентов, иногда первый, иногда второй, следовательно, наш выбор. Также впечатляет частота исправления ошибок и новых выпусков функций.
Я надеюсь, что это поможет, если у меня будет время до начала нашей работы (в начале следующего года) представить наши результаты в презентабельном формате, я постараюсь опубликовать их здесь.
Я бы не стал доверять этому критерию без независимой проверки. Если вы проверяете информацию об авторских правах, сайт фактически принадлежит и управляется владельцами ObjectDB!
Тем не менее, у меня нет данных, чтобы противостоять их претензиям, я бы просто не принял их за чистую монету.
Я также использую ObjectDB в течение многих лет (я думаю, 7 лет) в коммерческих целях. У нашей компании есть два продукта, которые используют базу данных (обе встроенные версии). Один из наших продуктов отображает информацию о сигналах, передаваемых между мобильными устройствами (например, мобильными телефонами) и моделируемой сетью. Хотя мы фактически создаем отдельную базу данных для каждого запускаемого теста, мы часто можем сохранить до 1 ГБ эквивалентных данных XML в базе данных.
Скорость сохранения данных очень высокая (обычно быстрее, чем запрос Windows сделать копию эквивалентного файла XML). Скорость поиска превосходна, что позволяет нам прокручивать тысячи (даже десятки тысяч) графически представленных элементов, как если бы они просматривали каталог файлов проводника Windows.
ObjectDB - отличный продукт, и я надеюсь продолжить работу с ним. Когда мы разрабатывали наши продукты, мы столкнулись со странной проблемой (хотя нам не приходилось сообщать ни об одной вещи, сколько я себя помню), но скорость, с которой у нас было решение каждой проблемы, была лучшей, которую я ' мы когда-либо сталкивались.
Чтобы ответить на ваш вопрос "Готово ли это производство", ну, на мой взгляд, это, безусловно, так.
Я тестирую ObjectDB на небольшом проекте. Вот мои замечания:
- При работе с JDO не так много документации / учебников. У вас гораздо больше документации с JPA.
- Учебники слишком просты и далеки от реальности.
- Я встретил 2 ошибки в DatabaseExplorer. Но это было быстро исправлено в новой версии.
- Поддержка на форуме очень хорошая, я быстро получил ответ.
По сравнению с Versant DB с тем же проектом и ObjectDB проще начать.
Стандартный отраслевой стандарт:
http://www.spec.org/jEnterprise2010/
который интенсивно использует JPA
Обратите внимание, что он тестирует весь сервер Java EE, а не только JPA, но JPA является наиболее важной частью теста. Основные продукты JPA представили результаты через соответствующие серверы приложений.
SpecJ не так легко сравнивать продукты, как результаты JPAB, так как большинство результатов на разных аппаратных средствах, но все результаты проверены коллегами, поэтому можно доверять. Это также моделируемое реальное приложение с несколькими пользователями, большой базой данных, требованиями к параллелизму и изоляции, и большинство результатов находятся в кластере.
Нет доступных результатов ObjectDB, но теоретически, поскольку ObjectDB поддерживает JPA, должна быть возможность запустить SpecJ на нем и сравнить его с другими продуктами самостоятельно.
Я бы не стал доверять этому критерию без независимой проверки. Если вы проверяете информацию об авторских правах, сайт фактически принадлежит и управляется владельцами ObjectDB!
Еще важнее то, что данные - это одно, а объяснения - другое. И действительно, отсутствует объяснение, почему оно должно быть быстрее на величину. Это, и тот факт, что показанные на их веб-сайте контрольные показатели ОЧЕНЬ низки, и поэтому показывают только ОЧЕНЬ малую часть всей картины, мне кажется очень странным.
Мой опыт (как правило, не с ObjectDB) заключается в том, что, например, режим гибернации зависит от типа рабочей нагрузки, и, если вам нужно перенести базу данных, вам нужно явно настроить поведение гибернации, чтобы получить достойную производительность. ObjectDB поддерживает кеширование? Отличается ли он только в сценариях с большой пропускной способностью, которые кэшируют мусор?
Обновить
Я только что прочитал http://www.objectdb.com/database/forum/259. Типичным врагом для скорости является, угадайте что, последовательность. Кажется, ObjectDB вообще не поддерживает разумную модель параллелизма. Итак, это просто магазин NoSQL?
Я использую ObjectDb 10 лет и очень им доволен.
По общему признанию, моя база данных относительно невелика, но я перешел от постоянного спотыкания о проблемах обновления гибернации к тому, чтобы просто не беспокоиться об этом, что сэкономило мне массу времени за эти годы.