יותר

ארכיטקטורת DBMS ו- ArcSDE למערך נתונים גדול (לרוב לא מרחבי)


יש לי ~ 1000 נקודות קבועות המייצגות תחנות איסוף נתונים עם חיישנים מרובים, ו- csv שהוא ~ 4.5GB של ערכים בפורמט:

מזהה חיישן נקודתי מדידת ערך 50345 500 טמפה 1/1/2011 13:55 72.81 50346 501 טמפ '31/10/2011 14:00 75.65 55457 500 gaght 31/10/2011 01:00 6.56

(הנתונים דומים למדידי זרם של USGS, אך מרשת אחרת ופורמט אחר.)

אני מכיר מעט את עיצוב גיאוגרפיה, אך אין לי מעט ניסיון ביכולות ה- DBMS השונות שעובדות עם ArcGIS. אני שוקל להשתמש בגרסה של מודל הנתונים הימיים לעיצוב בסיס הגיאודאטה, אבל אני קצת מטושטש לגבי הארכיטקטורה של DBMS ArcSDE שאני צריכה להשתמש בה.

נראה כי מבחינת חומרה, ארצה מכונה ייעודית עבור DBMS ו- SDE עם חיבור ישיר של ג'יגה -ביט למחשב שולחני המריץ ArcInfo. מטעמי "פתיחות", אני רוצה להשתמש ב- postgreSQL עם postGIS (ואחריו MS SQL Server Express, כפי שאני מכיר יותר את T-SQL), אך אינני בטוח בהשלכות בגלל היותי כה גדולה מערך נתונים. כמו כן, ממה שחקרתי, PostGRE בנויה הרבה יותר טוב ב"חלונות "לשאילתות (למשל חישוב ממוצע טמפ 'של שבועיים בתנועה). אם זה עושה את ההבדל, הייתי רוצה להיות מסוגל לטעון מערך נתונים נתון כולו לתוך זיכרון RAM אם אני יודע שאשתמש בו בהרחבה לפגישת עבודה ספציפית. (בדומה לתשובה מועילה זו)

עד לנקודה:

  1. האם יש הפחתת ביצועים על ידי שימוש ב- PostGIS, מכיוון שיש לה רק גירסת 32 סיביות של SDE? האם אוכל להשתמש ב- 64 סיביות PostGRE, לאשר זאת באמצעות 32 סיביות SDE ולאחר מכן להשתמש בחיבור ישיר ל- PostGRE כדי להימנע מ"צוואר בקבוק "של 32 סיביות?
  2. האם יש יתרון בשמירה על עיקר הנתונים "לא-מרחביים", כך שאוכל לתת ל- PostGRE 64 סיביות לבצע את השאילתות ואז להצטרף לתוצאות לנקודות ב- ArcMap?
  3. האם יש גישה כוללת טובה יותר לניהול כמות נתונים גדולה באמצעות postGRE, בהתחשב במגבלה של 32 סיביות של ArcSDE?

שיקולים אחרים:

  • אני משתמש ב- ArcInfo 10.0 עם SP3, ויש לי חברות ב- EDN, כך שאוכל להתנסות באופן די חופשי בעלות מינימלית. יש לי גם MS SQL Server 2008 R2 למפתחים, במידת הצורך.
  • מחשב שולחני יהיה כמובן חייב להיות חלונות, אבל אני יכול להריץ חלונות או לינוקס עבור מכונת DBMS אם יש יתרון.
  • יהיו מספר שאילתות סטטיות (למשל ממוצע נע של 2 שבועות) שאוכל לאחסן את התוצאות מהן, אך אני גם רוצה להיות מסוגל לבצע שאילתה מיוחדת במהירות במידת הצורך. (למשל מהו המינימום של הטמפרטורות הממוצעות היומיות מתחנות 003, 007 ו- 104, בין 1/1/2011 ו- 31/1/2011.)
  • קראתי את המדריך הזה, אך נראה שהוא ברובו מעורפל ואינו שימושי למציאת יתרונות או חסרונות בנוגע לתרחישים ספציפיים (הרבה מידע, אך מעט הדרכה שימושית. האם אני באמת אמור להאמין שאין הבדל בביצועים לפי משתמש בשירות ArcSDE או לא?)

האם יש לך כבר ArcSDE ל- Postgres? אתה צריך את זה?

ייתכן שתוכל לשמור את כל הלא-מרחביים והמרחבים שלך ב- dB PostGIS, להצטרף לנתונים ב- DB ולמשוך אותם לתוך arcmap כשכבות שאילתות ב- Arc10.

לחלופין, תוכל לבדוק את ST-Links (דיון נוסף כאן וכאן) לחיבור ArcMap ל- PostGIS ישירות.

סביר להניח שאף אחת מהאפשרויות הללו לא תיתן לך את כל הפונקציונליות ש- ArcSDE בנתה, אך בהתאם למצבך הן עשויות להוות חלופות ראויות.


לפרוטוקול:

  • ספריות של בסיס גיאוגרפי ארגוני היו זמינות עבור שרתים של 32 סיביות ו -64 סיביות ב -10.0, ונשלחו בלעדית 64 סיביות מאז ArcGIS 10.1. היה לעולם לא היה "צוואר בקבוק" של 32 סיביות ביישומי לקוח ArcSDE (נכון למועד ההודעה המקורית, גודל ההוראה המוגדל של 64 סיביות למעשה האט את הביצועים, אם כי מעבדים מודרניים היוו את ההבדל לשיוויון).
  • לעיתים רחוקות יש יתרון לחלוקת נתונים מרחביים ולא מרחביים. תמיד איטי יותר להצטרף לטבלאות שמעולם לא היה צריך להיות מפוצל על ידי עיצוב מסד נתונים שקול.
  • לא הייתה מגבלה של 32 סיביות ב- ArcSDE-לקוח מסד נתונים משתמש רק בשורה אחת בכל פעם (למרות שבדרך כלל ה- API מעביר יותר שורות מזה במאגר, אין סכנה לחרוג ממרחב התהליכים של יישום 32 סיביות). ArcGIS Desktop נשאר יישום של 32 סיביות, אך ArcPy נתמך בטעם 64 סיביות (במודול עיבוד רקע 64 סיביות), ו- ArcGIS Server היה בלעדי 64 סיביות מאז ArcGIS 10.1. ArcGIS Pro הוא יישום של 64 סיביות גם כן.
  • אם אתר הויקי של עיצוב מערכת אומר שאין הבדל בין שימוש ובין שימוש בשרת יישומים, זה בגלל שהם בדקו אותו שלושים דרכים שונות ולא מצאו הבדל מובהק סטטיסטית. הנקודה חשובה מכיוון שרתי היישומים הוצאו משימוש ב- 10.2 ואינם זמינים ב- 10.3 ו- 10.4.


צפו בסרטון: GeodatabaseBasicsPart1 (אוֹקְטוֹבֶּר 2021).