2010-01-18 11 views
6

मुझे डेटाबेस के साथ कोई अनुभव नहीं मिला है, लेकिन इसे सीखने का इरादा है और इसे एक वेब प्रोजेक्ट पर उपयोग करना है जिसका मैं योजना बना रहा हूं।डेटाबेस हमेशा वेब डेटा भंडारण में समाधान हैं?

हालांकि, मुझे अपने एक दोस्त से सलाह मिली है कि डेटाबेस का उपयोग मेरी योजना से काफी व्यापक होना चाहिए। वह डेटाबेस में लगभग सभी डेटा रखने में विश्वास करता है, जहां मुझे लगता है कि डेटाबेस शायद उपयोगकर्ता डेटा (केवल डेटा के छोटे टुकड़े), और पेज सामग्री डेटा और जैसे (डेटा की बहुत छोटी टुकड़े नहीं हैं) के बारे में सबसे सुविधाजनक हैं। स्थैतिक फाइलों में - उस धारणा को बनाने के लिए कोई ज्ञान नहीं है।

  • क्या बेहतर समाधान हो सकता है? डेटाबेस में न्यूनतम डेटा, या जितना मैं उन्हें प्रभावी ढंग से स्टोर करने के तरीके ढूंढ सकता हूं?
  • क्या स्थिर फाइलों और डेटाबेस के उपयोग के बीच कोई प्रदर्शन अंतर है?
  • क्या सबसे अच्छा समाधान सामान्य साइट यातायात पर निर्भर करेगा?

मैं PHP और MySQL के संयोजन का उपयोग करना चाहता हूं।

+0

आपका वास्तविक प्रश्न क्या है? –

+0

क्षमा करें अगर यह अस्पष्ट है: पृष्ठ सामग्री डेटा (किसी भी प्रकार, हालांकि बाइनरी जैसी बड़ी फाइलें नहीं) की सबसे अच्छी संग्रहण विधि क्या होगी, और किस परिस्थितियों में? –

+3

अधिकतर, लेकिन 42 भी एक विकल्प है। –

उत्तर

4

यदि आप खोज कई पैरामीटर के आधार पर विशिष्ट डेटा खोजना चाहते हैं, तो आपको वास्तव में डेटाबेस का उपयोग करने की आवश्यकता है। एसक्यूएल भाषा अर्थात् आपको इसके लिए WHERE clause प्रदान करता है। साथ ही जब भी डेटा बनाया और अपडेट किया जाना है, डेटाबेस सबसे अच्छा विकल्प है, क्योंकि यह कुछ डिग्री के लिए विशिष्टता सुनिश्चित करने के लिए बाधा प्रदान करता है। डेटा के बीच संबंध डेटाबेस के माध्यम से प्रबंधित किया जा सकता है (विदेशी कुंजी का उपयोग करके और इसी तरह)।

उदाहरण के लिए एक उपयोगकर्ता प्रोफ़ाइल डेटाबेस में संग्रहीत करने के लिए सबसे अच्छा है। उपयोगकर्ता द्वारा नियंत्रित इनपुट डेटाबेस में भी संग्रहीत किया जाना चाहिए। सर्वर-साइड में शामिल हैं/टेम्पलेट फ़ाइलें दूसरी तरफ सर्वर की स्थानीय डिस्क फ़ाइल सिस्टम में सामान्य फ़ाइलों के रूप में संग्रहीत करने के लिए सबसे अच्छी हैं, क्योंकि इसमें खोज करने की कोई आवश्यकता नहीं है। यदि आप कुछ और (मेटा) जानकारी (जैसे मेनू/सबमेनू) के साथ "लिंक" करना चाहते हैं तो आप डेटाबेस में अंततः स्टोर फ़ाइल नाम कर सकते हैं। बाइनरी फाइलों (छवियों, डाउनलोड इत्यादि) पर भी लागू होता है, आप उन्हें डेटाबेस में नहीं रखना चाहते हैं, जब तक कि आप पोर्टेबिलिटी की उच्च (उच्च) उच्च डिग्री नहीं चाहते।

2

डेटाबेस उन चीजों को रखने के लिए सही जगह है जो कड़ाई से डेटा हैं। किसी भी डेटाबेस में डेटा के रूप में फ्लैट फ़ाइलों को लगभग उसी गति से अनुक्रमित नहीं किया जा सकता है। दूसरी ओर, डेटाबेस को सेट करने के लिए अधिक सीखने की कमाई की आवश्यकता होगी।

डेटाबेस जैसे बाइनरी डेटा डेटाबेस में इतना महान नहीं है।

+0

वास्तव में, आधुनिक mySQL और अन्य डेटाबेस बाइनरी बड़ी वस्तुओं में jpg और png फ़ाइलों की तरह सामान डालते हैं। लोगों को इन मीडिया संपत्तियों को सामान्य फाइलों में रखना पसंद है, यहां तक ​​कि वर्डप्रेस, जूमला! और ड्रूपल जैसी प्रणालियों में भी, ब्राउज़र ब्राउज़र को वितरित करने के लिए HTML मॉडल बहुत फ़ाइल-केंद्रित है। निश्चित रूप से वर्डप्रेस, जूमला !, या ड्रूपल पर एक नज़र डालने का एक उत्कृष्ट शिक्षण अनुभव होगा। –

+0

