การออกแบบฐานข้อมูลที่ดีนั้นมีความสำคัญน้อยกว่าสำหรับฐานข้อมูลเชิงพื้นที่หรือไม่?


15

ฉันมีความรู้สึกที่แข็งแกร่งที่การออกแบบฐานข้อมูลและการทำให้เป็นมาตรฐานมักจะมาในมือสองเมื่อจัดการกับข้อมูลเชิงพื้นที่

ด้วยซอฟต์แวร์ที่ต้องใช้โชคและฐานข้อมูลที่มีมากกว่า 100 ตารางในตารางฉันต้องถาม:

มีเหตุผลที่ดีสำหรับการพิจารณาอื่นนอกเหนือจากการทำให้เป็นมาตรฐานเมื่อออกแบบฐานข้อมูลเชิงพื้นที่หรือไม่?

ฉันเดาว่าผู้คนจะขอตัวอย่าง แต่ฉันไม่สามารถให้ที่นี่ได้ดังนั้นคำถามของฉันอาจมีจุดมุ่งหมายมากกว่าสำหรับผู้ที่หมายความว่า 100 สาขาไม่มีปัญหาและง่ายต่อการบำรุงรักษามากกว่าการออกแบบตามปกติที่เหมาะสม

อะไรคือข้อโต้แย้ง?


ในกรณีของ ArcGIS ฐานข้อมูลปกติที่มี Referential Integrity นั้นยากที่จะทำให้สำเร็จเนื่องจากคุณถูก จำกัด เพียงแค่คุณสมบัติของฐานข้อมูลที่เปิดเผยกับคุณและสนับสนุนโดย ArcGIS นี่เป็นเรื่องน่าผิดหวังอย่างมากในฐานะที่เป็นฐานข้อมูลเชิงสัมพันธ์ ... เล่นเกมโทรศัพท์โดยที่ ArcSDE อยู่ตรงกลาง
nw1

คำตอบ:


16

ฉันรู้สึกว่าฐานข้อมูลเชิงพื้นที่ควรได้รับการปฏิบัติไม่แตกต่างจากฐานข้อมูลดั้งเดิม พวกเขากำลังทำสิ่งเดียวกันโดยจัดเก็บข้อมูลจำนวนมากเพื่อการดึงข้อมูลที่รวดเร็ว ตัวอย่างเช่นใน PostgreSQL / PostGIS รูปทรงเรขาคณิตเป็นเพียงประเภทข้อมูลอื่น เช่นเดียวกับข้อความหรือจำนวนเต็ม เหมือนกันใน SQL Server 2008 เหมือนกันใน Oracle หากส่วน "อวกาศ" เป็นเพียงส่วนหนึ่งของประเภทข้อมูลในฐานข้อมูลแล้วมันแตกต่างจากฐานข้อมูลต้นฉบับจริงหรือไม่? นี่หมายความว่าเราควรทิ้งกฎทั้งหมดของการออกแบบฐานข้อมูลแบบดั้งเดิมหรือไม่?

การทำให้เป็นมาตรฐานอย่างชัดเจนสามารถนำไปไกลเกินไปเช่นเดียวกับฐานข้อมูลดั้งเดิมดังนั้นจึงเป็นการแลกเปลี่ยนเพื่อค้นหาการออกแบบที่ดีที่สุดที่เหมาะสมกับความต้องการของคุณ

หากคุณวางแผนที่จะสร้างโครงสร้างที่ไม่ทำให้เป็นมาตรฐานด้วยตาราง 100 คอลัมน์คุณต้องถามตัวเองว่ามีแนวโน้มที่จะเปลี่ยนแปลงในอนาคตหรือไม่ เมื่อเพิ่มจำนวนแถวมากขึ้นสิ่งนี้จะส่งผลต่อประสิทธิภาพการสืบค้นด้วยหรือไม่ สิ่งนี้จะส่งผลกระทบต่อการบำรุงรักษาในอนาคตหรือไม่

เกิดอะไรขึ้นกับการสร้างโครงสร้างที่เป็นมาตรฐานและการใช้มุมมองเพื่อเปิดเผยข้อมูลทั้งหมดไปยังไคลเอนต์ฐานข้อมูลไม่ว่าจะเป็น GIS หรือไคลเอนต์อื่น ๆ

คำถามเหล่านี้ทั้งหมดใช้กับฐานข้อมูลดั้งเดิมและฐานข้อมูลเชิงพื้นที่ หากคุณไปที่http://en.wikipedia.org/wiki/Database_normalizationคุณจะพบว่ามันใช้กับฐานข้อมูลเชิงพื้นที่ด้วย

