MS SQL Spatial sebagai Central Datastore?

9

Saya telah berupaya membuka data spasial kami dari sistem kepemilikan menjadi sistem yang dapat dibaca oleh lebih banyak produk (MapGuide, ESRI, gvSIG, Map3D dll ....)

Saya telah memutuskan untuk menggunakan SQL Spatial karena kami memiliki server yang tersedia untuk kami dan kami dapat dengan mudah menghubungkan ke sistem lain.

Sebelum saya benar-benar menggunakannya sebagai datastore pusat kami, adakah yang harus saya ketahui yang dapat sangat mengurangi kinerja?

Jamo
sumber

Jawaban:

6

Jawaban saya bukan tentang kinerja, tetapi perlu diketahui bahwa Anda terbatas pada Fitur Sederhana, dan seperangkat terbatas permintaan SQL Spasial. Bukan berarti ini adalah hal yang buruk, meskipun saya dengan cepat menemukan diri saya ingin beberapa pertanyaan SQL yang tersedia di katakanlah Postgres atau Oracle. Fitur sederhana yang sebenarnya saya sukai, menjaganya tetap sederhana memungkinkan Anda mengikuti praktik basis data yang baik, dan memungkinkan Anda mengubah data menjadi garis, poligon, hubungan, apa pun yang Anda inginkan.

westyvw
sumber
2
Rilis terbaru memungkinkan untuk kurva / busur melingkar dan tipe geografi sekarang memiliki semua fungsi spasial yang dimiliki geometri
geografi
5

Menggunakan multi-grid indexing daripada R-Tree sebagai PostGIS dan Oracle.

Tidak terkait kinerja tetapi mungkin penting:

Tidak mendukung transformasi koordinat.

Ada sedikit perbedaan dalam sintaks SQL. Contoh:

SELECT * FROM table1 WHERE the_geom.STIntersects(geometry::STGeomFromText('POINT(100 100)',0));

Mungkin ada beberapa lagi tetapi saat ini saya tidak dapat mengingatnya :)

Mario Miler
sumber
5

Beberapa negatif:

  • sebagaimana disebutkan oleh Mario disebutkan tidak ada alat proyeksi bawaan berarti perangkat lunak tambahan (FME atau GDAL berguna) diperlukan untuk memproyeksi ulang data

  • kinerja kurang untuk beberapa permintaan spasial (berpotongan / di dalam), dan indeks spasial harus dibuat secara manual, meskipun dalam rilis Denali berikutnya tampaknya ada peningkatan besar dalam kinerja, dan indeks spasial "otomatis"

  • tidak ada referensi linear (tetapi dapat ditambahkan dengan kode .NET - lihat di bawah)

  • kurangnya komunitas - ada satu proyek opensource terkait di http://sqlspatialtools.codeplex.com/ dengan sedikit aktivitas sehingga driver dan alat berada pada belas kasihan rilis Microsoft. Tidak terlalu banyak contoh SQL.

  • MapServer dan GDAL sekarang keduanya memiliki driver SQL Server 2008, tetapi ini baru keluar baru - beberapa tahun setelah database spasial lainnya.

Di sisi positifnya:

  • integrasi dengan .NET. Karena SQL Server memungkinkan .NET code untuk dijalankan dalam database, ia memungkinkan untuk fungsionalitas dalam. DLL dan pustaka NET untuk disertakan dalam tampilan, prosedur tersimpan, pemicu, dll. Perpustakaan seperti http://projnet.codeplex.com/ dapat berupa dimasukkan untuk memungkinkan proyeksi ulang dalam basis data.

  • sistem berpemilik semua termasuk driver / loader SQL Server dll.

  • banyak organisasi sudah memiliki DBA SQL Server, server, proses pencadangan

  • SQL Server Management Studio adalah alat yang sangat bagus, dan termasuk visualisasi spasial

  • Standar OGC untuk metode spasial dan fitur sederhana

geografi
sumber
3

Jika data Anda disimpan sebagai tipe geografi pada skala global, Anda perlu mengetahui tentang Hemisphere Limitation .

Kirk Kuykendall
sumber
Terima kasih Kirk data akan disimpan sebagai geometri, jadi ini seharusnya tidak menjadi masalah, batas area proyek relatif kecil, sejauh ini saya telah berhasil membawa sekitar 36.000 fitur ke dalam sql (utilitas, kadaster, dan berbagai featuer lainnya)
Jamo
Rilis terbaru Denali dari SQL Server mencakup dukungan untuk objek spasial globe lengkap - tampaknya "yang pertama di industri untuk sistem basis data relasional"
geografi