स्थैतिक फ़ाइलों की सेवा करने वाले अपाचे के प्रदर्शन की तुलना में डेटाबेस तुलनात्मक रूप से अक्षम करने योग्य है। Drupal डेटाबेस में फ़ाइलों को स्टोर नहीं करता है, केवल फाइलों के बारे में जानकारी। इसके बारे में बहुत सारी Google जानकारी है, लेकिन मुझे यह पता चला कि डेटाबेस से डेटा प्राप्त करने के लिए किसी भी ढांचे को बूटस्ट्रैप करने की लागत फाइल सिस्टम के माध्यम से अपाचे की तुलना में बहुत बड़ी है, यह पता लगाने के लिए कि फ़ाइल वहां है या नहीं, नहीं। –

0
  • मैं कहूंगा: डेटाबेस में सबकुछ। डेटाबेस इन प्रकार की चीजों के लिए अनुकूलित कर रहे हैं। अधिकांश ब्लॉगिंग सॉफ्टवेयर सामग्री के लिए डेटाबेस का भी उपयोग करते हैं, यह सुरक्षित है। संपादित करें: ओह, बाइनरी फाइलें वास्तव में फाइलों के रूप में बेहतर हैं। लेकिन MySQL भी उन्हें सुरक्षित रूप से संभाल सकता है। अगर आपको 1 फोटो पसंद है, तो इसे डेटाबेस में स्टोर करना ठीक है (क्योंकि इसे बनाए रखना आसान है), लेकिन अगर आप होस्ट करते हैं, तो कहें, 10.000 फोटो: इसके बजाय फाइलों का उपयोग करें, और डेटाबेस में फ़ाइलों का संदर्भ रखें (उनका स्थान, आदि।)।
  • बिल्कुल: डेटाबेस, फिर से अनुकूलित किए जाते हैं। हुड के तहत, डेटाबेस फाइलों का उपयोग करता है: लेकिन आपको अब इसके बारे में परवाह नहीं है।
  • MySQL डेटाबेस सामान्य साइट यातायात के लिए बिल्कुल ठीक है।

PHP और MySQL एक अच्छी पसंद है।

3

डेटाबेस लगातार डेटा संग्रहण का एकमात्र साधन नहीं हैं, वे बस सबसे आम हैं।

दस्तावेज़/ब्लॉगिंग इंजन हैं जो डेटाबेस का उपयोग नहीं करते हैं। जब कोई पृष्ठ बनाया जाता है, एक स्थिर HTML फ़ाइल पर बदला या टिप्पणी की जाती है या संशोधित की जाती है। उदाहरण के लिए, Movable Type

इसी प्रकार आप पूरी तरह से मेमोरी स्टोरेज सिस्टम प्राप्त कर सकते हैं, जहां सिस्टम बंद हो गया है तो इन-मेमोरी डेटा को बस पुनर्निर्मित किया जाता है। या स्मृति सामग्री को फिर से हटा दिया जाता है और कोई डेटाबेस शामिल नहीं होता है। यह आमतौर पर अत्यधिक उच्च थ्रूपुट वाले सिस्टम में किया जाता है या जिसके लिए बेहद कम (माइक्रोसॉन्ड स्तर) विलंबता की आवश्यकता होती है।

आपके प्रश्न का उत्तर वास्तव में उत्तर नहीं दिया जा सकता है क्योंकि आपने जो कुछ भी पूछा है उसका उत्तर "यह निर्भर करता है" और आप शायद इसे काम कर सकते हैं हालांकि आप इसे करते हैं।

मैं यह कहूंगा: जब तक आपको वास्तव में कोई समस्या न हो तब तक प्रदर्शन के बारे में चिंतित न हों।आपके द्वारा सामना की जाने वाली अधिकांश प्रदर्शन समस्याओं को शायद डेटाबेस में अनुक्रमणिका और प्राथमिक कुंजी पर आ जाएगा।

PHP और MySQL एक बढ़िया विकल्प है।

+0

हां, शायद यह विकल्प है, लेकिन क्या वे बेहतर हैं? अभिनय की दृष्टि से? डेटाबेस में, आप आसानी से जो खोज रहे हैं उसे ढूंढ सकते हैं; एक HTML फ़ाइल में जो प्रत्येक बार एक पृष्ठ बदल जाता है, संशोधित किया जाएगा, आपको कुछ चीजों को खोजने के लिए कुछ खोज करना होगा, और फिर उन्हें बदलें। बड़ी मात्रा में यातायात वाली साइटों के लिए, क्या वह बेवकूफ नहीं होगा? कुछ अच्छे अंक अन्य। –

+0

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

+1

सही ढंग से हो गया, फ्लैट फ़ाइल बनाम डीबी एक कार्यान्वयन विस्तार है। – cletus

0

यदि डेटा मैनिपुलेशन के लिए लेनदेन की आवश्यकता होती है, तो डेटाबेस लगभग हमेशा एकमात्र अच्छे समाधान होते हैं।

0

माइस्क्ल डेटा अखंडता वाले सामान्य डेटाबेस में से एक है। यदि आपने एक बड़ा डेटा स्टोर करने की योजना बनाई है, तो MySQL उपयोग करने के लिए सबसे अच्छा है। डेटाबेस का उपयोग करने में सुरक्षा पर भी विचार किया जाना चाहिए। MySQL बहुत सुरक्षित और उपयोग करने में आसान है, आप कुछ बेहतर दस्तावेज और उदाहरणों के लिए नेट पर भी खोज सकते हैं।

0

मेरी राय में - आपको डेटाबेस में डेटा स्टोर करने का कोई कारण नहीं है। | लेकिन मुझे लगता है कि आपको गैर डेटा कनेक्शन जैसे Google डेटास्टोर http://code.google.com/appengine/docs/python/datastore/ या अन्य समान चीजों पर भी विचार करना चाहिए।