|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Собственная БД в текством файле
Добрый день, поделитесь опытом те кто пробовал сам разрабатывать простенькое хранилище данных? Я делал примитивный подход создавал TStringList далее в него добавлял строки файла и по окончанию работы с программой сохранял данные через команду SaveToFile. Проблема в том что при разрастания объема данных сохранение происходит очень долго и если его прервать файл становится битым и в следующий раз его невозможно загрузить. Посоветуйте метод хранения данных но только не БД типа MSSQL и т.п.
|
#2
|
|||
|
|||
1. Свой бинарный формат. Не сильно поможет если данных реально много.
2. Хранить в разных файлах (организация/кол-во файлов зависит от данных) и сохранять по мере обновления данных отдельные файлы. 3. Например, TDBF, т.е. формат dBase и собственно компонент для работы с ним, котрый не требует никаких драйверов. 4. Композитный файл (не помню как он там правильно по английски называется). Фактически, целая файловая система в одном файле. При серьезных объемах данных тоже может начать ломаться. 5. Embedded базы данных, типа Embedded FireBird, SQLite, etc. Требуют тащить за собой кучку разных .dll, но зато получаешь достаточно стабильное хранилище + SQL. |
#3
|
||||
|
||||
Простейший способ - использовать структурированный файл. Просто, но при больших объемах не очень эффективно. Если же реализовать поддержку индексов, то вы получите DBF - подобную структуру и тогда уже можно довольно эффективно работать с таким файлом. Но все это до тех пор, пока вам не захочется сделать многопользовательскую БД. И вот тут то и начинаются проблемы. К чему я это все расписываю - в качестве средства изучения принципов - это очень хорошо, но делать серьезное приложение, без серьезного знания основ баз данных - неудачная идея.
К тому же существует масса решений которые обходятся без серверов баз данных и при этом показывают великолепную производительность и потрясающую живучесть при самых тяжких сбоях. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |