1. Стоит ли использовать небольшую легковесную СУБД вместо сериализации данных объектов в файлы(объектов ~3000)?
2. Какие небольшие бесплатные СУБД посоветуете?
Здравствуйте, NordSky, Вы писали:
NS>1. Стоит ли использовать небольшую легковесную СУБД вместо сериализации данных объектов в файлы(объектов ~3000)? NS>2. Какие небольшие бесплатные СУБД посоветуете?
SQLite
NS>1. Стоит ли использовать небольшую легковесную СУБД вместо сериализации данных объектов в файлы(объектов ~3000)? NS>2. Какие небольшие бесплатные СУБД посоветуете?
Вместо сериализации всех объектов в один файл — не стоит. Вместо сериализации каждого объекта в отдельный файл — стоит.
Пока достаточно запросов типа "взять/положить объект X" — самая лучшая база это BDB. Когда запросы станут сложнее, есть смысл посмотреть на Redis, SQLite.
Здравствуйте, NordSky, Вы писали:
NS>1. Стоит ли использовать небольшую легковесную СУБД вместо сериализации данных объектов в файлы(объектов ~3000)? NS>2. Какие небольшие бесплатные СУБД посоветуете?
firebird embedded
к тому же оно легко превращается в обычный firebird
Здравствуйте, den123, Вы писали:
D>Здравствуйте, NordSky, Вы писали:
NS>>1. Стоит ли использовать небольшую легковесную СУБД вместо сериализации данных объектов в файлы(объектов ~3000)? NS>>2. Какие небольшие бесплатные СУБД посоветуете? D>SQLite
Это зависит. Если нужна функциональность БД — то есть у вас объект представляется как набор полей, можно делать выборки по значениям полей (SELECT), можно обновлять отдельные поля (UPDATE), то SQLite такую возможность даст.
Если же нужно просто сериализовать и быстро доставать, то достаточно файлового хэша — Berkeley DB или GnuDB.
Здравствуйте, NordSky, Вы писали:
NS>1. Стоит ли использовать небольшую легковесную СУБД вместо сериализации данных объектов в файлы(объектов ~3000)? NS>2. Какие небольшие бесплатные СУБД посоветуете?
На чем пишешь?
Для .NET это однозначно SQL CE. Для делфей чаще всего используют FB. Для C++ — sqlite.
Если тебя интересует key-value хранилище, то лучше BDB.
Здравствуйте, gandjustas, Вы писали:
G>На чем пишешь? G>Для .NET это однозначно SQL CE. Для делфей чаще всего используют FB. Для C++ — sqlite.
Странный критерий, надо основываться на достоинствах-недостатках, а не умозрительной статистике. В дельфях FB используют потому, что это бывший интербейс, который лучше всего поддерживался дельфями. В С++ sqlite потому, что у него очень простой API. В .net их использование спрятано за ADO.Net и особая разница отсутствует.
По простоте развертывания: sqlite — dll (в .нет вообще вшитая в сборку драйвера), FBembed — несколько dll, CE инсталятор (вероятно тоже можно копированием, я не пробовал).
По возможностям — sqlite и CE сильно урезаны, FBembed полноценная СУБД, точно такая же как и серверный вариант.
По стабильности — CE, sqlite, FBembed в порядке ухудшения.
Как-то так. А дальше уже каждый сам решает, что ему нужно. Для простого хранения объектов sqlite вполне достаточно.
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, gandjustas, Вы писали:
G>>На чем пишешь? G>>Для .NET это однозначно SQL CE. Для делфей чаще всего используют FB. Для C++ — sqlite.
Z>Странный критерий, надо основываться на достоинствах-недостатках, а не умозрительной статистике. В дельфях FB используют потому, что это бывший интербейс, который лучше всего поддерживался дельфями. В С++ sqlite потому, что у него очень простой API. В .net их использование спрятано за ADO.Net и особая разница отсутствует.
Z>По простоте развертывания: sqlite — dll (в .нет вообще вшитая в сборку драйвера), FBembed — несколько dll, CE инсталятор (вероятно тоже можно копированием, я не пробовал). Z>По возможностям — sqlite и CE сильно урезаны, FBembed полноценная СУБД, точно такая же как и серверный вариант. Z>По стабильности — CE, sqlite, FBembed в порядке ухудшения.
Z>Как-то так. А дальше уже каждый сам решает, что ему нужно. Для простого хранения объектов sqlite вполне достаточно.
Есть еще такой фактор как "информационное обеспечение" того или иного решения. То есть количество информации в сети о возможном решении проблем в одном из сочетаний. Для тех кто не имеет большого опыта — это определяющий фактор.
А если у человека достаточно опыта, то обычно вопросов таких не задают.