powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД для изображений
22 сообщений из 47, страница 2 из 2
БД для изображений
    #34913692
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
DobPilot
На реализацию core, потратил бы один ман дей, ибо
все в данном случае просто -)

Даже удаление отдельных картинок и повторное использование места внутри
многогигабайтного файла? Что-то мне сомнительно, что автор справится...
Угу.. это для меня в новинку. А если еще не удаление, а замещение с другим размером картинки? А выборка по дате сохранения?
...
Рейтинг: 0 / 0
БД для изображений
    #34914296
DobPilot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
DobPilot
На реализацию core, потратил бы один ман дей, ибо
все в данном случае просто -)

Даже удаление отдельных картинок и повторное использование места внутри
многогигабайтного файла? Что-то мне сомнительно, что автор справится...
Posted via ActualForum NNTP Server 1.4

-)

Допустим данные храним так :

[размер файла1][имя файла1][данные1]...[размер файлаn][имя файлаn][данныеn]

индекс файл к нему:

[имя_файла1][смещение ведущее к данным1]...[имя_файлаn][смещение ведущее к даннымn]

Соответвенно для удалаения можно сделать следущее:
1. Удалить запись на файл в файле индекса

А для очистки мусора написать утилиту, которая бы просто создавала новый файл данных, по существуищим индексам, при окончании работы, она заменяла старый файл на новый -)
...
Рейтинг: 0 / 0
БД для изображений
    #34914388
DobPilot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing Dimitry Sibiryakov
DobPilot
На реализацию core, потратил бы один ман дей, ибо
все в данном случае просто -)

Даже удаление отдельных картинок и повторное использование места внутри
многогигабайтного файла? Что-то мне сомнительно, что автор справится...
Угу.. это для меня в новинку. А если еще не удаление, а замещение с другим размером картинки? А выборка по дате сохранения?

Ммм, ну если мы все новые картинки записываем в конец, картики в файле данных уже упорядоченны по дате сохранения в обратном порядке. -)
...
Рейтинг: 0 / 0
БД для изображений
    #34914811
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing(100Б - 30Кб) изображений формата JPEG, PNG ?
...
1) большое кол-во изображений: > от сотен тысяч до миллионов
...
5) небольшой размер СУБД (< 1Мб)если иметь базу в десятки гигабайт, то какой смысл жаться на размере исполняемого кода???

Вы таки огласите дополнительные требования на такое "хранилище".
В частности поддержка транзакций, репликаций, сложных критериев поиска и т.п.
Каким образом вы собираетесь поддерживать актуальность этой базы?
...
Рейтинг: 0 / 0
БД для изображений
    #34914845
DobPilot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft LiYing(100Б - 30Кб) изображений формата JPEG, PNG ?
...
1) большое кол-во изображений: > от сотен тысяч до миллионов
...
5) небольшой размер СУБД (< 1Мб)если иметь базу в десятки гигабайт, то какой смысл жаться на размере исполняемого кода???

Вы таки огласите дополнительные требования на такое "хранилище".
В частности поддержка транзакций, репликаций, сложных критериев поиска и т.п.
Каким образом вы собираетесь поддерживать актуальность этой базы?

В том то и дело что для поставленной задачи (кеширование картинок) оно, ИМХО, оптимально ибо обеспечивает наилучшее быстродействие. -)
...
Рейтинг: 0 / 0
БД для изображений
    #34914854
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft LiYing(100Б - 30Кб) изображений формата JPEG, PNG ?
...
1) большое кол-во изображений: > от сотен тысяч до миллионов
...
5) небольшой размер СУБД (< 1Мб)если иметь базу в десятки гигабайт, то какой смысл жаться на размере исполняемого кода???

Вы таки огласите дополнительные требования на такое "хранилище".
В частности поддержка транзакций, репликаций, сложных критериев поиска и т.п.
Каким образом вы собираетесь поддерживать актуальность этой базы?
Я и не жмусь на размере исполняемого кода. Просто хотелось бы использовать небольшую СУБД, а не таких монстров как Oracle или MSSQL.
Собственно доп. требований, кроме вышеозначенных и нет. Чтение/запись, выборка по дате. Транзакции, репликации не нужны, база однопользовательская. Что имеется в виду под " поддерживать актуальность этой базы"?
...
Рейтинг: 0 / 0
БД для изображений
    #34914859
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYingЧто имеется в виду под " поддерживать актуальность этой базы"?Вы отдаете базу пользователю и она до скончания веков остается неизменной и работает только на чтение?
Или таки вам надо иногда обновлять ее содержимое? Если надо обновлять, то каким образом вы планируете это делать?
...
Рейтинг: 0 / 0
БД для изображений
    #34914935
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Изобретателям велосипедов посвящается...

