Більше

СУБД та архітектура ArcSDE для великого (переважно непросторового) набору даних

СУБД та архітектура ArcSDE для великого (переважно непросторового) набору даних


У мене є ~ 1000 фіксованих точок, що представляють станції збору даних з декількома датчиками, і csv, що становить ~ 4,5 ГБ значень у форматі:

ідентифікатор точкового датчика вимірюваний час вимірювання 50345 500 темпа 1/1/2011 13:55 72,81 50346 501 tempb 31.10.2011 14:00 75,65 55457 500 gaght 31.10.2011 01:00 6.56

(Дані схожі на датчики потоків USGS, але з іншої мережі та іншого формату.)

Я дещо знайомий з дизайном бази геоданих, але маю невеликий досвід роботи з можливостями різних СУБД, які працюють з ArcGIS. Я розглядаю можливість використання варіанта морської моделі даних для дизайну бази геоданих, але я трохи нечіткий щодо архітектури СУБД ArcSDE, яку я повинен використовувати.

Здається, що стосується обладнання, я хочу мати спеціальну машину для СУБД та SDE з прямим гігабітним мережевим підключенням до настільної машини під керуванням ArcInfo. Заради вартості та "відкритості" я хотів би використовувати postgreSQL з postGIS (слідує MS SQL Server Express, оскільки я більше знайомий з T-SQL), але я не впевнений у наслідках, оскільки такий великий набір даних. Крім того, з того, що я досліджував, у PostGRE набагато краще вбудовано "вікно" для запитів (наприклад, розрахунок середнього показника 2-тижневої темпи для рухомого вікна). Якщо це має значення, я хотів би мати можливість повністю завантажити даний набір даних в оперативну пам'ять, якщо я знаю, що буду широко використовувати його для конкретного робочого сеансу. (Подібно до цієї корисної відповіді)

До суті:

  1. Чи є зниження продуктивності за допомогою PostGIS, оскільки для нього існує лише 32-розрядна версія SDE? Чи можу я використовувати 64-розрядний PostGRE, авторизувати його за допомогою 32-розрядного SDE, а потім використовувати пряме з'єднання з PostGRE, щоб уникнути 32-розрядного "вузького місця"?
  2. Чи є перевага зберігати основну частину даних "не просторовою", тому я міг би 64-розрядний PostGRE виконувати запити, а потім з'єднувати результати з точками в ArcMap?
  3. Чи є кращий загальний підхід до управління великою кількістю даних за допомогою postGRE, враховуючи 32-розрядне обмеження ArcSDE?

Інші міркування:

  • Я використовую ArcInfo 10.0 з SP3 і маю членство в EDN, тому можу досить вільно експериментувати з мінімальними витратами. У мене також є MS SQL Server 2008 R2 для розробників, якщо це необхідно.
  • Очевидно, що настільною машиною мають бути вікна, але я можу запустити windows або linux для машини СУБД, якщо є перевага.
  • Існує ряд статичних запитів (наприклад, двотижнева ковзаюча середня), в яких я можу зберігати результати, але я також хотів би мати можливість швидко виконати спеціалізований запит, якщо це необхідно. (наприклад. Який мінімум середньодобових температур від станцій 003, 007 і 104, між 01.01.2011 та 31.01.2011).
  • Я прочитав цей посібник, але вважаю, що він переважно неоднозначний і не корисний для пошуку плюсів чи мінусів щодо конкретних сценаріїв (багато інформації, але мало корисних вказівок. Чи справді я повинен вірити, що різниці у продуктивності НЕ існує використовуєте чи не користуєтесь службою ArcSDE?)

У вас вже є ArcSDE для Postgres? Вам це потрібно?

Можливо, вам вдасться зберегти всі свої непросторові та просторові дані в базі даних PostGIS, об’єднати дані в БД та перетягнути їх до дугової карти як шари запитів у Arc10.

Крім того, ви можете переглянути ST-Links (докладніше обговорення тут і тут) для безпосереднього підключення ArcMap до PostGIS.

Жоден із цих варіантів, ймовірно, не надасть вам усіх функціональних можливостей, які вбудовано в ArcSDE, але залежно від вашої ситуації вони можуть бути життєздатними альтернативами.


Для запису:

  • Бібліотеки корпоративних баз геоданих були доступні як для 32-розрядних, так і для 64-розрядних серверів за версією 10.0, а з ArcGIS 10.1 постачалися виключно 64-розрядні. Є ніколи був «32-розрядним вузьким місцем» у клієнтських програмах ArcSDE (на момент виходу першої публікації збільшений розмір 64-розрядних команд фактично уповільнив продуктивність, хоча сучасні процесори зробили різницю у беззбитковості).
  • Рідко буває перевагою розподілу просторових та непросторових даних. Завжди повільніше приєднуватися до таблиць, які ніколи не повинні були бути розділені за допомогою продуманого дизайну бази даних.
  • У ArcSDE не було 32-розрядних обмежень-клієнт бази даних використовує лише один рядок одночасно (хоча API зазвичай передає більше рядків, ніж у буфері одночасно, це не загрожує перевищенням простору процесу 32-розрядна програма). ArcGIS Desktop залишається 32-розрядною програмою, але ArcPy підтримується у 64-розрядній версії (у 64-розрядному модулі фонової обробки), а ArcGIS Server є виключно 64-розрядною з ArcGIS 10.1. ArcGIS Pro-це також 64-розрядна програма.
  • Якщо вікі -сайт System Design каже, що немає різниці між використанням і невикористанням сервера додатків, це тому, що вони перевірили його тридцятьма різними способами і не знайшли статистично значущої різниці. Справа дискусійна, оскільки сервери додатків застаріли в 10.2, а недоступні в 10.3 та 10.4.

Подивіться відео: Introduction to sql databases. Intro to sql database introduction to sql course. SQL Queries