|
-8 / 12 / 0
Регистрация: 15.02.2023
Сообщений: 421
|
|
Реализация базы данных на текстовых файлах без сторонней СУБД18.04.2023, 23:57. Показов 5627. Ответов 66
Метки нет (Все метки)
Доброй ночи!
Какие есть подходы к ведению базы данных в текстовых файлах, когда не нужна СУБД, и каких распространённых ошибок следует избегать при её проектировании?
0
|
|
| 18.04.2023, 23:57 | |
|
Ответы с готовыми решениями:
66
Реализация базы данных средствами «Словарь морфем английского языка» СУБД Microsoft Access Выбор CMS без базы данных (на файлах) Реализация базы данных на С# без ADO.net и SQL серверов |
|
-8 / 12 / 0
Регистрация: 15.02.2023
Сообщений: 421
|
|
| 20.04.2023, 16:15 [ТС] | |
|
В том и едло, что мой вопросне привязан к одному конкретному проекту, а рассматривает общий подход к решению задач.
0
|
|
| 20.04.2023, 16:24 | |
|
Так вы попробуйте придумать ситуацию.
Что за ситуация вообще такая,хоть примерно опишите. Почему нельзя использовать СУБД? Что требуется от БД (хранение, поиск, обеспечение целостности и т.д и т.п.)? Если со всем для "общего случая". То разработчик должен на очень хорошем уровне знать как работают СУБД. Глубоко погрузиться в этот вопрос и т.п. На практике возможность возникновения такой ситуации пренебрежительно мала. Вопросов придется решать до фига и больше. В т.ч. и структура "текстового" файла. Формат вам все равно придется придумывать, так что это не будет "текстовый файл".
0
|
|
|
-8 / 12 / 0
Регистрация: 15.02.2023
Сообщений: 421
|
|
| 20.04.2023, 22:20 [ТС] | |
|
Любой файл - текстовый. Разница - в представлении данных. Если бы я мог описать ситуацию, я бы давно сам придумал решение, а так меня интересуют грабли, на которые приходилось наступать тем, кто это делал до меня. Для простоты будем считать, что я делаю клон киберфорума.
0
|
|
| 21.04.2023, 01:06 | |||
|
Подводные камни.... ну тут просто изучите одну из СУБД (тот же MySQL) глубоко. Т.е. как организуется совместный доступ, транзакции, ключи, индексирование, блокировки различных уровней, кеширование. Т.е. тут я бы говорил не о "подводных" камнях, а о серьезных знаниях которые надо получить, чтобы браться за эту задачу. При этом тут надо понимать, что PHP не подходящий вариант для этого. В итоге, ну так сделать можно для развлечения и прокачки навыков... но серьезно для проекта - нет. Добавлено через 1 минуту
0
|
|||
|
|
||
| 21.04.2023, 11:09 | ||
|
Не писать данные сразу в основной рабочий файл, а создавать дубликат - и затем копировать его в основной файл. Даже если на каком-то этапе выключится свет, данные не потеряются. Текстовая база оправдывает себя тогда, когда данные имеют простую структуру, в этом случае чтение/запись + парсинг/сериализация одной записи-файла происходит в разы быстрее чем в случае использования бд. Из практики. Игровой профиль. Размер файла в среднем 50 кб. Возникла мысль загнать игровые профили в базу. Зацепил SQLite, расписал таблички, померял время записи. 0.1 сек против 0.0001 на плайн-тексте. Если 50 игроков одновременно сделают запись профиля, лаг бы составил 5 секунд.
1
|
||
|
Модератор
|
|
| 21.04.2023, 13:16 | |
|
1
|
|
|
Модератор
|
|
| 21.04.2023, 13:33 | |
|
0
|
|
| 21.04.2023, 13:39 | ||
![]() По сути, тут придется работать в памяти, например в мемкеше (ТС отмечался в темах по PHP) пишем туда в очередь, очередь обрабатывается постепенно. Тут придется мудрить примерно как в том же мускуле - процесс засыпает пока запись залочена.
0
|
||
|
Модератор
|
||
| 21.04.2023, 13:50 | ||
|
- отчетов по загрузке - когда был последний раз ... хотя иногда сообщение надо корректировать(как и на любом форуме) или удалить или дать ссылку
0
|
||
|
7092 / 2323 / 352
Регистрация: 10.12.2013
Сообщений: 8,007
|
|
| 21.04.2023, 13:52 | |
|
0
|
|
|
Модератор
|
||
| 21.04.2023, 14:03 | ||
- диалог - как например в скайпе - или ввести/скорректировать запись в справочник , например переименовать Калинин текстовая база only read - только на выборку с элементами поиска вполне решаема, но вряд ли в текстовом виде есть смысл делать базу Продажи с приходными/расходными накладными и дюжиной справочников, еще больше отчетов
1
|
||
|
|
|||
| 21.04.2023, 14:47 | |||
|
Cчитывается и парсится он за 0.4-0.5 сек чтоль... Щас не помню точно. Самая долгая операция сейчас - это верификация данных в профилях. Для 17500 пользователей она длится 2 сек. Добавлено через 1 минуту
0
|
|||
|
9147 / 6176 / 594
Регистрация: 27.03.2013
Сообщений: 20,046
|
|
| 21.04.2023, 17:15 | |
|
Жесть.
Посмотрел для интереса профить ТСа. Ни одного положительного отзыва. Кликните здесь для просмотра всего текста
Как таким говном можно жить?
Ну не опарыш же.
0
|
|
|
-8 / 12 / 0
Регистрация: 15.02.2023
Сообщений: 421
|
|
| 21.04.2023, 17:28 [ТС] | |
|
А если я закэширую декартово произведение в отдельных файлах, то задача решаемая.
Добавлено через 3 минуты VinniPuh, это - бескровная жертва ради кресла директора Сбербанка. Добавлено через 5 минут alhaos, твой sqlite перестанут поддерживать, и ты будешь переписывать весь слой работы с данными. Добавлено через 1 минуту voral, в современной науке уже никто не читает миллиард статей в день, а придумывают и доказывают всё с нуля - так быстрее.
0
|
|
|
9147 / 6176 / 594
Регистрация: 27.03.2013
Сообщений: 20,046
|
|
| 21.04.2023, 17:35 | |
|
TrueTyper, не стал -1000 ставить, ибо тоже будучи студентом ночью кричал в форточку , что бы халява пришла.
Так что расслабь очко. Если хамить и матом прилюдно не будешь ругаться, я минусовать не стану как некоторые.
0
|
|
|
-8 / 12 / 0
Регистрация: 15.02.2023
Сообщений: 421
|
|
| 21.04.2023, 17:46 [ТС] | |
|
VinniPuh, так поставь. Мне всё равно. Эти оценки характеризуют тех, кто их ставил.
1
|
|
| 21.04.2023, 17:46 | |
|
Сравнение данных в текстовых файлах База данных на текстовых файлах ОРГАНИЗАЦИЯ ФАЙЛОВОЙ СИСТЕМЫ. ОБРАБОТКА ТЕКСТОВЫХ ФАЙЛОВ. ТИПИЗИРОВАННЫЕ ФАЙЛЫ. ФАЙЛЫ БЕЗ ТИПА. СОЗДАНИЕ БАЗЫ ДАННЫХ. Какая СУБД хранит данные в файлах с расширением .dat и индексы в файлах .k01, k02 и т.д.? Реализация отправки данных из EditText приложения Android в поле таблицы БД под СУБД Oracle 11g и в поле БД под СУБД MSSQL Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|