Стоит ли хранить растры?
- tsatsara
- Интересующийся
- Сообщения: 41
- Зарегистрирован: 30 авг 2011, 12:22
- Репутация: 5
- Откуда: СПб
Стоит ли хранить растры?
Здравствуйте! Размышляю, стоит ли хранить растры в той же базе, где лежат наши вектора.
Было бы очень удобно, с одной стороны, с другой стороны, не совсем понятно, как именно их хранить.
сейчас просто для теста загрузила etopo, он довольно медленно отображается в связке qgis+postgis,
без всяких настроек и без создания пирамид. К тому же стилистику не хранит.
итак, вопрос следующий: стоит ли хранить и если стоит, то как правильно?
Где почитать на эту тему?
сейчас весь растр в виде одной строки таблицы. Меня это немного испугало.
Было бы очень удобно, с одной стороны, с другой стороны, не совсем понятно, как именно их хранить.
сейчас просто для теста загрузила etopo, он довольно медленно отображается в связке qgis+postgis,
без всяких настроек и без создания пирамид. К тому же стилистику не хранит.
итак, вопрос следующий: стоит ли хранить и если стоит, то как правильно?
Где почитать на эту тему?
сейчас весь растр в виде одной строки таблицы. Меня это немного испугало.
Последний раз редактировалось tsatsara 15 апр 2015, 21:19, всего редактировалось 1 раз.
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Стоит ли хранить растры?
У нас в проекте (ах) если пирамида (и/или тайлы), то однозначно в базе. Иначе на диске
- tsatsara
- Интересующийся
- Сообщения: 41
- Зарегистрирован: 30 авг 2011, 12:22
- Репутация: 5
- Откуда: СПб
Re: Стоит ли хранить растры?
Спасибо!SergeyRyzhkov писал(а):У нас в проекте (ах) если пирамида (и/или тайлы), то однозначно в базе. Иначе на диске
а как правильно в базе?
сейчас у растр тестовый - етопо - просто лежит в одной ячейке таблицы, это мне не нравится.
Даже большие полигоны вроде осм границ областей медленно обрабатываются, что говорить о растре.
как-то пирамиды построить, поделить его? или это нормально, что он так лежит?
и если у нас будет покрытие в высоком разрешении на целую территорию?
может быть, правильнее что-то вроде базы данных изображений - они лежат на сервере, а в базе хранятся только ссылки на них, может, метаданные?
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Стоит ли хранить растры?
Взять и засунуть растр в поле таблицы - дело совершенно лишенное смысла и никак не совершенствующее производительность. Единственное исключение - когда это делается ради разграничения прав доступа к данным, потому что средствами БД это сделать на уровне отдельного приложения проще, чем городить разрешения в файловой системе, которые для другого приложения могут оказаться строго противоположными.
Хранение растров в базе имеет "физический" смысл тогда, когда данные разложены на масштабные слои (пирамида) и/или нарезаны на тайлы. В этом случае, правильно организованное хранение в базе дает выигрыш при выборке нужных фрагментов (организации произвольного доступа, то есть), т.к. часть работы можно переложить на саму БД, а не выполнять ее всю внутри приложения с тем, чтобы потом только дернуть файловую систему.
Хранение растров в базе имеет "физический" смысл тогда, когда данные разложены на масштабные слои (пирамида) и/или нарезаны на тайлы. В этом случае, правильно организованное хранение в базе дает выигрыш при выборке нужных фрагментов (организации произвольного доступа, то есть), т.к. часть работы можно переложить на саму БД, а не выполнять ее всю внутри приложения с тем, чтобы потом только дернуть файловую систему.
- tsatsara
- Интересующийся
- Сообщения: 41
- Зарегистрирован: 30 авг 2011, 12:22
- Репутация: 5
- Откуда: СПб
Re: Стоит ли хранить растры?
Спасибо, буду делить понемногу тогда.
На пирамиды и тайлы
На пирамиды и тайлы
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Стоит ли хранить растры?
Это тоже зло. Так что все зависит от задач! Не стоит из СУБД делать панацею. Она тоже живёт на диске
[ Сообщение с мобильного устройства ]
[ Сообщение с мобильного устройства ]
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Стоит ли хранить растры?
Посмотрите в сторону каталога растровtsatsara писал(а):Спасибо, буду делить понемногу тогда.
На пирамиды и тайлы
http://www.postgis.org/documentation/ma ... _Output_CS
Если решите делать на файловой системе, то не просто ссылки желательно хранить, а использовать pg_largeobject
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 23 фев 2015, 12:28
- Репутация: 0
Re: Стоит ли хранить растры?
Я бы посоветовал Вам поэксперементировать с функциями lo_import/lo_export. Они оптимизированы под хранение больших файлов и привязки их к БД
Например
тест на профориентацию онлайн
Например
Код: Выделить всё
CREATE TABLE image (
name text,
raster oid
);
INSERT INTO image (name, raster)
VALUES ('beautiful image', lo_import('/etc/motd'));
SELECT lo_export(image.raster, '/tmp/motd') from image
WHERE name = 'beautiful image';
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость