Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.12.2015, 13:04
yarockiisergei yarockiisergei вне форума
Прохожий
 
Регистрация: 25.07.2008
Сообщения: 23
Версия Delphi: 6
Репутация: 10
По умолчанию Собственная БД в текством файле

Добрый день, поделитесь опытом те кто пробовал сам разрабатывать простенькое хранилище данных? Я делал примитивный подход создавал TStringList далее в него добавлял строки файла и по окончанию работы с программой сохранял данные через команду SaveToFile. Проблема в том что при разрастания объема данных сохранение происходит очень долго и если его прервать файл становится битым и в следующий раз его невозможно загрузить. Посоветуйте метод хранения данных но только не БД типа MSSQL и т.п.
Ответить с цитированием
  #2  
Старый 29.12.2015, 20:08
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Свой бинарный формат. Не сильно поможет если данных реально много.
2. Хранить в разных файлах (организация/кол-во файлов зависит от данных) и сохранять по мере обновления данных отдельные файлы.
3. Например, TDBF, т.е. формат dBase и собственно компонент для работы с ним, котрый не требует никаких драйверов.
4. Композитный файл (не помню как он там правильно по английски называется). Фактически, целая файловая система в одном файле. При серьезных объемах данных тоже может начать ломаться.
5. Embedded базы данных, типа Embedded FireBird, SQLite, etc. Требуют тащить за собой кучку разных .dll, но зато получаешь достаточно стабильное хранилище + SQL.
Ответить с цитированием
  #3  
Старый 29.12.2015, 20:08
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Простейший способ - использовать структурированный файл. Просто, но при больших объемах не очень эффективно. Если же реализовать поддержку индексов, то вы получите DBF - подобную структуру и тогда уже можно довольно эффективно работать с таким файлом. Но все это до тех пор, пока вам не захочется сделать многопользовательскую БД. И вот тут то и начинаются проблемы. К чему я это все расписываю - в качестве средства изучения принципов - это очень хорошо, но делать серьезное приложение, без серьезного знания основ баз данных - неудачная идея.
К тому же существует масса решений которые обходятся без серверов баз данных и при этом показывают великолепную производительность и потрясающую живучесть при самых тяжких сбоях.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:00.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter