Я ищу предложения по базе данных для больших наборов пространственных основных данных. Сами по себе данные не являются реляционными, но могут быть сформулированы как таковые. Данные как есть структурированы как:
широта, долгота, временной ряд ("массив" целых чисел)
В настоящее время мы используем MySQL, который не очень хорошо работает с нашей настройкой больших таблиц. Индексирование пространственной точки в нашей самой большой таблице (420 миллионов строк, размер 500 ГБ) заняло неделю, прежде чем мы отказались. В настоящее время мы также сталкиваемся с частыми сбоями серверов (все еще работаем над тем, почему).
Из-за этих проблем я ищу предложения по другим базам данных. Oracle был бы вариантом, но мне интересно, если бы мы просто обменяли сложную проблему на сложную проблему. Кто-нибудь знает о хорошем опыте использования пространственных данных с другими базами данных?
PostgreSQL вместе с PostGIS расширение должно быть очень хорошим совпадением. PostGIS широко используется e. грамм. посредством OpenStreetMap project, поэтому он должен иметь возможность обрабатывать ваши данные.
OpenStreetMap использовался для использования MySQL с пространственным расширением на основе пользовательских квадратиков. Код для этого, должно быть, где-то еще валяется. На самом деле это сработало. Насколько я знаю, к переезду побудили не столько пространственные запросы. Более общая низкая производительность с операциями с базой данных (оптимизация запросов и изменение схем без блокировки таблицы).
Проект перешел на использование Postgres для своей основной базы данных в 2009 году. Фактически, это не PostGIS. OpenStreetMap даже не использует типы геометрии postgres в своей основной базе геоданных. Сервер рендеринга тайлов OpenStreetMap (и все, кто настраивает сервер рендеринга тайлов Mapnik с данными OpenStreetMap) делает используйте базу данных PostGIS, но это отдельная система.
Обратите внимание, что PostGIS - это просто Postgres с множеством функций, добавленных в базу данных.
Просто добавлю, что вся «тяжелая» ГИС Oracle - это дополнительная плата. вариант к их Enterprise Edition, так что это может стать дорого.
Подмножество функций, называемое Локатор, является частью стандартной версии.
Вы не даете подробностей о том, какую обработку вы фактически выполняете с данными, поэтому сложно определить, что вам нужно. Я предполагаю, что, как минимум, вы будете производить какие-то вычисления «расстояния» или «ближайшего». В противном случае вам может даже не потребоваться рассматривать данные как «пространственные».
Также трудно сказать, какое из предложений было бы больше проблемой, чем средством решения проблем. Многое из этого зависит от набора навыков вашей группы (или набора навыков, который вы можете нанять). Вероятно, существует больший объем опыта Oracle, чем у других, о которых вы упомянули (которые не включают SQL Server, но, возможно, также стоит рассмотреть).