หากซอฟต์แวร์ที่คุณใช้อยู่ด้านบนของฐานข้อมูลบังคับให้คุณใช้โครงสร้างที่ไม่ได้มาตรฐานอย่างมากนี่เป็นข้อโต้แย้งที่แตกต่างออกไป คุณถูก จำกัด โดยซอฟต์แวร์ไม่ใช่ฐานข้อมูลดังนั้นคุณจึงไม่มีทางเลือกในการออกแบบฐานข้อมูลที่ดีที่สุด

ดังนั้นฉันคิดว่าคำตอบสั้น ๆ คือในความคิดของฉันการออกแบบฐานข้อมูลมีความสำคัญกับฐานข้อมูลเชิงพื้นที่เหมือนกับฐานข้อมูลดั้งเดิม


1
+1 สำหรับจุดสำคัญของการแยกความแตกต่างระหว่างซอฟต์แวร์ที่กำหนดโครงสร้าง db กับการออกแบบ "ดีที่สุด" สำหรับลักษณะของข้อมูล
matt wilkie

ใช่ทั้งคำตอบนี้และความคิดเห็นของ Matt ฉันเห็นด้วย แต่สิ่งที่ฉันหวังคือใครบางคนสามารถอธิบายได้ว่าทำไมสิ่งนี้จึงไม่เกิดขึ้นบ่อยนัก ฉันจะแก้ไขคำถามเล็กน้อย
Nicklas Avén

ฉันเห็นด้วย. อีกสิ่งหนึ่งที่ฉันพบคือประสิทธิภาพของฐานข้อมูลอาจมีผลต่อการตัดสินใจของคุณในการทำให้เป็นมาตรฐานหรือไม่ ในบางกรณีฉันเห็นว่ามีการใช้ฐานข้อมูลสองฐานข้อมูลหนึ่งฐานข้อมูลต้นแบบที่มีข้อมูลปกติและฐานข้อมูลรองหนึ่งฐานที่ใช้เพื่อการแสดงผลเท่านั้น อันนี้มีเพียงสิ่งที่จำเป็นในการแสดงข้อมูล (GIS) มักจะอยู่ในตารางเดียว
Berend

ในการขยายจุด Berends หนึ่งในสาเหตุที่ทำให้เกิดสภาวะนี้คือมุมมองที่เกิดขึ้นจริงนั้นค่อนข้างยากและ DB-specific ที่จะนำไปใช้จึงเป็นเรื่องปกติที่จะสร้างตาราง / ฐานข้อมูลของคุณเองเพื่อเก็บข้อมูล
Alexander

6

ฉันเห็นสิ่งนี้มาก ฉันรู้สึกว่ามันเกิดขึ้นจากความจริงที่ว่าคน GIS นั้นมาจากการสำรวจภูมิหลังและไม่มีภูมิหลัง / ความเข้าใจในฐานข้อมูล ฉันเห็นการเปลี่ยนแปลงนี้เนื่องจากมีองค์กรจำนวนมากย้ายโครงสร้างพื้นฐาน GIS มาอยู่ในกลุ่มไอที


1
นี่คือความรู้สึกของฉันเช่นกัน แต่ฉันหวังว่าในบางวิธีคำอธิบายจะเหมือนการสนทนาของ Pauls มากกว่าซึ่งเป็นทางเลือกโดยเจตนาในบางวิธี ที่จะให้ความสำคัญกับธุรกิจ GIS มากขึ้นด้วยคำแฟนซีแบบจำลอง "เทคนิคกว่าการค้นพบว่าฐานข้อมูลในด้านล่างถูกนำไปใช้ในทางที่ผิดเพราะความไม่รู้
Nicklas Avén

1
ขออภัยการใช้ผิดประเภทผิดปกติ หากมีการตัดสินโดยมีเหตุผลที่ดีก็จะไม่ใช้ในทางที่ผิด
Nicklas Avén

5

GIS Software Legacy

ค่าใช้จ่ายสูงก่อนหน้าของ ArcSDE และการขาดประเภทข้อมูลเชิงพื้นที่ใน SQL Server (จนถึงปี 2008) และ Oracle จนถึงรุ่น 10 หมายความว่ามีทางเลือกน้อย แต่เพื่อเก็บข้อมูลในรูปแบบไฟล์สำหรับหลายองค์กร (และโดยผู้ประมูลเพื่อลดต้นทุนการเสนอราคา) .