Создайте нужную ФС _в файле_ и храните там свои картинки или что еще придумаете. Поддержку всех нужных операций ФС возьмет на себя. От вас же потребуется воспользоваться соответствующим драйвером ФС, коих множество. Если вы меня не понимаете, задумайтесь, почему у того же гугл эф размер кэша _фиксированный_. Ситуация прояснилась? ФС это та же самая БД, а драйвер ФС - СУБД. Только попроще, что вам и надо.
...
Рейтинг: 0 / 0
БД для изображений
    #34914948
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGСоздайте нужную ФС _в файле_ Дайте, пожалуйста, ссылочку на инструкцию как это сделать в Windows.


LiYingвыборка по дате MBGФС это та же самая БД, а драйвер ФС - СУБД. Только попроще, что вам и надо.Боюсь, что сильно проще, чем хотелось бы... Например, попробуйте выбрать из ФС все файлы, дата которых находится в некотором диапазоне.
...
Рейтинг: 0 / 0
БД для изображений
    #34914957
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
miksoft MBGСоздайте нужную ФС _в файле_ Дайте, пожалуйста, ссылочку на инструкцию как это сделать в Windows.

Мне виндоус мало интересен, признаться. Хотя кое-какие тулзы под эту ось я и делаю, мой способ создания виртуальных ФС вам вряд ли подойдет. А сама технология очень удобная и универсальная.

miksoft MBGФС это та же самая БД, а драйвер ФС - СУБД. Только попроще, что вам и надо.Боюсь, что сильно проще, чем хотелось бы... Например, попробуйте выбрать из ФС все файлы, дата которых находится в некотором диапазоне.

Вы серьезно считаете это проблемой? ФС хранит метаинформацию, см. как работает утилита find, которая решает указанную задачу и множество ей подобных.
...
Рейтинг: 0 / 0
БД для изображений
    #34914965
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBG miksoft MBGСоздайте нужную ФС _в файле_ Дайте, пожалуйста, ссылочку на инструкцию как это сделать в Windows.Мне виндоус мало интересен, признаться.А автору интересен именно Windows, и, как следствие, ваш совет неприменим.
...
Рейтинг: 0 / 0
БД для изображений
    #34914969
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
miksoft MBG miksoft MBGСоздайте нужную ФС _в файле_ Дайте, пожалуйста, ссылочку на инструкцию как это сделать в Windows.Мне виндоус мало интересен, признаться.А автору интересен именно Windows, и, как следствие, ваш совет неприменим.

Неправильный вывод. Ясно сказано, что и под виндоус я это делаю, но мой способ автору топика будет мало понятен. Тем не менее, он может сделать то же самое иначе. Например, из тотал коммандера позаимствовав соответствующий модуль.
...
Рейтинг: 0 / 0
БД для изображений
    #34914972
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBG miksoftБоюсь, что сильно проще, чем хотелось бы... Например, попробуйте выбрать из ФС все файлы, дата которых находится в некотором диапазоне.Вы серьезно считаете это проблемой? ФС хранит метаинформацию, см. как работает утилита find, которая решает указанную задачу и множество ей подобных.Считаю. Во-первых, метаинформация может быть искажена при некоторых операциях с файлами.

Во-вторых, у автора есть требование LiYing2) возможность обращения к БД из программы написанной на DelphiЕсть в Delphi функциональный аналог предлагаемой вами команды find ?
...
Рейтинг: 0 / 0
БД для изображений
    #34914976
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGЯсно сказано, что и под виндоус я это делаю, но мой способ автору топика будет мало понятен. Ну так не томите, давайте уже ссылку. А понять, думаю, поймем.

MBGТем не менее, он может сделать то же самое иначе. Например, из тотал коммандера позаимствовав соответствующий модуль.С которым можно работать из Delphi ?
...
Рейтинг: 0 / 0
БД для изображений
    #34914999
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
miksoft MBGЯсно сказано, что и под виндоус я это делаю, но мой способ автору топика будет мало понятен. Ну так не томите, давайте уже ссылку. А понять, думаю, поймем.

http://wiki.tcl.tk/2138

miksoft MBGТем не менее, он может сделать то же самое иначе. Например, из тотал коммандера позаимствовав соответствующий модуль.С которым можно работать из Delphi ?

