как хранить пространственные файлы в MySQL - PullRequest
4 голосов
/ 06 августа 2010

что является лучшим способом для хранения пространственных данных в MySQL (скажем, треки) внутренне или как ссылки на внешние плоские файлы?

Ответы [ 3 ]

2 голосов
/ 18 августа 2010

MySQL имеет пространственные расширения для хранения географических объектов (объектов с геометрическими атрибутами).Более подробная информация доступна там .

1 голос
/ 15 июня 2012

«Лучший способ» хранения данных зависит от нескольких факторов, которые вы сами должны учитывать:

  • Являются ли файлы слишком большими?+ 50MB?MySql может превышать время ожидания для длинных транзакций.

  • Вы работаете в закрытой сетевой среде, в которой файловая система защищена и контролируется?

  • вы планируете обслуживать только сырые файлы?Нет смысла перерабатывать их в формат MySql только для повторной обработки при выходе.

  • Ожидается ли, что «нетехнические» люди захотят получить доступ к этим данным?«нетехническим» людям обычно не нравится запутанная информация.

  • У вас есть возможность в вашем приложении (если у вас есть приложение) читать пространственные данные в формате, который MySqlхранит это в?Нет смысла обрабатывать и сохранять файл .gpx или .shp в формате MySql, если вы не можете прочитать его оттуда.

  • У вас есть система / служба, которая будет контролироватьдобавление / удаление / изменение структуры файла и соответствующих записей базы данных?Синхронизация базы данных и файловой системы - непростая задача.Особенно, если учесть участие «нетехнических» людей.

1 голос
/ 09 августа 2010

Я бы порекомендовал использовать mysql, если вы хотите хранить его как явно пространственную информацию. Вместо этого я бы порекомендовал Postgresql / PostGIS, если вы хотите остаться с Open Source DB. MySQL едва реализует любую их пространственную функциональность. Если вы внимательно прочитаете документ, большинство пространственных функций еще предстоит реализовать.

Если вам не нужна пространственная информация, сохраните ее непосредственно в БД.

Если вы дадите дополнительную информацию о том, что вы хотите сделать, мы могли бы помочь больше

...