![]() 112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
|
|
Хранение малого количества данных без БД20.07.2013, 12:41. Показов 2536. Ответов 12
Метки нет Все метки)
(
интересует вопрос хранения малого количества данных (менее 2 мб) в 1 файле.
знаю что есть такие механизмы как JSON сериализация, XML сериализация, в принципе меня они устраивают, однако может есть какой-нибудь способ сериализациии данных кроме предложенных, может он будет более функциональным, быстрым, эффективным?
0
|
20.07.2013, 12:41 | |
Ответы с готовыми решениями:
12
Хранение большого количества бинарных данных Хранение большого количества однотипных данных Хранение приложением большого числа картинок малого размера на разных ОС |
![]() 112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
|
||||||
20.07.2013, 18:46 [ТС] | ||||||
нашел пока бинарный сериализер типов array и record структур
https://code.google.com/p/kblib/ исходник
0
|
20.07.2013, 23:29 | |
ини файлы попробуйте
0
|
21.07.2013, 05:03 | |
Быстрый индексный доступ обеспечит любая подходящая (single file) Key-Value DB (NoSQL). Если перезапись нечастая, то CDB может быть идеальным вариантом. Обратите внимание на TinyCDB - 2+ Kb "накладных расходов", произвольная длина ключа и данных, мгновенное чтение (memory mapped file). cdb (software) TinyCDB - a Constant DataBase + именно для Delphi есть такая "игрушка" как RealIsam (Отдельная DLL, но меньше 100 Kb).
1
|
![]() 112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
|
|
21.07.2013, 11:50 [ТС] | |
как бы в данном случае не требуется "Быстрый индексный доступ" так как, вся "БД" будет прочитана из файла в память и представлена в "Delphi понятном виде"
Единственно требование это: относительно простое развертывание и свертывание структуры обратно в файл -- по ссылкам у вас все заточено под С++, и требует дальнейшего допиливания напильником для Delphi, а следовательно не может "легко и просто" использовано в данном случае ![]()
0
|
1075 / 988 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
21.07.2013, 12:17 | |
Если структура данных такая как представлена во втором посте, то вполне подойдет класс TStringList.
И чтение из файла с записью в файл просты до безобразия, сортировка, если нужна, пожалуйста, доступ к данным по индексу и по строке.
0
|
![]() 112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
|
|
21.07.2013, 12:25 [ТС] | |
- двумерный массив - массив текстов с переносами строк - массив структур то столкнемся опять с проблемой кодирования/декодирования данных при хранении. В конце концов есть JSON
0
|
Заблокирован
|
|
21.07.2013, 17:00 | |
Менее 1 мегабайта - это работа как раз для SQLITE! Причём в зависимости от скорости лучше иметь memtable и при выходе только записывать/грузить при старте.
1
|
21.07.2013, 18:56 | |
(Де)сериализацию вам неизбежно придется делать для хранения сложных структур. Но, раз индексный доступ не требуется, посмотрите в сторону Structured Storage
~600 Kb SQLite DLL для хранения такого же размера данных - это "из пушки по воробьям".
0
|
Заблокирован
|
|
21.07.2013, 19:09 | |
gazlan, плюс сжатие dll, хотя ты странные вещи говоришь, ты что, не видел сколько весит libxml? А из системных можно хоть custom hive реестра использовать для сериализации, около нуля кода, но ОЧЕНЬ неудобно, о чём и речь.
0
|
21.07.2013, 19:58 | |
Признаться, не видел. XML не использую.
Попутно, вводная статья по STG: СОМ-хранилища: подпольная файловая система
1
|
![]() 112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
|
|
21.07.2013, 22:11 [ТС] | |
0
|
21.07.2013, 22:11 | ||||||
Помогаю со студенческими работами здесь
13
Хранение большого количества данных (5 миллиардов пар чисел)
Хранение данных без базы Хранение и отображение данных без использования БД Хранение файлов и файловый менеджер в файле(листе) Excel, Бинарное хранение данных в CustomProperty листа Excel Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. )
В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
|
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
|
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
|
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
|
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
|
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
|
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
|
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
|
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
|
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
|