أكثر

MS SQL المكاني كمخزن بيانات مركزي؟

MS SQL المكاني كمخزن بيانات مركزي؟


لقد كنت أعمل على فتح بياناتنا المكانية من نظام ملكية إلى نظام يمكن قراءته بواسطة المزيد من المنتجات (MapGuide ، ESRI ، gvSIG ، Map3D ، إلخ ...)

لقد قررت استخدام SQL Spatial نظرًا لأن لدينا خادمًا داخليًا متاحًا لنا ويمكننا الارتباط بالأنظمة الأخرى بسهولة كافية من خلاله.

قبل أن أستخدمه فعليًا كمخزن بيانات مركزي ، هل هناك أي شيء يجب أن أكون على علم به يمكن أن يقلل الأداء بشكل كبير؟


جوابي لا يتعلق بالأداء ، ولكن يجب أن تدرك أنك مقيد بالميزات البسيطة ، ومجموعة محدودة من استعلامات SQL المكانية. لا يعني هذا بالضرورة أن هذا أمر سيئ ، على الرغم من أنني سرعان ما وجدت نفسي أرغب في بعض استعلامات SQL المتاحة في Postgres أو Oracle. الميزات البسيطة التي أحبها حقًا ، تجعلها بسيطة تتيح لك اتباع ممارسات قواعد البيانات الجيدة ، وتتيح لك تحويل بياناتك إلى خطوط ومضلعات وعلاقات ، وما تريده من أي وقت مضى.


يستخدم الفهرسة متعددة الشبكات بدلاً من R-Tree مثل PostGIS و Oracle.

لا يتعلق بالأداء ولكن ربما يكون مهمًا:

لا يدعم تنسيق التحولات.

هناك اختلاف طفيف في بناء جملة SQL. مثال:

حدد * من الجدول 1 حيث the_geom.STIntersects (الهندسة :: STGeomFromText ('POINT (100 100)'، 0)) ؛

ربما يكون هناك المزيد ولكن لا يمكنني تذكرها حاليًا :)


بعض السلبيات:

  • كما ذكر ماريو ، لا توجد أدوات عرض مدمجة تعني أن البرامج الإضافية (FME أو GDAL مفيدة) مطلوبة لإعادة تجميع البيانات

  • ينقص الأداء لبعض الاستعلامات المكانية (تتقاطع / داخل) ، ويجب إنشاء الفهارس المكانية يدويًا ، على الرغم من أنه في الإصدار التالي من دينالي ، كان هناك على ما يبدو تحسينات كبيرة في الأداء ، والفهارس المكانية "التلقائية"

  • لا يوجد مرجع خطي (ولكن يمكن إضافته مع رمز .NET - انظر أدناه)

  • الافتقار إلى المجتمع - يوجد مشروع مفتوح المصدر واحد ذي صلة في http://sqlspatialtools.codeplex.com/ مع نشاط ضئيل لذلك تكون برامج التشغيل والأدوات تحت رحمة إصدارات Microsoft. ليس هناك الكثير من أمثلة SQL.

  • يحتوي كل من MapServer و GDAL الآن على برامج تشغيل SQL Server 2008 ، ولكن هذه البرامج لم تظهر إلا مؤخرًا - بعد عدة سنوات من قواعد البيانات المكانية الأخرى.

على الجانب الإيجابي:

  • التكامل مع .NET. نظرًا لأن SQL Server يسمح بتشغيل رمز .NET في قاعدة البيانات ، فإنه يسمح بتضمين الوظائف في .NET DLLs والمكتبات في طرق العرض والإجراءات المخزنة والمشغلات وما إلى ذلك. يمكن أن تكون مكتبات مثل http://projnet.codeplex.com/ متضمنة للسماح بإعادة الإسقاط في قاعدة البيانات.

  • تشمل جميع الأنظمة الاحتكارية برامج تشغيل / لوادر SQL Server وما إلى ذلك.

  • العديد من المنظمات لديها بالفعل SQL Server DBAs ، والخوادم ، وعمليات النسخ الاحتياطي

  • يعد SQL Server Management Studio أداة رائعة للغاية ، ويتضمن تصورات مكانية

  • معايير OGC للطرق المكانية والميزات البسيطة


إذا تم تخزين بياناتك كنوع جغرافي على نطاق عالمي ، يجب أن تكون على دراية بحدود نصف الكرة الأرضية.


شاهد الفيديو: 16 Collation in SQL Server