freeExec сначала достаточно просто позвонить и узнать. Ибо скорее всего ответ дан , но не дошел про какой то причине
1000 файлов в одной папке точно держит. 50 папок по 50 папок по 1000 файлов. Итого 250000.
Но, с точки зрения архитектуры, лучше делить семантически, сохраняя осмысленные имена файлов и папок.
Тем более, чт структура административно-территориального деления очень подходит для такого варианта.
Устаревшие файлы архивировать, убирать в другие хранилища и пр. Дискового пространства и мощностей никогда не бывает много.
По опыту эксплуатации подобных систем, правда без доступа к исходному коду - любое восстановление после сбоя превращается в ад, до того, что проще перезалить файлы заново.
ЗЫ На айпаде верстка поехала. Блоки друг под другом стали, а не рядом , как на скриншоте.
я бы согласился, если бы не знал, что упрусь в ограничения:
-
длине названия файла или папки
-
спецсимволы в названиях
-
короткие и бессмысленные названия
-
не уверен, но возможно и по длине URL
-
при загрузке на свой комп - прибавляем к пути папку сохранения
т.к. каждый файл имеет UUID, а папка помимо UUID еще и уникальный короткий номер “order_number”, планировал использовать их в качестве имен для хранения файлов/папок.
В простейшем сценарии:
-
сохранять все файлы в одной папке, в качестве имен использовать UUID (без расширения).
-
при скачивании, с помощью javascript(?) переименовывать UUID в имя файла с расширением.
-
т.к. дамп базы будет доступен - восстановить названия самостоятельно (локально) будет относительно просто, при необходимости
Отличная вещь. решает проблемы с SilverLight. Большое спасибо! удобно пользоваться.
Не решает, в том то и дело. Облегчает, да. Вот ещё историю изменений прикрутить и будет замечательно.
Конечно не надо называть файлы “план современного использования и комплексной оценки территории пгт. Светлый Солнечного сельского поселения Мирного района Плодородного края Российской Федерации.pdf” как это иногда предлагает fgis.
Когда предлагал учитывать семантику, имел ввиду нечто подобное
/<код страны>/<код региона>/<название поселения>/[название нп] в пути и
<тип документа><статус><дата присвоения статуса>[_часть#из#].ext в качестве имени файла
В 255 символов должно поместиться.
Еще есть проблема. Как с мэйла получить ссылку на конкретный файл программно? API то никакого нет.
хм… надо обдумать (хотя с ходу и не нравится) и посчитать на примерах с самыми длинными названиями поселений/нп.
На данный момент более приоритетным является статистика и история изменений… но без помощи с запросами, буду долго ковыряться. Пытаюсь разобраться с терминологией postgresql, т.к. даже загуглить примеры запросов (для сбора статистики) сложно, не зная что искать.
freeExec ты в комментариях к заметке предлагал показывать дату самого нового документа в списке регионов.
Если поможешь с запросом, будет здорово - я постараюсь побыстрее внести в проект.
Наверное придется или отдельную таблицу делать или расширить atd - добавив столбец под дату.
Нагенирировать ссылок и отдачу переложить на скрипты майлру - неудобно, но как вариант… дополнительно вкладывая список фалов (txt/html) в каждую папку(документ), например.
Firebug показывает ссылки типа: _https://cloud.mail.ru/api/v2/user/space
Хотя да - официально нет и видимо не предвидится в ближайшее время, но используя бесплатные сервисы и решения - трудно ожидать скорости, удобства и логичности, что в ОСМ, что в других любых компаниях и проектах.
P.S. А про платные… мне они интересны чисто теоретически, в статье “Linux и бесплатные облачные хранилища” упоминается интересный тарифный план Amazon (если еще существует)
Первые три месяца бесплатно https://www.amazon.com/clouddrive/home
Это более простое по сравнению с https://aws.amazon.com/ru/glacier/ где нужно самому считать расходы на хранение
https://fastglacier.com/
https://github.com/basak/glacier-cli#using-pipes
Так сложно что-то сказать. Неплохо бы выложить код и скрипты создания БД на гитхаб и написать какую-нибудь инструкцию по развертыванию. Думаю, помощь не заставит себя ждать
Чисто теоретически можно получить терабайт от Яндекса по цене банки Гиннеса в год. С WebDAV-ом и API. Они после окончания оплаченного периода не блокируют загрузку и не удаляют файлы. Догружать раз в полгода-год изменения, между загрузками хранить их на бесплатных аккаунтах.
Да и стоимость за год не больше оплаты дня работы программиста.
хм… я думал выложенного дампа хватит, чтобы помочь с запросами SQL
там вначале есть (для всех 3-х таблиц) “CREATE TABLE …” могу продублировать сюда, если надо.
Могу только добавить, что на OpenShift используется PostgreSQL 9.2.13
или я что-то не понимаю - и для помощи с SQL запросами, действительно необходимы исходники всего сайта?
пока продвинулся не сильно, но хоть что-то… вот например я не смог сделать одним запросом, пришлось добавить столбец
ALTER TABLE file ADD COLUMN file_ext text;
update file set file_ext=right(upper(file_name), position('.' in reverse(file_name)) -1 ) WHERE length(right(upper(file_name), position('.' in reverse(file_name)) -1 )) < 5;
SELECT file_ext, COUNT(file_ext) AS stat FROM file GROUP BY file_ext ORDER BY stat DESC;
в итоге получил такую статистику https://goo.gl/BXcYZj
не хватает еще как-то вставить TRIM и в зависимости от расширения - расставить категории: архив, pdf, текстовый, растровый, векторный или векторный формат, который скачать невозможно… и можно будет рисовать графики
кстати датчане (http://gis-lab.info/forum/viewtopic.php?f=33&t=20111) сегодня мне написали письмо с вопросом - как получить SHP файлы… пришлось расстроить и объяснить, что такие файлы планирую скрыть из показа, т.к. они недоступны на ФГИС ТП.
привел цитаты из старой инструкции http://minregion-ra.ru/wp-content/uploads/2013/10/FGIS-TP-instruction.doc
Картографические материалы для загрузки в базу данных ФГИС ТП представляются в векторном виде в обменных форматах: MIF/MID, TAB, DWG, SHP, в государственной или местных системах координат, установленных в соответствии с действующим законодательством.
В рамках первой очереди ФГИС ТП в системе не предусмотрен просмотр данных в векторных форматах.
Внимание! Ранее загруженные, а также вновь размещаемые файлы векторных форматов будут автоматически скрыты в системе от просмотра и не доступны для скачивания!
в зависимости от расширения - расставить категории: архив, pdf, текстовый, растровый, векторный или векторный формат, который скачать невозможно…
TAB может быть геопривязкой растра, так что не увлекайтесь
Восстановил базу из дампа на локалхосте.
Запрос выше можно записать без дополнительных колонок так:
SELECT (right(upper(file_name), position('.' in reverse(file_name)) -1 )) file_ext, COUNT(1) stat
FROM file GROUP BY 1 ORDER BY 2 DESC;
но:
Суммарное время выполнения запроса: 6907 ms.
207 строк получено.
Что есть очень очень плохо.
Если делать доп. колонку, то по-хорошему нужно писать триггеры на вставку/изменение с расчетом значения или вести расчет значения при загрузке на клиенте. Для этого надо ковырять код.
Еще код на github под свободной лицензией нужен для спокойствия.
Бывает, что некое ООО “РОги и нОги” выигрывает конкурс на модернизацию информационной системы некоего федерального ведомства со сроком реализации семь дней и бюджетом ХХ миллионов. Не хочется в подобном участвовать.
А помочь общему делу - завсегда, по мере возможностей.
Скачивание файла с ФГИС
hттp://фгис.economy.гав.ру/.....=dfaa031b-db2d-4c81-a11e-5717d4508ff2&fileIds=ccfaac08-8017-4451-9554-76aebc20af22&userId=1&isExport=True&isFileContent=True
documentId и fileIds из таблицы file в дампе.
Сервер фгис не отдает в http заголовок имя файла. Ссылка для красивой отдачи имени файла для современных броузеров:
<a href="ссылка выше" download="имя файла из таблицы file">имя файла из таблицы files</a>
ЗЫ Там оказывается столько интересного.
Скачивание файла с ФГИС
А это работает для jpeg ? Без куки, скрытых параметров и магических хеадеров ?
Edit
Было бы полезно добавить в таблицу файлов еще 2 колонки: srs и wld,
для координатной системы и 6 реальных чисел для world file.
Если кто любит парсить данные то вот, вышел csv файл “Численность постоянного населения на 1 января 2015 года” - http://www.gks.ru/opendata/dataset/7708234640-ca-08-002
Совсем бездумно втянивать не надо, так как ОКТМО там немного устаревший, но на самом деле отличия вполне терпимые и полуавтомат подойдёт.
Оказывается много от нас скрыто на ФГИС ТП
Если специалисты уже пересчитали МСК в “WGS84:EPSG3857” (интересное сокращение)
то и WMTS с геосервером им не очень-то и нужен.
Наступил новый год, можно подводить итоги
Кстати, теме год - с чем всех поздравляю проделано много работы, которая позволила внести и уточнить данные по границам страны, населенными пунктам и дорогам.
2014-04-25
Муниципальные районы - 1817 из 1817
Городские поселения - 906 из 1674
Сельские поселения - 7207 из 185862015-04-26
Муниципальные районы 1823 из 1823
Городские поселения 1107 из 1658
Сельские поселения 10650 из 18698
А вот что сейчас:
2016-01-03
Городские поселения - 1283 из 1615
Сельские поселения - 12543 из 18376
Темпы немного упали, но теперь картина не так печальна как 2 года назад. Пусть в ОСМ не всё отрисовано, но прогресс есть и цель кажется уже не за горизонтом
Наткнулся на очень странную границу - город Инта, “почти квадрат” - http://www.openstreetmap.org/way/213129337 который захватывает другие НП. В таком виде в ОСМ существует несколько лет.
Темпы действительно упали:
Кстати, теме год - с чем всех поздравляю проделано много работы, которая позволила внести и уточнить данные по границам страны, населенными пунктам и дорогам.
2014-04-25
Муниципальные районы - 1817 из 1817
Городские поселения - 906 из 1674
Сельские поселения - 7207 из 185862015-04-26
Муниципальные районы 1823 из 1823
Городские поселения 1107 из 1658
Сельские поселения 10650 из 18698
А вот что сейчас:
2016-01-03
Городские поселения - 1283 из 1615
Сельские поселения - 12543 из 183762016-08-03
Городские поселения - 1323 из 1601
Сельские поселения - 12968 из 18236
Темпы безусловно упали, но теперь картина не так печальна как 2 года назад. Планирую устроить какой-нибудь конкурс для разогрева темы, но пока нужно напилить некоторое количество отчётов чтобы скучный процесс стал бы немного интереснее. Удивительно что в числе “неудачников” достаточно центральные или населённые регионы - Рязанская область, Брянская область, Республика Башкортостан, Самарская область, Костромская область, Тамбовская область, Белгородская область