การแนะนำประเภทเชิงพื้นที่ดั้งเดิมใน SQL Server นั้นหมายถึงเกือบจะในทันทีที่ ArcSDE เริ่มต้นจากการลงทุนขนาดใหญ่เพื่อที่จะรวมอยู่ใน ArcGIS ฟรีและ "นำไปสู่การพับ" ของข้อมูลเชิงพื้นที่ในองค์กร

องค์กรที่ใช้ ArcGIS และ SQL Server ก่อนหน้านี้มีสามตัวเลือก:

  1. จ่ายค่าธรรมเนียม 20k + เพื่อซื้อ ArcSDE และจัดเก็บข้อมูลเชิงพื้นที่ในฐานข้อมูลเซิร์ฟเวอร์ SQL ที่ "เหมาะสม"
  2. จัดเก็บข้อมูลเชิงพื้นที่ใน shapefiles / GDB ส่วนบุคคลและเชื่อมโยงไปยังส่วนที่เหลือของข้อมูลองค์กรในฐานข้อมูล (หรือส่งออกแอตทริบิวต์เหล่านี้ไปยัง DBFs)
  3. สลับผู้ขาย GIS และจัดเก็บข้อมูลเชิงพื้นที่ในฐานข้อมูลเดียว แต่ในรูปแบบที่สามารถเข้าถึงได้โดยซอฟต์แวร์ GIS ใหม่เท่านั้น

เมื่อ SQL Server มีชนิดของพื้นที่ดั้งเดิมที่ผู้ขายส่วนใหญ่ใช้สิ่งนี้แทนรูปแบบที่เป็นกรรมสิทธิ์ของพวกเขาหมายถึงข้อมูลเชิงพื้นที่สามารถเข้าถึงได้ทันทีโดยโปรแกรมประยุกต์อื่น ESRI จะต้องลดค่าใช้จ่ายของ ArcSDE (ซึ่งรวมอยู่ใน ArcGIS) และ / หรืออนุญาตให้จัดเก็บข้อมูลเชิงพื้นที่ในรูปแบบฐานข้อมูลเนทิฟ

นอกจากนี้การสืบค้นที่ดำเนินการใน ArcIMS บน Shapefiles หมายถึงการเชื่อมโยงกับ DBFs ต้องรวมเขตข้อมูลที่จำเป็นทั้งหมดและการทำซ้ำเนื่องจากไม่มีตัวเลือกในการสร้างมุมมองเชิงพื้นที่หรือเชื่อมโยงคุณลักษณะต่างๆกับฐานข้อมูลส่วนหลังได้อย่างง่ายดาย

เหตุผลขององค์กร

ฉันเห็นด้วยกับคนอื่น ๆ ว่าจนกระทั่งเมื่อเร็ว ๆ นี้ข้อมูลเชิงพื้นที่กลายเป็นประเภทฐานข้อมูลดั้งเดิมข้อมูลนั้นถูกเพิกเฉยหรือแยกออกจากกันโดยผู้ดูแลระบบฐานข้อมูลในองค์กรและกลายเป็นความน่าเชื่อถือของผู้จัดการ GIS แนวคิดของการออกแบบฐานข้อมูลการทำให้เป็นมาตรฐานการจำลองแบบการรักษาความปลอดภัยและมุมมอง SQL ต้องการชุดทักษะที่แตกต่างกันมากและมีความเชี่ยวชาญเป็นพิเศษและไม่สามารถเรียนรู้ได้ง่ายในขณะที่คุณดำเนินการ

เหตุผลด้านต้นทุน

การอธิบายอย่างละเอียดถึงความต้องการเวลาและความพยายามจำนวนมากในแบบจำลองข้อมูลและการทำความสะอาด / นำเข้าข้อมูลในรูปแบบนี้มักเป็นไปไม่ได้ บ่อยครั้งที่ผู้ซื้อโครงการมาจากมุมมองเชิงวิเคราะห์ของ GIS และมองข้ามความสำคัญของข้อมูลที่มีโครงสร้าง


