XML กับ SQL สำหรับโครงการขนาดเล็ก?


10

ฉันกำลังทำงานในโครงการขนาดเล็กซึ่งจะมีผู้ใช้ครั้งละหนึ่งคนเท่านั้นเนื่องจากเป็นแอปพลิเคชันในพื้นที่ (พัฒนาใน WPF และ C #) ในการจัดเก็บข้อมูลฉันคิดว่าจะใช้ไฟล์ XML แต่ฉันสงสัยว่านี่จะเป็นวิธีที่ดีที่สุดหรือไม่

ข้อมูลมีไว้สำหรับ:

  • Shedules
  • คลังไฟล์ในโฟลเดอร์ (ที่มีชื่อศิลปิน, ชื่อ, ตำแหน่งบน HDD)
  • อาจเป็นไปได้ว่าสถิติขึ้นอยู่กับข้อมูล shedule
  • ...

ข้อมูลเกี่ยวกับห้องสมุดจะดีใน XML ฉันนึก แต่เกี่ยวกับส่วนที่เหลือทั้งหมดฉันไม่แน่ใจ นอกจากนี้ LINQ ไปยัง SQL ดูเหมือนจะสร้างผลกำไรได้มากขึ้นในแง่ของความเร็วในการพัฒนามากกว่า LINQ ถึง XML สิ่งนี้ถูกต้องหรือฉันผิด ฉันไม่แน่ใจว่าควรโพสต์สิ่งนี้บน SO หรือที่นี่ แต่มันดูเหมาะสมกว่าที่นี่!

ขอบคุณล่วงหน้า


2
"ผู้ใช้ครั้งละหนึ่งคน" คือโค้ดที่พูดถึง "ในหกเดือนมันจะเป็นรายรับของเรา แต่เพียงผู้เดียวและต้องการการสนับสนุนผู้ใช้ 4,000 คนพร้อมกัน" วางแผนตามนั้น :)
Bryan Boettcher

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

2
ไม่ว่าคุณจะเลือกสร้างเลเยอร์นามธรรมเพื่อให้คุณสามารถสลับไปยังรูปแบบอื่นได้อย่างง่ายดายเมื่อจำเป็น
ratchet freak

คำตอบ:


13

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

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


3
อย่าลืม Compact Edition
JeffO

2

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


1

ใช้แนวทางฐานข้อมูล เป็นเทคโนโลยีที่ได้รับการพิสูจน์แล้วว่าสามารถรองรับข้อมูลได้

ในปัญหาด้านประสิทธิภาพคุณอาจสามารถเพิ่มความเร็วในการเข้าถึงของคุณด้วยการมีดัชนีซึ่งใน XML ไม่มีวิธีการดังกล่าว

บนฐานข้อมูลคุณสามารถคำนวณข้อมูลสถิติโดยใช้ฟังก์ชั่นรวมใน XML คุณต้องใช้รหัสนั้น

การใช้ฐานข้อมูลคุณสามารถเปลี่ยนโครงสร้างฐานข้อมูลได้อย่างง่ายดาย (เพิ่มคอลัมน์ตาราง ฯลฯ ) และมีเครื่องมือที่ช่วยให้คุณย้ายข้อมูลระหว่างฐานข้อมูลโดยที่ใน XML คุณต้องทำด้วยตัวเอง

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

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

สำหรับข้างต้นใช้ฐานข้อมูล! EK

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