Является ли чтение ГИС Tile Server из распределенной базы данных Postgres хорошим производственным проектом или нет?

Мы готовимся перенести нашу текущую двухсерверную архитектуру на два новых сервера, и я хотел бы принять самое разумное решение о том, как мы используем эти машины.

Наша текущая установка развивалась по частям, без особого планирования на будущее, и IMO имеет неэффективное развертывание ресурсов на стороне сервера - то есть две системы, каждая из которых работает с Postgres, Geoserver и Drupal. У одного из них есть экземпляр MySQL, питающий его сайт Drupal, а у другого - стек рендеринга Tilestache/Mapnik в дополнение к работающему, но неиспользуемому экземпляру Geoserver. Поскольку обе системы отображают одни и те же базовые данные ГИС, все наши задачи ETL дублируются, и единственное различие между ними заключается в системе координат геометрии. Я знаю.:)

Некоторые замечания по требованиям ввода / вывода. Оба сайта Drupal являются домашними страницами низкого давления с очень небольшой активностью записи / вставки. Я бы охарактеризовал общий спрос на обе базы данных как интенсивный для чтения. (На самом деле, две таблицы настолько интенсивны для чтения, что я хотел бы кэшировать их в ОЗУ, если это возможно.) Однако у нас есть один API-интерфейс вставки, который собирает данные о шаблонах использования приложения - например, идентификатор сеанса создается, когда наше одностраничное приложение изначально загружается, затем регистрируется какое-то последующее взаимодействие, например, включение / выключение слоев, измерение элемента на карте, тип и расположение элементов, "нажатых" пользователем, и т. д. Оно составляет около 15 тыс. вставки в обычный день, но необходимо обрабатывать до 50 тыс. вставок в день на основе некоторых максимальных значений при группировке по дням. Однако эти таблицы используются только внутри компании и редко запрашиваются. Наконец, я ожидаю, что само рендеринг тайлов, вероятно, требует интенсивной записи на диск.

По понятным причинам я не хочу дублировать нашу текущую архитектуру. Моя основная цель - создать единую пространственную базу данных, использующую типы геометрии одной и той же системы координат, чтобы упростить нашу ETL.

Поэтому мой главный вопрос: лучше ли, чтобы все данные обслуживались с одной машины, настроенной и настроенной как автономная база данных? И будет ли программное обеспечение для рендеринга плитки работать лучше в той же системе, что и база данных, или же следует установить средства визуализации в другую систему, на которой будет работать веб-сервер (Apache). Стоит упомянуть: Geoserver и Tilestache должны быть настроены для обработки веб-запросов, пересылаемых через Apache, Geoserver находится на Tomcat::8080 и Tilestache с использованием mod_python.

Если мы используем архитектуру распределенной базы данных, меня беспокоит то, что ПРОВОДА между двумя серверами станет критической точкой, особенно учитывая, что средства рендеринга плиток будут очень часто делать запросы на геометрические коллекции, которые являются тяжелым типом данных. Конечно, я также был бы признателен за любые другие идеи о лучшей архитектуре.

0 ответов

Другие вопросы по тегам