ฉันเข้าใจและเห็นด้วยกับสิ่งที่คุณเขียนมากที่สุด แต่การพูดว่าชิ้นส่วน SDE นั้นให้ฟรีหลังจากเปลี่ยนชื่อเป็นเซิร์ฟเวอร์ ArcGIS นั้นไม่เหมือนกับการพูดว่า: ถ้าคุณซื้อสีที่น่ารังเกียจของรถคันนี้ในราคา 100,000 ดอลลาร์คุณจะได้รับส่วนที่เหลือของรถฟรี ฉันไม่รู้ ArcGIS นั่นดี แต่เซิร์ฟเวอร์ ArcGIS ที่ไม่มีส่วน SDE คืออะไร และฉันไม่เคยได้ยินใครบอกว่าเซิร์ฟเวอร์ ArcGIS ราคาถูก ฉันไม่เห็นจริง ๆ ว่า SQL Server spatial types ส่งผลกระทบต่อ ArcGIS อย่างไร แต่เนื่องจากผลิตภัณฑ์อาร์คนั้นมีการแพร่กระจายอย่างกว้างขวางฉันยอมรับว่าถนนอาร์คมีการติดต่อกันอย่างกว้างขวางว่าผู้คนคิดอย่างไรกับข้อมูลเชิงพื้นที่ของพวกเขา
Nicklas Avén

ก่อนเซิร์ฟเวอร์ ArcGIS นั้น ArcSDE เคยแยกจาก ArcMap และ ArcIMS อย่างสมบูรณ์และต้องซื้อและให้สิทธิ์ใช้งานแยกต่างหาก เนื่องจาก ArcSDE เป็นวิธีเดียวที่จะจัดเก็บข้อมูลเชิงพื้นที่ใน SQL Server (หรือ Oracle ในเวลานั้น) จึงหมายถึงข้อมูลเชิงพื้นที่ถูกเก็บไว้ที่อื่น
geographika

ตกลง ArcIMS ในแพคเกจที่มี SDE เป็น consible ใหม่ Arcmap ยังต้องการใบอนุญาตแยกต่างหากต่อผู้ใช้หรือลอยตัวใช่มั้ย ไม่เหมือนใคร แต่ฉันก็อยากรู้
Nicklas Avén

ไม่มีการเข้าถึง / จัดเก็บข้อมูลเชิงพื้นที่ในฐานข้อมูลเชิงสัมพันธ์โดยไม่ต้องจ่ายเงินจำนวนมากเป็นแนวคิดใหม่ esri.com/software/arcgis/arcsde/index.html
geographika

เซิร์ฟเวอร์ ArcGIS ไม่ใช่เงินจำนวนมากหรือ เท่าที่ฉันรู้ว่าคุณไม่สามารถใช้รูปแบบ sqlserver fomat หรือ postgis (ไม่มี ziggis) ใน arcmap โดยไม่ต้องใช้ sde, ขออภัย ArcGIS Server ในระหว่างนั้น
Nicklas Avén

4

ด้วยตาราง 100 คอลัมน์ฉันถือว่าคุณหมายถึงชนิดของเอาต์พุตที่คุณได้รับจากการสร้างการซ้อนทับ "การครอบคลุมหลัก" ของอินพุตหลายอินพุต ใช่สิ่งเหล่านี้เป็นสิ่งประดิษฐ์ของเวิร์กโฟลว์ Arc / INFO แต่ในการป้องกันคุณยังสามารถคิดว่าพวกเขาเป็นจงใจ de-ปกติตารางสำหรับOLAP เนื่องจากมีการใช้งานเป็นส่วนใหญ่สำหรับการประมวลผลการค้นหาไม่ใช่เพื่อการปรับปรุงข้อมูล เหมือนสคีมาของดาวแต่ไม่มีเอ่อจุด โอเคชาอ่อน ๆ แต่ฉันก็ยังคิดว่ามีบางอย่างอยู่ที่นั่น


1
ใช่พอล ฉันรู้ว่าจะมีคำอธิบายออกมารวมถึงคำที่ฉันไม่เข้าใจ :-) น่าสนใจมากที่มีประวัติโดยเจตนาที่อยู่เบื้องหลังสิ่งนี้ ที่ดี!
Nicklas Avén

3

ใช่ถ้าเริ่มการออกแบบโครงการ GI ใหม่เป็นสิ่งสำคัญและสามารถประหยัดเวลา = เงินในอนาคต http://www.amazon.com/Spatial-Database-Systems-Implementation-Management/dp/1402053916เป็นภาพรวมที่ดีว่าทำไมจึงมีความสำคัญ


Mapperz คำถามนั้นถูกทำให้ไร้ผลหากมีความสำคัญน้อยกว่า คุณหมายความว่ามันไม่สำคัญน้อยกว่าใช่มั้ย
Nicklas Avén
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.