छोटी परियोजनाओं के लिए XML बनाम SQL?


10

मैं एक छोटे प्रोजेक्ट पर काम कर रहा हूं, जिसमें एक समय में केवल एक ही उपयोगकर्ता होगा क्योंकि यह एक स्थानीय अनुप्रयोग है (WPF और C # में विकसित)। डेटा स्टोर करने के लिए मैं एक XML फ़ाइल का उपयोग करने के बारे में सोच रहा था, लेकिन मैं सोच रहा हूं कि क्या यह सबसे अच्छा तरीका होगा।

डेटा किस लिए है:

  • Shedules
  • फ़ोल्डर्स में फ़ाइलों की लाइब्रेरी (कलाकार का नाम, शीर्षक, स्थान के साथ HDD)
  • संभवतः आंकड़ों के आधार पर आंकड़े
  • ...

एक्सएमएल की कल्पना में लाइब्रेरी के बारे में जानकारी ठीक होगी लेकिन बाकी सभी के बारे में मैं इतना निश्चित नहीं हूं। इसके अलावा LINQ to SQL को विकास की गति के संदर्भ में LINQ से XML तक अधिक लाभदायक लगता है। क्या यह सही है या मैं गलत हूं? मैं अनिश्चित था अगर मुझे एसओ या यहाँ पर यह पोस्ट करना चाहिए लेकिन यह यहाँ अधिक उचित लग रहा था!

पहले ही, आपका बहुत धन्यवाद


2
"एक समय में एक उपयोगकर्ता" कोड बोलता है "छह महीनों में यह हमारी एकमात्र राजस्व स्ट्रीम होगी और 4,000 उपयोगकर्ताओं को एक साथ समर्थन करने की आवश्यकता है"। तदनुसार योजना
बनाएं

अगर आपको मशीन से मशीन में माइग्रेट करने की चिंता है, तो आपको एक एसक्यूएल सर्वर सेवा चलाने की जरूरत नहीं है, आप इसे सिर्फ एक फाइल अटैच डेटाबेस बना सकते हैं।
पीटर स्मिथ

2
कोई फर्क नहीं पड़ता कि आप क्या चुनते हैं एक अमूर्त परत बनाते हैं ताकि आप आसानी से दूसरी योजना के लिए स्वैप कर सकें जब यह आवश्यक हो जाए
शाफ़्ट सनकी

जवाबों:


13

यदि आप बहुत सारे IO कर रहे हैं, तो SQL आपकी बेहतर पसंद है। SQL डेटा को प्राप्त करने / संग्रहीत करने के लिए अच्छी तरह से काम करने के लिए डिज़ाइन किया गया है यही कारण है कि हम इसका उपयोग XML जैसी किसी वेबसाइट पर डेटा संग्रहीत करने के लिए करते हैं।

XML मानव पठनीय डेटा के लिए अच्छा है जिसे अनुप्रयोगों के बीच साझा और व्याख्या किया जा सकता है, जैसा कि इसका इरादा था। XML पार्सिंग में स्ट्रिंग हेरफेर के बहुत सारे शामिल हैं जो डेटा सेट के आकार में वृद्धि के साथ कभी भी महंगा हो सकता है।


3
कॉम्पैक्ट संस्करण मत भूलना।
जेफ़ो

2

ऐसा लगता है जैसे आपका डेटा संभावित रूप से असीम रूप से बढ़ सकता है (जब तक कि मैंने आपके आवेदन को गलत नहीं समझा)। किस मामले में, मैं कहूंगा कि दक्षता और प्रदर्शन के लिए एक डेटाबेस इंजन तक लगातार भंडारण को छोड़ना सबसे अच्छा है।


1

डेटाबेस दृष्टिकोण के साथ जाओ। यह डेटा को संभालने वाली सिद्ध तकनीक है।

प्रदर्शन के मुद्दे पर, आप अनुक्रमणिका में अपनी पहुंच को गति देने में सक्षम हो सकते हैं, जहां XML में, ऐसा कोई साधन मौजूद नहीं है।

एक डेटाबेस पर, आप कुल कार्यों का उपयोग करके सांख्यिकीय डेटा की गणना कर सकते हैं, एक्सएमएल में आपको उस कोड को मिला है।

डेटाबेस का उपयोग करके, आप डेटाबेस संरचना को सापेक्ष आसानी से जोड़ सकते हैं (स्तंभ, तालिका, आदि जोड़ें) और डेटाबेस के बीच डेटा को स्थानांतरित करने में आपकी सहायता करने के लिए उपकरण हैं, जहां XML में आपको स्वयं ऐसा करना था।

एक डेटाबेस में, आप अखंडता नियमों को लागू कर सकते हैं और यदि आवश्यक हो, तो XML में उपयोगकर्ताओं को अपने स्वयं के चयन लिखने दे सकते हैं।

डेटाबेस में, आप डेटा को बहुत आसानी से सॉर्ट कर सकते हैं, साथ ही आप सुरक्षा भी जोड़ सकते हैं। डेटाबेस का उपयोग करके, आप आकार और संक्षिप्तता के बारे में भूल सकते हैं, इसलिए भविष्य में, आपका एप्लिकेशन बिना कोड परिवर्तन के बढ़ सकता है।

उपरोक्त के लिए, एक डेटाबेस का उपयोग करें! EK

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.