Можно, вызвав соответствующую dll. Надеюсь, в дельфи можно писать код, а не только мышкой формочки рисовать :-)
...
Рейтинг: 0 / 0
БД для изображений
    #34915022
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft LiYingЧто имеется в виду под " поддерживать актуальность этой базы"?Вы отдаете базу пользователю и она до скончания веков остается неизменной и работает только на чтение?
Или таки вам надо иногда обновлять ее содержимое? Если надо обновлять, то каким образом вы планируете это делать?
Мыслится так: я отдаю программу пользователю, прога создает пустую базу, которую юзер будет сам наполнять (скажем из папки, содержащей изображения). Должны поддерживаться операции чтения, записи и удаления. Еще нужна возможность объединять аналогичные базы (т.е. созданную другим юзером) и "выделять/вырезать" какую-то часть БД и сохранять в качестве отдельной базы (к примеру, выбрать все картинки с длиной имени=5 симв. (или с датой=хх.хх.хх) и сохранить в отдельную БД такой же структуры). Т.е. возможность переключения между наборами БД. И все это сделать из программы, написанной на Delphi под win32.

2 MBG: это можно сделать таким способом, как вы предлагаете?
...
Рейтинг: 0 / 0
БД для изображений
    #34915035
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
LiYingИ все это сделать из программы, написанной на Delphi под win32.

Логичнее выбирать технологию под задачу, а не грузить младенцев вилами. Ну да ладно.

LiYing2 MBG: это можно сделать таким способом, как вы предлагаете?

Если требуется объединять/разделять базы, то ФС наподобии фат32 мало пригодна.
В таком случае лучше всего или БД метакит, очень подходящая для подобных вещей, или sqlite (когда-то нечто подобное я делал на плюсах для КПК с винмобайл).
...
Рейтинг: 0 / 0
БД для изображений
    #34915444
МихаилР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYingСпасибо. Это хорошие решения, но весьма дорогие и объемные. И слишком функциональные для моей задачи. СУБД нужна однопользовательская.

Если бы не требование Delphi (на него я, к сожалению, не обратил внимание), то Вам вполне подошел бы JackRabbit - однако, это Java.

Могу посоветовать еще поискать по "Content Storage" и "Content Repository". Правда по первому Вы будете постоянно натыкаться на Документум...

А вообще, обычно самописные (да и комерческие!) стротся на базе ФС с деревом глубины 2-4 узла, чтобы не сильно напрягать ФС на чтение каталогов. А все метаданные по которым предстоит поиск - выносят в базу (в Вашм случае это может быть какая-нибудь встроенная СУБД, типа FireBierd, SQLite или MS SQL Compact Edition). Если правильно продумать алгоритмы сохранения, то можно с минимальными затратами иметь и нормальную транзакционность, и непротиворечивость (соответсвие между ФС и СУБД).
...
Рейтинг: 0 / 0
БД для изображений
    #34915789
Dimashik78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я решал подобную задачу для Fox-Pro. Задача была хранить не только файлы разных типов но и папки с файлами.
1. Создал таблицу в которой оригинальное имя, имя в моей базе (типа ХХХХХХ), дата, тип и пр.
а в папку бызы копировал файлы с именами типа
0AF56B.jpg
0AF56C.doc
либо
каталог
0AF56F – файлы как были, с оригинальными именами.

половину реализовывал через DLL написанную на DELPHI. таким образом это был сембиоз DBF и FS. все удачно работает и по сей день.
...
Рейтинг: 0 / 0
БД для изображений
    #34923320
DobPilot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimashik78Я решал подобную задачу для Fox-Pro. Задача была хранить не только файлы разных типов но и папки с файлами.
1. Создал таблицу в которой оригинальное имя, имя в моей базе (типа ХХХХХХ), дата, тип и пр.
а в папку бызы копировал файлы с именами типа
0AF56B.jpg
0AF56C.doc
либо
каталог
0AF56F – файлы как были, с оригинальными именами.

половину реализовывал через DLL написанную на DELPHI. таким образом это был сембиоз DBF и FS. все удачно работает и по сей день.

Ага, хорошая идея хранить данные в файлах, а для скорости использовать свой индекс -)))
...
Рейтинг: 0 / 0
БД для изображений
    #34924141
Dimashik78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DobPilotхорошая идея хранить данные в файлах, а для скорости использовать свой индекс -)))
Есть еще один самый большой плюс - если сохранять расширения , они без проблем открываюсся на редектирование в соответствующих программах.
...
Рейтинг: 0 / 0
БД для изображений
    #34927847
Serik Akhmetov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всю мета-информацию хранить в Fireberd Embedded,
данные в ФС.
...
Рейтинг: 0 / 0
22 сообщений из 47, страница 2 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД для изображений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]