Как лучше хранить сложные данные? Какой формат файла использовать?

программирование программы мультимедиа файлы БД

Здравствуйте.

Необходимо хранить в одном файле данные, представляющие из себя перемежающиеся текст, изображения, аудио и видео. Как это лучше (удобней, чтобы при открытии не долго думал) сделать?

Пока что есть только две идеи:
1) Использовать SQLite БД, из которой читать при необходимости, запросами (большую часть времени единовременно работать требуется лишь с частью данных). Вести лог прочитанного (изменённого) и при сохранении обновлять (сохранять) только изменённое. Думаю, насколько на скорости работы БД отразится то, что в ней могут присутствовать весьма весомые поля?
2) Тупо писать всё в файл последовательно, при сохранении и полностью считывать при загрузке. Плюс - простота реализации. Минус - долгое время сохранения и загрузки, пропорциональное объёму файла, да и для работы по этой схеме, если правильно понимаю, должно требоваться больше оперативной памяти.

Приветствую любые конструктивные мысли.

Спасибо за внимание.

Примечание:
Цигвинцев Евгений, большое спасибо, интересные мысли. Вариант.
Думаю, насколько это будет практичней SQLite.
А данные можно архивировать и при сохранении в БД.

Kosten594, спасибо за очевидный вопрос :-)
Думал об этом, было бы очень кстати, - так их проще всего передавать, с кучей файлов будет возникать путаница.
Ответы:
Рассмотрите возможность хранения данных в zip файле или подобном.
Будете работать с данными как с файловой системой. Пусть внутри будет файл описания, например xml. Простая реализация, готовые библиотеки и др. плюсы. Степенью сжатия добиться оптимальной скорости.
Вот такие мысли вслух))
>Необходимо хранить в одном файле
Это действительно необходимо?
к Дополнение #1 Думаю, насколько это будет практичней SQLite.
Если сомневаетесь в скоростях, то взгляните насколько быстро работают графические движки игр с pak файлами например. Очень не советую "пихать" файлы в БД. К примеру MySQL 4 при превышении файлы таблицы свыше 100мб начинает сильно тормозить.
К чему такие сложности?! БД имеет место быть при хранении табличных данных с необходимостью быстрого поиска и быстрых расчетов. Лично я не вижу смысла использовать БД.
Если все же есть необходимость в табличных данных + медиа файлы и настаивать на применении SQLite, то совместите zip и SQLite файл внутри zip. Но вариант - xml внутри архива мне кажется проще.
Если волнует вопрос открытой структуры zip, то всегда можно переделать zip чтобы он не открывался стандартными архиваторами.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.