2010-01-31 21 views
14

क्या डेटाबेस सामान्यीकरण अभी भी "बात है?"क्या डाटाबेस सामान्यीकरण अभी भी जरूरी है?

जब मैंने डेटाबेस पाठ्यक्रम के दौरान अध्ययन किया, तो हमें सामान्यीकरण के सभी स्तर सिखाए गए और कहा गया कि हमें हमेशा यह करना होगा।

अब, NoSQL आंदोलन के साथ, ऐसा लगता है कि सामान्यीकरण अब करने की बात नहीं है?

उत्तर

10

यह इस बात पर निर्भर करता है कि किस प्रकार के एप्लिकेशन डेटाबेस का उपयोग कर रहे हैं।

OLTP ऐप्स (मुख्य रूप से डेटा प्रविष्टि, कई आईएनएसईआरटी, अद्यतन और डिलीट्स के साथ, SELECTs के साथ) के लिए, सामान्यीकृत आमतौर पर एक अच्छी बात है।

ओलाप और रिपोर्टिंग ऐप्स के लिए, सामान्यीकरण सहायक नहीं है। चयन क्वेरी एक denormalized स्कीमा के खिलाफ और अधिक तेजी से चला जाएगा, जो विचारों के साथ हासिल किया जा सकता है।

Should I normalize my DB or not?

In terms of databases, is “Normalize for correctness, denormalize for performance” a right mantra?

What is the resource impact from normalizing a database?

How to convince someone to normalize a database?

Is it really better to use normalized tables?

012:

आप भी इन बहुत लोकप्रिय इसी तरह के सवाल में कुछ उपयोगी जानकारी मिल सकती है

+0

अंतर्दृष्टि प्रतिक्रिया के लिए धन्यवाद! सिर्फ एक सवाल - ओएलटीपी क्या है? – bodacydo

+0

ऑनलाइन लेनदेन प्रसंस्करण। यह उन ऐप्स को संदर्भित करता है जहां उपयोगकर्ता डेटा प्रविष्टि कर रहे हैं, या सीआरयूडी (बनाएं, पढ़ें, अपडेट करें, हटाएं)। इन ऐप्स में, चयन के अलावा डेटाबेस को INSERT, अद्यतन और डेटा हटाएं। ऑनलाइन विश्लेषणात्मक प्रसंस्करण और रिपोर्टिंग के विपरीत, जहां अधिकांश डेटाबेस इंटरैक्शन चयन होता है, और बहुत कम INSERT, UPDATE या DELETEs हैं। – DOK

6

NoSQL चांदी की बुलेट नहीं है: यह केवल एक तकनीक है जो कुछ परिस्थितियों के लिए एक बेहतर फिट प्रदान कर सकती है। संबंधपरक रूप से आकार के डेटा के लिए, आरडीबीएमएस जल्द ही किसी भी समय नहीं जा रहा है।

2

हां, एक लेनदेन प्रणाली हमेशा सामान्यीकृत करने के लिए, या संभावना है कि आप सड़क के नीचे प्रमुख सिरदर्द आगे बढ़ने जा रहे हैं। एक डेटाबेस के लिए जिसका उपयोग रिपोर्टिंग/OLAP के लिए किया जाएगा स्कीमा को denormalising बहुत उपयोगी हो सकता है।

1

अंगूठे का एक नियम "जॉइन प्रसंस्करण शक्ति पर महंगा है"। मैं बड़े या छोटे प्रोजेक्ट के लिए डेटाबेस बनाते समय उपयोग करता हूं। टेबल्स जिनमें उपयोगकर्ता नाम, पते इत्यादि जैसे डेटा हैं, हमेशा सामान्यीकृत किए जाने चाहिए क्योंकि उन्हें हाल ही में उपयोग किया जाता है कि आपने सिखाए गए उदाहरणों का उपयोग करके सिखाया था। अब हाल के वर्षों में वेब 2.0 डेटा, ऐप, मोबाइल सर्विसेज इत्यादि ने वास्तव में एक अलग प्रकार का डेटा लिया है, जिसमें मेमोरी कोड की बहुतायत के साथ भी कम है, यह प्रोसेसिंग पावर को उन सभी को "टेबल" पर रखने के लिए सहेज सकता है, न कि इसे सामान्य बनाना

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