Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выбор хранилища данных - XML или SQLite?

5.7K
02 августа 2011 года
Lindemann66
193 / / 21.07.2011
Всем привет!
Вопрос такой

Встала задача о выборе хранилища данных

Пишу на C++, вариантов, соответственно, масса
Все они условно делятся на 2 вида
БД либо файлы

БД соответственно делятся на требующие сервер и не требующие
Требующие - это использующие MySql и SQL
Они не подходят по той причине, что требуют установки сервера
Что остаётся?
Вроде бы, наилучший вариант - использовать SQLite

Что касается файлов
Тут вариант - либо бинарные, либо XML

Так вот, какие на ваш взгляд есть плюсы и минусы у данных вариантов?

Буду благодарен за любой ответ.
4
02 августа 2011 года
mike
3.7K / / 01.10.2002
SQLite хороший вариант. Что касается файлов, то вопрос в требуемой производительности. Если это не важно или чтение/запись файлов происходит не часто, то XML.
5.7K
02 августа 2011 года
Lindemann66
193 / / 21.07.2011
По идее, чтение запись будут происходить достаточно часто
2.1K
02 августа 2011 года
Norgat
452 / / 12.08.2009
Цитата: Lindemann66
Так вот, какие на ваш взгляд есть плюсы и минусы у данных вариантов?



Про XML могу сказать следующее - если данных много и они небольшие, то из-за тегов XML может случиться так, что теги XML будут отжирать больше памяти, чем сами хранимые данные(критично, когда данных много).

5.7K
02 августа 2011 года
Lindemann66
193 / / 21.07.2011
А если изменить вопрос чуть иначе - насколько отличается скорость работы с БД (SQLite) и XML?
Допустим, количество вставок в секунду
10
02 августа 2011 года
Freeman
3.2K / / 06.03.2004
Для выбора между БД и не-БД важно также, как будут читаться данные: понадобятся ли многофакторный отбор, сортировка, группировка, некое подобие справочников и ключей и т. п. Чем больше "да" -- тем больше "за" БД.

Проблема XML, как и любого другого текстового формата -- в необходимости полной перезаписи файла при изменении данных. Для быстрой работы нужно также держать кэш в памяти -- явно или неявно -- в виде структур MSXML.
5.7K
02 августа 2011 года
Lindemann66
193 / / 21.07.2011
А что вы скажете о Firebird, как альтернативе SQLite?
Firebird ведь тоже может идти в версии без сервера (embedded)
10
02 августа 2011 года
Freeman
3.2K / / 06.03.2004
Firebird тоже православен.
5.7K
03 августа 2011 года
Lindemann66
193 / / 21.07.2011
спасибо :)
376
03 августа 2011 года
Absolut
220 / / 22.11.2002
Можно ещё рассмотреть BerkeleyDB
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог