Как db4o поддерживает производительность - PullRequest
3 голосов
/ 15 июня 2011

Я прочитал здесь (поиск по строковому ключу «ядро работает в однопоточном режиме»), что ядро ​​db4o по своей сути однопоточное, тогда как оно поддерживает производительность / пропускную способность, когда несколько пользователей пытаются получить доступ к базе данных одновременно?

1 Ответ

6 голосов
/ 15 июня 2011

Да, db4o по своей сути однопоточный. Он использует один большой замок для защиты всех своих операций. Это легко увидеть в коде.

Как поддерживать пропускную способность? Ну, это просто не так! db4o никогда не создавался для таких приложений, которые выполняют множество параллельных операций (например, веб-приложения). Это действительно сборка для встраивания в настольные / мобильные приложения. Он не может справиться с нагрузкой на сервер. Для высокой пропускной способности вам нужно использовать большие базы данных.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...