Sebagian besar waktu, orang membuat kesalahan dengan memikirkan GeoDatabase hanya sebagai format geospasial yang memungkinkan Anda melakukan kueri spasial. Itu adalah penyederhanaan yang luar biasa.
Heck, saya dulu melakukan kesalahan ini sendiri - sampai suatu hari saya mendengar Scott Morehouse menjelaskan alasan di balik GeoDatabase. Dia adalah salah satu dari orang-orang yang dapat berpikir dengan cara yang sangat abstrak, cara yang sangat tinggi - dan kemudian turun dengan sangat cepat dan menjadi sangat praktis dan dengan demikian menghindari masalah yang dimiliki astronot arsitektur .
Untuk memahami apa itu GeoDatabase, Anda perlu melihat definisi model informasi :
Model informasi dalam rekayasa perangkat lunak adalah representasi konsep, hubungan, kendala, aturan, dan operasi untuk menentukan semantik data untuk domain wacana yang dipilih. Ini dapat memberikan struktur persyaratan informasi yang dapat dibagi, stabil, dan terorganisir untuk konteks domain.
GeoDatabase hanyalah definisi ESRI dari model informasi yang mendukung konsep Geografis. Sebagai contoh, model informasi ini mendukung konsep-konsep seperti Topologi ; dengan semua aturan, operasi, dan semantik data yang terkait dengannya (mis. apa yang diizinkan untuk tumpang tindih di atas apa, apa yang terjadi setelah pemisahan, bagaimana pengeditan memengaruhi fitur lain yang memiliki sisi yang sama, dll.).
Ada berbagai implementasi model informasi ESRI GeoDatabase dan mereka dapat dikategorikan menjadi dua:
Pengguna Tunggal GeoDatabases:
- Personal GeoDatabase: Dibangun di atas format MS Access ".mdb".
- FileGDB: Dibangun di atas format eksklusif yang dibuat oleh folder ESRI (".gdb")
Multi-pengguna GeoDatabases (alias Enterprise GeoDatabases):
Ini adalah sumber data yang didukung oleh middleware ArcSDE.
- PostgreSQL
- SQL Server
- Peramal
- DB2
- Informix
- dll
Tujuan ArcSDE juga disalahpahami. "SDE" sering menjadi bingung dengan GeoDatabase - dan dalam kasus terburuk, istilah tersebut digunakan secara bergantian; kesalahan yang mengerikan. Kembali pada hari itu, ArcSDE (kemudian hanya disebut SDE) telah dibuat untuk bertindak sebagai lapisan abstraksi data . Anda dapat menemukan deskripsi sederhana tentang ArcSDE dari pos berita USENET yang sangat tua dari Scott Morehouse (1999) . Cuplikan dari posting itu mengatakan:
SDE menentang pemrosesan spasial ke DBMS. Jika sistem basis data yang mendasari tidak memiliki dukungan spasial sama sekali, SDE akan menerapkan semua fungsi spasial. Jika database yang mendasarinya memiliki beberapa fungsi, SDE akan mengimplementasikan beberapa fungsi dan menunda sisanya ke mesin database. Untuk mencapai kinerja terbaik dan memanfaatkan teknologi basis data inti, kami mencoba untuk menunda sebanyak mungkin fungsionalitas ke basis data.
Itu berarti bahwa ArcSDE digunakan oleh GeoDatabase ketika berinteraksi dengan sumber data yang mendasarinya, tetapi ia tidak tahu apa-apa tentang abstraksi GeoDatabase, seperti Hubungan, Domain, Medan, Kain Kadastral, Kumpulan Data Skematik, dll . Itu hanya digunakan untuk membuat pemrograman lebih mudah dengan berbagai penyimpanan data yang mendasarinya.
Itu sebabnya jika Anda berurusan dengan abstraksi tingkat GeoDatabase, dan kemudian Anda mencoba melakukan hal-hal dari ArcSDE (melalui API atau executable command line arcsde), Anda mungkin mengalami masalah. (Bisakah saya membuat kalimat ini lebih besar ???)
Sejauh keterbatasan dari setiap implementasi GeoDatabase yang berbeda, biasanya tergantung pada penyimpanan yang mendasarinya.
GDB pribadi terikat pada batas 2GB mdb (Access). FileGDB, tidak memiliki masalah ini karena diciptakan untuk menghilangkan batasan ini dan agar kompatibel dengan unix.
Personal GDB dan FileGDB adalah pengguna tunggal. Jadi Anda tidak mendapatkan versi apa pun . Replikasi GDB diimplementasikan di atas versi, sehingga ini adalah fitur dari semua GeoDatabases Multi-Pengguna (ArcSDE Datasources) saja.
Topologi, Anotasi , Kelas Representasi , Domain , Medan , dll, semuanya adalah konsep GeoDatabase yang tidak memerlukan dukungan multi-pengguna - sehingga mereka tersedia di semua implementasi model informasi GeoDatabase.
Sejauh penggunaan untuk setiap implementasi GDB, itu tergantung pada kebutuhan Anda. Jadi ada jenis GeoDatabase untuk sebagian besar (tetapi tidak semua) kasus penggunaan.
Saya harap ini membuatnya jelas.