sqlite, беркли дб бенчмаркинг - PullRequest
4 голосов
/ 30 июня 2009

Я хочу создать настольное приложение в C # для этого я хочу использовать встроенную базу данных, как (sqlite, berkeley db), так как я могу начать сравнительный анализ для этих баз данных?

Ответы [ 3 ]

5 голосов
/ 26 августа 2010

Недавно Oracle добавил интерфейс sqlite3 поверх хранилища btree BDB, поэтому вы сможете написать свой код для sqlite3 и затем подключить BDB. Улов лицензионный. BDB заставляет вас либо платить, либо использовать открытый исходный код; sqlite давайте делать все, что вы хотите.

3 голосов
/ 13 августа 2009

Прежде чем думать о бенчмаркинге, вам нужно сравнить характеристики баз данных.

SQLite и BDB полностью отличаются по функциям, которые они поддерживают, и если данные сложные, я бы предложил SQLite для более удобного запроса реляционных данных (если так устроены ваши данные)

2 голосов
/ 15 августа 2009

Я согласен с Усамой в том, что вы должны сравнить характеристики, которые вы выбрали после.

Однако я не согласен с тем, что «сложные» данные должны автоматически вести вас к sqlite. Хотя я не видел никаких тестов (и не хотел писать), у меня есть внутренняя реакция (чего бы это ни стоило), которая говорит, что BerkeleyDB будет превосходить почти каждый раз.

Это сказал. Я не думаю, что это то, что я бы использовал, чтобы принять собственное решение. Это восходит к этим функциям. Если все, что мне нужно, это простое хранилище данных, то я бы, вероятно, выбрал sqlite, потому что это будет проще Аналогичным образом, если я хочу иметь возможность произвольно запрашивать мои данные в любом поле или, возможно, однажды сохранить их в «корпоративной» базе данных SQL, я бы, вероятно, выбрал sqlite, потому что будущая миграция будет проще. Однако, если я намереваюсь выйти за рамки простого хранилища данных и наблюдаю за безопасностью транзакций, высоким параллелизмом, высокой доступностью, наличием множества считывателей и писателей и т. Д. и , у меня есть набор из довольно четко определенных «запросов», тогда я, вероятно, хочу BDB.

Обратите внимание, что "сложность" моих данных на самом деле не входит в эти уравнения. Причина проста. BDB может хранить мой объект в его родном сериализованном формате. Sql любого аромата идет с известным несоответствием импеданса, которое, IMO, усложняет мое приложение .

Если вы серьезно рассматриваете BDB, я должен предупредить вас, что вы должны решить, какой тип хранилища вы собираетесь использовать заранее , поскольку различные типы магазинов, которые предлагает BDB, не обязательно совместимы.

...