2010-05-01 13 views
8

यदि यह पूछने के लिए कोई बेहतर जगह है, तो कृपया मुझे बताएं। । ज्यादातरवेबसाइटों को स्थानीय डेटाबेस एनीमोर की आवश्यकता है?

  • पुन: प्रयोज्य कोड में आम कार्यक्षमता बाहर निकालें (RubyGems और jQuery प्लगइन्स:

हर बार जब मैं एक नया वेबसाइट/ब्लॉग/शॉपिंग कार्ट/आदि का निर्माण, मैं निम्न कार्य करना चाहते रखना)

  • यदि संभव हो, तो उस मणि को एक छोटी सेवा में परिवर्तित करें, इसलिए मुझे कभी भी शामिल वस्तुओं के लिए डेटाबेस से निपटना नहीं है (सेवा के द्वारा, मेरा मतलब कुछ दुबला और मतलब है, आमतौर पर कुछ कोर मॉडल के साथ Sinatra Web Framework के साथ बनाया गया है)।
  • मेरे धारणा है, अगर मैं स्थानीय डेटाबेस पर निर्भरता को हटा सकते हैं, कि यह आसान है और लंबे समय (पुनर्प्रयोग और प्रबंधन क्षमता, जरूरी नहीं कि डेटाबेस/प्रदर्शन के मामले में स्केलेबल) में और अधिक विश्वसनीय बनाने के लिए है। मुझे यकीन नहीं है कि यह अभी तक एक अच्छी या बुरी धारणा है। तुम क्या सोचते हो?

    मैं निम्न कारणों से यह धारणा बना दिया है:

    सबसे गंभीर डेटाबेस/मॉडल कार्यक्षमता इंटरनेट पर किसी बनाया गया है।

    • सामाजिक नेटवर्क एपीआई:: फेसबुक
    • संदेश API:

    बस कुछ ही नाम के लिए ट्विटर

  • मेलिंग एपीआई: गूगल
  • घटना एपीआई: Eventbrite
  • शॉपिंग API: Shopify
  • टिप्पणी API: Disqus
  • फार्म एपीआई: Wufoo
  • चित्र API पिकासा
  • वीडियो एपीआई: यूट्यूब ...
  • उन चीजों में से प्रत्येक काफी खरोंच से निर्माण करने के लिए और के रूप में अनुकूलित किया है, सरल बनाने के लिए जटिल हैं और उपयोग करने में आसान है क्योंकि उन कंपनियों ने उन्हें बनाया है।

    इसलिए यदि मैं एक ऐप बनाता हूं जो एक ईवेंट पेज (इवेंटब्रेट) पर चित्र (पिकासा) दिखाता है, और आप देख सकते हैं कि ईवेंट में कौन शामिल हुआ (फेसबुक ईवेंट), और उन्हें ईमेल (google ऐप्स api) भेज दें, और उन्हें रखें मासिक सर्वेक्षण (वूफू) भरें, और जब वे पूरा हो जाएं तो एक वीडियो देखें (यूट्यूब), सभी एक कस्टम, उपयोग में आसान वेबसाइट में एकीकृत हैं, और मैं इसे स्थानीय डेटाबेस बनाने के बिना कर सकता हूं, यह एक अच्छी बात है?वहाँ के बहुत सारे है जबकि/सुंदर यूआरएल एपीआई

    • पोस्ट एपीआई
    • RESTful:

      मैं क्योंकि दो पहेली है कि मुझे लगता है कि स्थानीय डेटाबेस बनाने के लिए मजबूर कर रखना से लापता बातें पूछना उनके लिए ब्लॉगिंग सिस्टम और एपीआई, कोई भी जगह नहीं है जहां आप केवल सामग्री लिख सकते हैं और इसे कुछ बड़ी चीज़ों का हिस्सा बना सकते हैं। प्रत्येक ऐप के लिए, मुझे सुंदर/आरामदायक यूआरएल बनाने के लिए कोड का उपयोग करना होगा, और यह पोस्ट सहेजता है। लेकिन ऐसा लगता है कि यह एक सेवा होनी चाहिए!

      प्रश्न यह है कि वेबसाइट है? ... पर यह स्थान मेरे विशिष्ट कारण ... के लिए दुनिया की सेवाओं को एकीकृत करता है और, उन पदों को संग्रहीत करने के लिए, जो केवल मेरी साइट पर तक पहुंच है। क्या हर किसी को हमेशा "अपना ब्लॉग" चाहिए? स्टैक ओवरव्लो या फेसबुक जैसे स्थापित प्लेटफ़ॉर्म पर केवल एक प्रोफ़ाइल क्यों नहीं है और बहुत सारी सामग्री क्यों लिखें?

      ... इस तरह से मैं पूरी तरह से डेटाबेस के बिना ऐप्स लिख सकता हूं और जानता हूं कि मैं इसे सही कर रहा हूं।

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

    +0

    मुझे इसके साथ कोई अनुभव नहीं है, लेकिन couchdb (http://couchdb.apache.org/) उस REST आला को भरता नहीं है? –

    +0

    यह कैश करने के लिए विनम्र है। यदि आप क्लाउड को ऑफ़लोड करते हैं, तो यह अभी भी तकनीकी रूप से * आपका * डेटाबेस है। – cbednarski

    उत्तर

    3

    मुझे लगता है कि आप काफी सवाल में अपने खुद के सवाल का जवाब दे दिया है:

    • आप एक तृतीय-पक्ष वेब आधारित सेवा है जो दृढ़ता के लिए अपनी वेबसाइट की आवश्यकताओं को पूरा करती पा सकते हैं, तो अपनी वेबसाइट नहीं है एक स्थानीय डेटाबेस की जरूरत है।

    • यदि आप नहीं कर सकते हैं, तो यह करता है।

    लेकिन "आवश्यकताओं" मुद्दों से अधिक सिर्फ तकनीकी कार्यों में कर रहे हैं। यह मानते हुए कि आप एक दूरस्थ डेटाबेस/दृढ़ता सेवा की पहचान करते हैं, ऐसे कई कारण हैं जिनसे यह उपयुक्त नहीं हो सकता है:

    • यह आपकी ग्राहक साइट की विस्तृत कार्यक्षमता प्रदान नहीं कर सकता है; जैसे कुछ प्रकार के प्रश्न, स्केलेबिलिटी इत्यादि करने की क्षमता
    • आपके ग्राहक की साइट अनुमानित हिट दर के बाद उपयोग करना बहुत महंगा हो सकता है।
    • यह करने के मामले में बहुत जोखिम भरा हो सकता है:
      • अंतिम-उपयोगकर्ता गोपनीयता,
      • सेवा उपलब्धता/विश्वसनीयता, सेवा के
      • दीर्घकालिक व्यवहार्यता और
      • सेवा के के दीर्घकालिक स्थिरता एपीआई।

    यह कहना है कि इन चिंताओं को दूर नहीं किया जा सकता है। लेकिन कम से कम "जोखिम" मुद्दों पर आपके ग्राहकों के साथ चर्चा की जानी चाहिए, क्योंकि अगर चीजें खराब होती हैं तो उन्हें अंततः उनसे निपटने की ज़रूरत होगी।

    हालांकि, जब सभी को कहा और किया जाता है, तो दूरस्थ डेटाबेस पर स्थानीय डेटाबेस का एक बड़ा लाभ यह है कि आप और आपके ग्राहक के पास स्थानीय डेटाबेस पर पूर्ण नियंत्रण होता है।

    0

    मुझे लगता है कि यह शायद इस बात पर निर्भर करता है कि आप किस जानकारी को स्टोर/पुनर्प्राप्त करने का प्रयास कर रहे हैं। आपके द्वारा उल्लेख की जाने वाली अधिकांश जानकारी ओपनिड, या समान प्रदाताओं का उपयोग करने लगती है। क्या आप एक ओपनिड, या वैकल्पिक, 'मॉड्यूल' नहीं बना सकते हैं, जिसे आप बस संदर्भित/शामिल करते हैं (यदि आवश्यक हो तो दूरस्थ रूप से)।

    इनमें से बहुत कुछ मेरे बाहर थोड़ा दिखता है, लेकिन मैं उपयोगकर्ताओं का डेटाबेस बनाने की कोशिश कर रहा हूं, और यह पता चला कि मैं इसे इस तरह से पूरा करूँगा कि मैं विभिन्न संदर्भों में कोड का पुन: उपयोग भी कर सकता हूं ।

    उम्मीद है कि यह आपके लिए उन विचार प्रक्रियाओं को जॉग करेगा।

    संबंधित मुद्दे