|
|
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov DobPilot На реализацию core, потратил бы один ман дей, ибо все в данном случае просто -) Даже удаление отдельных картинок и повторное использование места внутри многогигабайтного файла? Что-то мне сомнительно, что автор справится... Угу.. это для меня в новинку. А если еще не удаление, а замещение с другим размером картинки? А выборка по дате сохранения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 16:08 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov DobPilot На реализацию core, потратил бы один ман дей, ибо все в данном случае просто -) Даже удаление отдельных картинок и повторное использование места внутри многогигабайтного файла? Что-то мне сомнительно, что автор справится... Posted via ActualForum NNTP Server 1.4 -) Допустим данные храним так : [размер файла1][имя файла1][данные1]...[размер файлаn][имя файлаn][данныеn] индекс файл к нему: [имя_файла1][смещение ведущее к данным1]...[имя_файлаn][смещение ведущее к даннымn] Соответвенно для удалаения можно сделать следущее: 1. Удалить запись на файл в файле индекса А для очистки мусора написать утилиту, которая бы просто создавала новый файл данных, по существуищим индексам, при окончании работы, она заменяла старый файл на новый -) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 18:26 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
LiYing Dimitry Sibiryakov DobPilot На реализацию core, потратил бы один ман дей, ибо все в данном случае просто -) Даже удаление отдельных картинок и повторное использование места внутри многогигабайтного файла? Что-то мне сомнительно, что автор справится... Угу.. это для меня в новинку. А если еще не удаление, а замещение с другим размером картинки? А выборка по дате сохранения? Ммм, ну если мы все новые картинки записываем в конец, картики в файле данных уже упорядоченны по дате сохранения в обратном порядке. -) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 19:06 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
LiYing(100Б - 30Кб) изображений формата JPEG, PNG ? ... 1) большое кол-во изображений: > от сотен тысяч до миллионов ... 5) небольшой размер СУБД (< 1Мб)если иметь базу в десятки гигабайт, то какой смысл жаться на размере исполняемого кода??? Вы таки огласите дополнительные требования на такое "хранилище". В частности поддержка транзакций, репликаций, сложных критериев поиска и т.п. Каким образом вы собираетесь поддерживать актуальность этой базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 09:14 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
miksoft LiYing(100Б - 30Кб) изображений формата JPEG, PNG ? ... 1) большое кол-во изображений: > от сотен тысяч до миллионов ... 5) небольшой размер СУБД (< 1Мб)если иметь базу в десятки гигабайт, то какой смысл жаться на размере исполняемого кода??? Вы таки огласите дополнительные требования на такое "хранилище". В частности поддержка транзакций, репликаций, сложных критериев поиска и т.п. Каким образом вы собираетесь поддерживать актуальность этой базы? В том то и дело что для поставленной задачи (кеширование картинок) оно, ИМХО, оптимально ибо обеспечивает наилучшее быстродействие. -) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 10:32 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
miksoft LiYing(100Б - 30Кб) изображений формата JPEG, PNG ? ... 1) большое кол-во изображений: > от сотен тысяч до миллионов ... 5) небольшой размер СУБД (< 1Мб)если иметь базу в десятки гигабайт, то какой смысл жаться на размере исполняемого кода??? Вы таки огласите дополнительные требования на такое "хранилище". В частности поддержка транзакций, репликаций, сложных критериев поиска и т.п. Каким образом вы собираетесь поддерживать актуальность этой базы? Я и не жмусь на размере исполняемого кода. Просто хотелось бы использовать небольшую СУБД, а не таких монстров как Oracle или MSSQL. Собственно доп. требований, кроме вышеозначенных и нет. Чтение/запись, выборка по дате. Транзакции, репликации не нужны, база однопользовательская. Что имеется в виду под " поддерживать актуальность этой базы"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 10:40 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
LiYingЧто имеется в виду под " поддерживать актуальность этой базы"?Вы отдаете базу пользователю и она до скончания веков остается неизменной и работает только на чтение? Или таки вам надо иногда обновлять ее содержимое? Если надо обновлять, то каким образом вы планируете это делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 10:51 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
Изобретателям велосипедов посвящается... Создайте нужную ФС _в файле_ и храните там свои картинки или что еще придумаете. Поддержку всех нужных операций ФС возьмет на себя. От вас же потребуется воспользоваться соответствующим драйвером ФС, коих множество. Если вы меня не понимаете, задумайтесь, почему у того же гугл эф размер кэша _фиксированный_. Ситуация прояснилась? ФС это та же самая БД, а драйвер ФС - СУБД. Только попроще, что вам и надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 12:34 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
MBGСоздайте нужную ФС _в файле_ Дайте, пожалуйста, ссылочку на инструкцию как это сделать в Windows. LiYingвыборка по дате MBGФС это та же самая БД, а драйвер ФС - СУБД. Только попроще, что вам и надо.Боюсь, что сильно проще, чем хотелось бы... Например, попробуйте выбрать из ФС все файлы, дата которых находится в некотором диапазоне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 12:43 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
miksoft MBGСоздайте нужную ФС _в файле_ Дайте, пожалуйста, ссылочку на инструкцию как это сделать в Windows. Мне виндоус мало интересен, признаться. Хотя кое-какие тулзы под эту ось я и делаю, мой способ создания виртуальных ФС вам вряд ли подойдет. А сама технология очень удобная и универсальная. miksoft MBGФС это та же самая БД, а драйвер ФС - СУБД. Только попроще, что вам и надо.Боюсь, что сильно проще, чем хотелось бы... Например, попробуйте выбрать из ФС все файлы, дата которых находится в некотором диапазоне. Вы серьезно считаете это проблемой? ФС хранит метаинформацию, см. как работает утилита find, которая решает указанную задачу и множество ей подобных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 12:49 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
MBG miksoft MBGСоздайте нужную ФС _в файле_ Дайте, пожалуйста, ссылочку на инструкцию как это сделать в Windows.Мне виндоус мало интересен, признаться.А автору интересен именно Windows, и, как следствие, ваш совет неприменим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 13:01 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
miksoft MBG miksoft MBGСоздайте нужную ФС _в файле_ Дайте, пожалуйста, ссылочку на инструкцию как это сделать в Windows.Мне виндоус мало интересен, признаться.А автору интересен именно Windows, и, как следствие, ваш совет неприменим. Неправильный вывод. Ясно сказано, что и под виндоус я это делаю, но мой способ автору топика будет мало понятен. Тем не менее, он может сделать то же самое иначе. Например, из тотал коммандера позаимствовав соответствующий модуль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 13:04 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
MBG miksoftБоюсь, что сильно проще, чем хотелось бы... Например, попробуйте выбрать из ФС все файлы, дата которых находится в некотором диапазоне.Вы серьезно считаете это проблемой? ФС хранит метаинформацию, см. как работает утилита find, которая решает указанную задачу и множество ей подобных.Считаю. Во-первых, метаинформация может быть искажена при некоторых операциях с файлами. Во-вторых, у автора есть требование LiYing2) возможность обращения к БД из программы написанной на DelphiЕсть в Delphi функциональный аналог предлагаемой вами команды find ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 13:08 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
MBGЯсно сказано, что и под виндоус я это делаю, но мой способ автору топика будет мало понятен. Ну так не томите, давайте уже ссылку. А понять, думаю, поймем. MBGТем не менее, он может сделать то же самое иначе. Например, из тотал коммандера позаимствовав соответствующий модуль.С которым можно работать из Delphi ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 13:10 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
miksoft MBGЯсно сказано, что и под виндоус я это делаю, но мой способ автору топика будет мало понятен. Ну так не томите, давайте уже ссылку. А понять, думаю, поймем. http://wiki.tcl.tk/2138 miksoft MBGТем не менее, он может сделать то же самое иначе. Например, из тотал коммандера позаимствовав соответствующий модуль.С которым можно работать из Delphi ? Можно, вызвав соответствующую dll. Надеюсь, в дельфи можно писать код, а не только мышкой формочки рисовать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 13:26 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
miksoft LiYingЧто имеется в виду под " поддерживать актуальность этой базы"?Вы отдаете базу пользователю и она до скончания веков остается неизменной и работает только на чтение? Или таки вам надо иногда обновлять ее содержимое? Если надо обновлять, то каким образом вы планируете это делать? Мыслится так: я отдаю программу пользователю, прога создает пустую базу, которую юзер будет сам наполнять (скажем из папки, содержащей изображения). Должны поддерживаться операции чтения, записи и удаления. Еще нужна возможность объединять аналогичные базы (т.е. созданную другим юзером) и "выделять/вырезать" какую-то часть БД и сохранять в качестве отдельной базы (к примеру, выбрать все картинки с длиной имени=5 симв. (или с датой=хх.хх.хх) и сохранить в отдельную БД такой же структуры). Т.е. возможность переключения между наборами БД. И все это сделать из программы, написанной на Delphi под win32. 2 MBG: это можно сделать таким способом, как вы предлагаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 13:43 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
LiYingИ все это сделать из программы, написанной на Delphi под win32. Логичнее выбирать технологию под задачу, а не грузить младенцев вилами. Ну да ладно. LiYing2 MBG: это можно сделать таким способом, как вы предлагаете? Если требуется объединять/разделять базы, то ФС наподобии фат32 мало пригодна. В таком случае лучше всего или БД метакит, очень подходящая для подобных вещей, или sqlite (когда-то нечто подобное я делал на плюсах для КПК с винмобайл). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 13:56 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
LiYingСпасибо. Это хорошие решения, но весьма дорогие и объемные. И слишком функциональные для моей задачи. СУБД нужна однопользовательская. Если бы не требование Delphi (на него я, к сожалению, не обратил внимание), то Вам вполне подошел бы JackRabbit - однако, это Java. Могу посоветовать еще поискать по "Content Storage" и "Content Repository". Правда по первому Вы будете постоянно натыкаться на Документум... А вообще, обычно самописные (да и комерческие!) стротся на базе ФС с деревом глубины 2-4 узла, чтобы не сильно напрягать ФС на чтение каталогов. А все метаданные по которым предстоит поиск - выносят в базу (в Вашм случае это может быть какая-нибудь встроенная СУБД, типа FireBierd, SQLite или MS SQL Compact Edition). Если правильно продумать алгоритмы сохранения, то можно с минимальными затратами иметь и нормальную транзакционность, и непротиворечивость (соответсвие между ФС и СУБД). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2007, 21:27 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
Я решал подобную задачу для Fox-Pro. Задача была хранить не только файлы разных типов но и папки с файлами. 1. Создал таблицу в которой оригинальное имя, имя в моей базе (типа ХХХХХХ), дата, тип и пр. а в папку бызы копировал файлы с именами типа 0AF56B.jpg 0AF56C.doc либо каталог 0AF56F – файлы как были, с оригинальными именами. половину реализовывал через DLL написанную на DELPHI. таким образом это был сембиоз DBF и FS. все удачно работает и по сей день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2007, 14:27 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
Dimashik78Я решал подобную задачу для Fox-Pro. Задача была хранить не только файлы разных типов но и папки с файлами. 1. Создал таблицу в которой оригинальное имя, имя в моей базе (типа ХХХХХХ), дата, тип и пр. а в папку бызы копировал файлы с именами типа 0AF56B.jpg 0AF56C.doc либо каталог 0AF56F – файлы как были, с оригинальными именами. половину реализовывал через DLL написанную на DELPHI. таким образом это был сембиоз DBF и FS. все удачно работает и по сей день. Ага, хорошая идея хранить данные в файлах, а для скорости использовать свой индекс -))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 18:55 |
|
||
|
БД для изображений
|
|||
|---|---|---|---|
|
#18+
DobPilotхорошая идея хранить данные в файлах, а для скорости использовать свой индекс -))) Есть еще один самый большой плюс - если сохранять расширения , они без проблем открываюсся на редектирование в соответствующих программах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2007, 10:51 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=34914999&tid=1553221]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 402ms |

| 0 / 0 |
