2009-11-04 17 views
5

माइस्क्ल के इनोडब में पृष्ठ, सीमा, सेगमेंट, टेबलस्पेस की अवधारणाएं हैं लेकिन मुझे नहीं पता कि वे एक दूसरे के साथ कैसे बातचीत करते हैं। वे कैसे संबंधित हैं? इसका मतलब क्या है कि एक टेबलस्पेस में 16 के पेज हैं? यह भौतिक पंक्तियों से कैसे संबंधित है और स्मृति में कुछ 'पेज' है?पेज बनाम विस्तार बनाम सेगमेंट बनाम टेबल्स स्पेस

मुझे लगता है कि ओरेकल की एक ही अवधारणा हो सकती है लेकिन मुझे यकीन नहीं है कि इसे कहां देखना है। क्या कोई अच्छा संदर्भ/पुस्तक है जो इस बारे में विस्तार से बात करती है?

उत्तर

1

वहाँ कम से इसके बारे में एक बहुत अच्छी चर्चा है:

http://www.markleith.co.uk/?p=25

 File system    -> InnoDB 
---------------------------------------------- 
disk partition   -> tablespace 
file      -> segment 
inode     -> fsp0fsp.c 'inode' 
fs space allocation unit -> extent 
disk block    -> page (16 kB) 

तुम सच में गहरे विवरण चाहते हैं, वहाँ भी है:

http://forge.mysql.com/wiki/MySQL_Internals_InnoDB

0

ओरेकल भौतिक लेआउट, और टेबल और टेबलस्पेस का वर्णन करने के लिए ब्लॉक, सेगमेंट और एक्सेंट्स हैं तार्किक लेआउट का वर्णन आर। दुर्भाग्य से, मुझे विवरण याद नहीं है, और किसी भी मामले में मैंने उन्हें दो संस्करण पहले सीखा।

सामान्यतः, डेटाबेस का वर्णन करने के दो अलग-अलग तरीके होंगे। उपयोगकर्ताओं के दृष्टिकोण से, डेटाबेस को टेबलस्पेस में विभाजित किया जा सकता है, और टेबलस्पेस में सारणी होती है, जिसमें पंक्तियां होती हैं, और इसी तरह। इन्हें डिस्क पर कहीं भी रहना पड़ता है, और इसलिए डीबीए को आम तौर पर फ़ाइलों को आवंटित करना होगा, और फाइलों के अंदर एक लेआउट होना चाहिए जो पंक्तियों और फ़ील्ड को फ़ाइल के बाइट्स में संग्रहीत करने की अनुमति देगा।

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

ध्यान रखें कि डेटाबेस सिस्टम आमतौर पर प्रलेखन के साथ आते हैं, और ओरेकल और डीबी 2 जैसी प्रणालियों में आमतौर पर बहुत व्यापक दस्तावेज होते हैं, अक्सर पुस्तकों में व्यवस्थित होते हैं जिन्हें आप ऑनलाइन पढ़ सकते हैं या किसी रूप में या अन्य में डाउनलोड कर सकते हैं। बेशक, www.oracle.com या www.ibm.com पर वास्तव में कुछ खोजने की कोशिश करना निराशाजनक अनुभव हो सकता है, लेकिन Google शायद अभी भी आपका मित्र है।

+0

क्या आप इन चीजों को समझाते हुए एक अच्छी ओरेकल पुस्तक की सिफारिश कर सकते हैं? – bichonfrise74

+0

यह एक बहुत अच्छा है: http://www.amazon.com/Oracle-Database-10g-DBA-Handbook/dp/0072231459/ref=sr_1_1?ie=UTF8&s=books&qid=1257384634&sr=8-1 –

0

ओरेकल भौतिक डेटाबेस संरचना और लॉजिकल डेटाबेस संरचना के बीच एक अंतर है। ओरेकल डेटा फाइलें और नियंत्रण फाइलें भौतिक संरचना का हिस्सा हैं, जबकि ब्लॉक और एक्सेंट्स लॉजिकल के हिस्से हैं।

"ओरेकल आर्किटेक्चर" पर Google खोज परिणाम का एक गुच्छा पैदा करता है। This और this one उपयोगी हो सकते हैं, या आप this one जैसी अच्छी पुस्तक खरीदना चुन सकते हैं। लेकिन ओरेकल डेटाबेस के बारे में जानकारी के सर्वोत्तम स्रोतों में से एक Oracle documentation itself है।

पसंद के आपके डेटाबेस संस्करण के लिए दस्तावेज़ीकरण ऑनलाइन दोनों और स्थानीय डाउनलोड के लिए Oracle web site से उपलब्ध है।

7

विशेष रूप से InnoDB के लिए:

एक टेबल-स्पेस दोनों एक भौतिक और एक तार्किक अवधारणा है। ऐसा लगता था कि सभी innodb टेबलों को उनके डेटा ibdata फ़ाइलों में एक साथ मिला था। उन फ़ाइलों के भीतर, एक टेबलस्पेस तालिका बनाने के खंडों का एक अनिवार्य रूप से संगत संग्रह नहीं है। MySQL के नए संस्करणों में, एक ही तालिका को अपनी फ़ाइल में रखा जा सकता है, जिसे टेबलस्पेस भी कहा जाता है।

या तो मामले में, एक टेबल-स्पेस होता है:

  • क्षेत्रों, जो 1 या अधिक है कि तालिका के लिए विस्तार होते हैं।

  • विस्तार में 64 पृष्ठ हैं। मुझे नहीं पता क्यों 64.

  • पृष्ठ 16k हैं, जो सैद्धांतिक रूप से डिस्क स्तर पर कुशल संग्रहण और पुनर्प्राप्ति के लिए अनुकूलित है। पृष्ठों को अधिक मात्रा में आवंटित किया जाता है जब अधिक पृष्ठों की आवश्यकता होती है।

this pdf का पृष्ठ 11 देखें।

+0

एक सीमा है 64 पेज क्योंकि 64x16 केबी = 1 एमबी। इसलिए एक हद तक 1 एमबी के रूप में परिभाषित किया गया है, जो मूल रूप से भंडारण के "खंड" के लिए मनमाना विकल्प है। यदि आप पृष्ठ का आकार बदलते हैं (अब MySQL 5.6 पर एक विकल्प), तो सीमा अभी भी 1 एमबी है, लेकिन अधिक पेज हो सकती है (क्योंकि प्रत्येक पृष्ठ छोटा है)। –

0

ओरेकल के भंडारण संरचना अच्छी तरह से दस्तावेज में वर्णित है: http://download.oracle.com/docs/cd/E11882_01/server.112/e10713/logical.htm#CNCPT304

एक टेबल-स्पेस एक तार्किक भंडारण कंटेनर एक या अधिक डेटा फ़ाइलों से बना है। एक टेबलस्पेस को एक विशेष ब्लॉक आकार के साथ परिभाषित किया जाता है और आम तौर पर ओरेकल डेटाबेस में सभी टेबलस्पेस में एक सामान्य अवरोध होगा। 8kb सबसे आम तौर पर चुना गया है।

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

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

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