Объектная БД против Классического MySQL

Мы находимся в процессе выбора нового дизайна для нашего приложения (включая изменение БД), и мы рассматривали объектные базы данных (в частности, db4o).

Мы создали эталонный тест и, что удивительно, пока что все тесты указывают на то, что реализация Hibernate + MySQL быстрее извлекается, чем объектная база данных.

Конечно, есть много переменных в зависимости от того, как тест был спроектирован и выполнен, набора данных теста и т. Д., Однако, если я правильно читаю нижеприведенные результаты:

http://www.jpab.org/Hibernate/MySQL/server/DataNucleus/DB4O/embedded.html

Это также показывает, что реализация MySQL будет лучше.

Нам хотелось бы знать, что может замедлить работу объектных баз данных в отличие от MySQL (скажем, плохой практики) и как можно их избежать. И если они действительно медленнее, то каковы преимущества такой БД (до сих пор мы в основном читали о скоростях чтения / записи объектных БД, которые выше, чем у SQL).

1 ответ

Решение

Не все объектные базы данных равны, некоторые быстрее, а некоторые намного медленнее.

Поскольку вы упомянули JPAB, вам также следует проверить другие страницы, например, http://www.jpab.org/Hibernate/MySQL/server/ObjectDB/ObjectDB/embedded.html

Но также учтите, что на странице, которую вы упомянули, показано, что комбинация DataNucleus с db4o чрезвычайно медленная. Он ничего не говорит о db4o без DataNucleus или DataNucleus без db4o, что может быть лучше. В любом случае, существуют другие объектные базы данных, в том числе Versant Object Database и наша собственная ObjectDB, которые работают намного быстрее.

Попробуйте создать тестовое приложение, в котором MySQL/Hibernate быстрее, чем Versant Object Database, ObjectStore или ObjectDB, и вы увидите, что это намного сложнее.

Другие вопросы по тегам