विंडोज / लिनक्स रिलेशनल डेटाबेस (RDBMS) का उपयोग क्यों नहीं करते हैं?


32

Windows / Linux रिलेशनल डेटाबेस ( RDBMS ) का उपयोग क्यों नहीं करते ?

मुझे पता है कि वे सभी डेटा संग्रहीत करने के लिए फ़ाइल सिस्टम का उपयोग करते हैं लेकिन क्या आपको नहीं लगता कि डेटाबेस का उपयोग करना अधिक कुशल है जैसे हम वेब साइटों / वेब ऐप में उपयोग करते हैं?

कृपया भंडारण के लिए डेटाबेस पर फ़ाइल सिस्टम के उपयोग पर विस्तृत करें।

यह एक डुप्लिकेट नहीं है जब डेटाबेस का उपयोग पाठ फ़ाइल से डेटा पार्स करने पर करना चाहिए? मैं केवल ऑपरेटिंग सिस्टम संदर्भों के संदर्भ में बात कर रहा हूं, और यह प्रश्न सामान्यीकृत है।


32
एक फ़ाइल सिस्टम है एक डेटाबेस।

20
क्योंकि डेटा बेस को लागू करने के लिए फाइल सिस्टम आवश्यक है ।
किलियन फोथ

16
विंडोज एक डेटाबेस का उपयोग करता है, इसे "रजिस्ट्री" कहा जाता है। या क्या आपका मतलब है "संबंधपरक डेटाबेस"? यह एक अलग सवाल है।
डॉक्टर ब्राउन

6
@ gnasher729 फाइल सिस्टम एक विशेष प्रकार का डेटाबेस है, और केवल विशेष प्रकार के डेटा के लिए ही अच्छा है। अन्य प्रकार के डेटा को विभिन्न प्रकार के डेटाबेस (जैसे संबंधपरक) के साथ बेहतर तरीके से परोसा जाता है।

6
@KilianFoth, वास्तव में नहीं। आप एक कच्चे डिस्क विभाजन (जो एक OS फ़ाइल के लिए तुलनीय नहीं है) को लिख सकते हैं।
पॉल ड्रेपर

जवाबों:


60

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

हाल के कंप्यूटरों पर अभी भी कताई हार्ड डिस्क का उपयोग करते हुए , डिस्क इतनी धीमी है - सीपीयू या रैम के सापेक्ष - जो कुछ सॉफ़्टवेयर परतों को जोड़ना प्रासंगिक नहीं है। SSD तकनीक शायद बदल सकती है, और कुछ फ़ाइल सिस्टम SSDs के लिए अनुकूलित हैं।

फ़ाइलें (- संपादक, linkers - विशेष रूप से, सी compilers और सबसे उपकरणों में करना चाहते हैं फ़ाइलें, इसलिए वहाँ एक चिकन और अंडे की समस्या नहीं है) ऐतिहासिक और सामाजिक कारणों के लिए सामान्य रूप में सबसे OSes में मौजूद हैं, और क्योंकि वहाँ बहुत अच्छा के एक बहुत हैं फ़ाइल सिस्टम कार्यान्वयन।

BTW, कुछ आवश्यक सिस्टम सुविधाएं डेटाबेस का उपयोग कर सकती हैं। उदाहरण के लिए लिनक्स पीएएम को डेटाबेस में जानकारी का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है (लेकिन यह शायद ही कभी अभ्यास में किया जाता है)। इसके अलावा, कुछ मेल सर्वर अपने कुछ या अधिकांश डेटा डेटाबेस (जैसे एक्जिम ) में संग्रहीत कर सकते हैं ।

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

आप किसी भी फाइल के बिना एक ऑपरेटिंग सिस्टम डिजाइन कर सकते हैं , लेकिन कुछ अन्य ऑर्थोगोनल दृढ़ता मशीनरी के साथ (जैसे कि हर प्रक्रिया लगातार हो रही है, तो आप भंडारण के बारे में बहुत स्पष्ट रूप से परवाह नहीं करते हैं , क्योंकि ओएस लगातार संसाधनों का प्रबंधन कर रहा है)। यह कई अकादमिक ऑपरेटिंग सिस्टम (1) में किया गया है (और 1980 के दशक की स्मालटाक और लिस्प मशीनों में भी, किसी तरह आईबीएम सिस्टम i , उर्फ AS / 400 में , और कुछ टॉय प्रोजेक्ट में ओसदेव से जुड़ा हुआ है )), लेकिन जब आप अपने ओएस को इस तरह से डिजाइन करते हैं तो आप कई मौजूदा उपकरणों पर लाभ नहीं उठा सकते हैं (जैसे कि आपको अपने कंपाइलर और अपने यूजर इंटरफेस को खरोंच से बनाने की आवश्यकता है, और यह बहुत काम का है)।

ध्यान दें कि फ़ाइल सिस्टम सिर्फ एप्लिकेशन सर्वर हैं (जैसे हर्ड ट्रांसलेटर्स यूजरलैंड में चल रहे हैं) , माइक्रो कर्नेल ऑपरेटिंग सिस्टम को कर्नेल परतों द्वारा प्रदान की गई फ़ाइलों की आवश्यकता नहीं हो सकती है । पर भी देखो unikernel आज के में दृष्टिकोण MirageOS

लिनक्स (और शायद विंडोज, जिसे वीएमएस और यूनिक्स से इसकी अधिकांश प्रेरणा मिली ) को काम करने के लिए फाइलों की आवश्यकता है। कम से कम, init प्रोग्राम (कर्नेल द्वारा शुरू किया पहला कार्यक्रम) एक निष्पादन एक फ़ाइल में संग्रहीत किया जाना चाहिए (अक्सर /sbin/init, लेकिन यह किया जा सकता है systemd इन दिनों), और (लगभग) सभी अन्य कार्यक्रमों के साथ शुरू कर रहे हैं execve (2 ) syscall तो एक फ़ाइल में संग्रहीत किया जाना चाहिए। हालाँकि, FUSE आपको गैर-फ़ाइल चीज़ों को फ़ाइल-जैसे शब्दार्थ देने में सक्षम बनाता है।

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

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

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


नोट 1: लगातार शैक्षिक OS में लिसाक और ग्रासहॉपर शामिल हैं , लेकिन ये शैक्षणिक परियोजनाएं निष्क्रिय लगती हैं। Http://tunes.org/ पर भी देखें ; यह निष्क्रिय है, लेकिन इस तरह के विषयों के बारे में बहुत सारे विचार विमर्श किया है।

नोट 2: फ़ाइल की धारणा व्यापक रूप से अधिक समय (देखो पर बदल गया है इस मेरी पहली प्रोग्रामिंग अनुभवों के बारे में जवाब): पहला MSDOS पर 1980 के दशक में आईबीएम पीसी (! कोई निर्देशिका), वीएमएस -ओं 1978 Vaxen - (दोनों अचल रिकॉर्ड था फ़ाइलें और अनुक्रमिक फ़ाइलें, एक आदिम संस्करण प्रणाली के साथ), 1970 के दशक के मेनफ्रेम ( OS / VS2 MVS के साथ IBM / 370 ) में फ़ाइलों और फ़ाइल सिस्टम की एक बहुत अलग धारणा थी (विशेष रूप से क्योंकि उनके समय में हार्ड डिस्क एक्सेस समय का अनुपात था) कोर मेमोरी एक्सेस का समय कुछ हज़ार था - इसलिए उस समय डिस्क आज की तुलना में अपेक्षाकृत तेज़ थी, भले ही आज के डिस्क बिल्कुल होंपिछली सदी की तुलना में, आज सीपीयू / डिस्क की गति का अनुपात लगभग एक मिलियन है; लेकिन हमारे पास अब एसएसडी हैं)। इसके अलावा, फ़ाइलें हैं कम (या नहीं) उपयोगी जब स्मृति लगातार है (के रूप में CAB500 चुंबकीय ड्रम, 1960; का उपयोग कर या भविष्य कंप्यूटर MRAM )


9
यह भी इंगित करने के लायक है कि कुछ फाइल सिस्टम में वास्तव में कई आरडीबीएमएस विशेषताएं हैं। उदाहरण के लिए, BeFS में फ़ाइल मेटाडेटा (विशेष रूप से विस्तारित मेटाडेटा) को B + पेड़ों के साथ अनुक्रमित किया गया है, और BeOS फ़ाइल प्रबंधक में SQL- जैसा लुकअप इंजन था जो फ़ाइलों को खोजने के लिए अनुक्रमित मेटाडेटा को खोजता था।
ग्रेफेड

2
मैं उन्हें अपने उत्तर में डालने की हिम्मत नहीं कर रहा हूं, लेकिन दोनों tunes.org और J.Pitrat का ब्लॉग सॉफ्टवेयर और ऑपरेटिंग सिस्टम के बारे में आपके विचारों को व्यापक बना सकता है।
बेसिल स्टारीनेवविच

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

3
@PeterCordes: BeFS ने ऐसा किया। चूँकि सभी मेटाडेटा B + ट्री-इंडेक्सेड थे, इसलिए इसमें रेंज क्वेरीज़, वाइल्डकार्ड्स, जॉन्स और अन्य मज़ेदार चीजें सपोर्ट की गईं। मुझे याद है कि Microsoft WinFS में यही काम कर रहा था।
ग्रेफेड

4
PalmOS एक काफी मुख्यधारा वाला ओएस था जिसमें एक फाइलसिस्टम नहीं था। इसके बजाय इसका एक संबंधपरक डेटाबेस था जिसे सीधे रैम / फ्लैश पर लागू किया गया था (मूल हार्डवेयर आज iPhones की तरह फ्लैश मेमोरी का उपयोग नहीं करता था, लेकिन रैम और डिस्क दोनों के लिए बैटरी-समर्थित स्टैटिक रैम का उपयोग करता था)।
स्लीवतमैन

23

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

सभी मौजूदा फ़ाइल सिस्टमों को इन पुराने एपीआई के साथ पिछड़े संगत होने की आवश्यकता है।

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

अन्य OS में RDBMS फाइल सिस्टम हैं। एएस / 400s के पास ये होते थे, हालांकि मैंने कभी उनके बारे में पर्याप्त नहीं सीखा; मुझे याद है कि उस समय यह कितना अजीब था)। मुझे लगता है कि अन्य मेनफ्रेम सिस्टम के पास एक ही तरह का दृष्टिकोण है।


1
यदि मेमोरी कार्य करती है तो आप OS / 400 aka i5 / OS पर DB2 UDB (अब सिर्फ "IBM i" कहा जाता है) के बारे में सोच सकते हैं: publib.boulder.ibm.com/iseries/v5r2/ic2924/rfo/rzamb/ ...
ब्रायन क्लाइन

1
हाँ, यह एक "खोज के साथ -exec" करने के बजाय फ़ाइल अनुमतियों पर BEGIN TRANSACTION / COMMIT में बहुत अच्छा होगा। एडमिनलैंड में निम्न स्तर की आदिम फाइलसिस्टम डेडलिंग का बढ़ना आकस्मिक है और इसे प्रोग्रामिंग प्लगबोर्ड के रास्ते जाना चाहिए। एक उचित बायस्ट्रीम स्टोरेज और मेटाडेटा प्रबंधन प्रणाली के रूप में "फाइलसिस्टम" (हालांकि बायस्ट्रीम कंटेंट की व्याख्या अभी भी आवेदन परतों पर छोड़ दी जानी चाहिए, अन्यथा सिरदर्द होगा)? हाँ, हम चाहते हैं!
डेविड टोनहोफर

12

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

उन्हें विलय करने के फायदे हैं, लेकिन अभी तक उन लोगों के बीच कुछ कम और पर्याप्त है कि आंदोलन धीरे-धीरे बढ़ रहा है। इस बात पर विचार करें कि लोगों के लिए यह कहना दुर्लभ है कि "मुझे 2010 से अब तक मिले प्रत्येक चालान का तीसरा कॉलम दें, और उन्हें एक साथ सम्‍मिलित करें," या "जब तक मैंने इसे एक्सेल से हटा नहीं दिया है, तब तक मुझे इस फ़ाइल को हटाने न दें।" स्प्रेडशीट भी। "

फाइल सिस्टम के रिलेशनल डेटाबेस पर कुछ फायदे हैं जो उन्हें जारी रखते हैं:

  • वे बहुत सरल हैं। कंप्यूटर को बूटस्ट्रैप करते समय यह एक बड़ी बात है। यहां तक ​​कि एंड्रॉइड पर , जहां उनके पास भंडारण के लिए RDBMS है, उनके पास शुरुआती बूटलोडिंग प्रक्रिया के प्रबंधन के लिए सादे पुराने चित्र हैं।
    • उनकी सीमाओं को परिभाषित करना अधिक आसान है। एक असीमित मशीन में, आरडीबीएम काफी शक्ति प्रदान करते हैं। हालाँकि, फ़ाइल सिस्टम की दुनिया में, बहुत सी सीमाएँ हैं जो सीधे कताई डिस्क के शीर्ष पर स्तरित होने पर तेज़ होने की कोशिश करने से उपजी हैं। यह साबित करना कठिन है कि RDBMS क्वेरी उन सीमाओं से अधिक नहीं है, जो किसी फ़ाइल सिस्टम के लिए समान गारंटी प्रदान करना है।
  • वे पदानुक्रमित संरचनाओं को बेहतर तरीके से संभालते हैं। कई मामलों में, लोगों के लिए पदानुक्रमित रूप में फ़ाइलों को संग्रहीत करना अभी भी स्वाभाविक है। RDBMSes में, यह एक विशेष मामला है। फ़ाइल सिस्टम उस विशेष मामले के लिए अनुकूलन करते हैं, RDBMSes नहीं करते हैं।
  • विश्वसनीयता। यह साबित करना बहुत आसान है कि दो परतें स्वतंत्र रूप से काम करती हैं यह साबित करने के लिए कि एक विशाल प्रणाली पूरी तरह से काम करती है। RAID सरणियाँ, बिजली की विफलताओं के समय में विफल-सुरक्षित पत्रिकाएं, और अन्य उन्नत सुविधाओं को ACID या विदेशी प्रमुख बाधाओं जैसी चीजों से निपटने वाली परत के नीचे एक परत में लागू करना आसान है ।

1
विश्वसनीयता: आप डीबी को RAID के शीर्ष पर वैसे ही चला सकते हैं जैसे आप एक RAID डिवाइस पर एक फाइल सिस्टम चला सकते हैं, बनाम सीधे एक डिस्क का उपयोग करके। जर्नलिंग को फाइलसिस्टम / डीबी के अंदर करने की आवश्यकता होती है, हालांकि (जब तक आप इसके बजाय राइट कैशिंग को अक्षम करके सही गारंटी प्रदान करना चाहते हैं, और I / Os अर्थात syncमोड को पुन: व्यवस्थित नहीं कर सकते हैं ) +1 आपके अन्य सभी बिंदुओं के लिए, esp। तेजी से उत्तराधिकारी प्रदर्शन जहां एक उप-सामान में एक टन सामान दूसरे उपखंड में प्रदर्शन को धीमा नहीं करता है। जब तक प्रत्येक डायर या फ़ाइल एक अलग तालिका नहीं होती ...
पीटर कॉर्ड्स

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

3

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

जाहिरा तौर पर, ऐसी तकनीकें हैं जो आपको रिलेशनल डेटाबेस को फाइल सिस्टम के रूप में माउंट करने की अनुमति देती हैं जब उनका उपयोग उचित होता है। Oracle DBFS (डेटाबेस फाइल सिस्टम) एक उदाहरण है। प्रलेखन से यह स्निपेट इसके पीछे के तर्क को काफी अच्छी तरह से समझाता है:

डेटाबेस फाइल सिस्टम (डीबीएफएस) डेटाबेस में संग्रहित फाइलों के लिए एक मानक फाइल सिस्टम इंटरफेस को लागू करने के लिए डेटाबेस की फाइलों को संग्रहीत करने के लिए और कुशलतापूर्वक प्रबंध डेटा में डेटाबेस की ताकत का लाभ उठाता है। इस इंटरफ़ेस के साथ, डेटाबेस में फ़ाइलें संग्रहीत करना अब विशेष रूप से उपयोग BLOBऔर CLOBप्रोग्रामेटिक इंटरफेस के लिए लिखे गए कार्यक्रमों तक सीमित नहीं है । डेटाबेस में फाइलें अब किसी भी ऑपरेटिंग सिस्टम (ओएस) प्रोग्राम का उपयोग करके पारदर्शी रूप से एक्सेस की जा सकती हैं जो फाइलों पर काम करती हैं।

समाधान डेटाबेस तालिका में संग्रहीत LOB डेटा के लिए इंटरफ़ेस (कमांड लाइन क्लाइंट, कोड लाइब्रेरी) का एक सेट प्रदान करता है। इसका उपयोग विंडोज और लिनक्स ऑपरेटिंग सिस्टम पर किया जा सकता है (हालांकि जहां तक ​​मैं बता सकता हूं, एकीकरण का स्तर उनके बीच भिन्न होता है)

Oracle DBFS घटक

स्रोत: docs.oracle.com

प्रलेखन के अनुसार, फ़ाइल सिस्टम को लिनक्स पर पारदर्शी तरीके से उपयोग करना संभव होना चाहिए

लिनक्स पर, dbfs_clientएक माउंट इंटरफ़ेस भी है जो FUSEफाइल-सिस्टम माउंट पॉइंट को लागू करने के लिए यूजर स्पेस ( ) कर्नेल मॉड्यूल में फाइलसिस्टम का उपयोग करता है जो डेटाबेस में संग्रहीत फाइलों को पारदर्शी पहुंच प्रदान करता है और इसके लिए लिनक्स कर्नेल में कोई बदलाव की आवश्यकता नहीं होती है। यह FUSEकर्नेल मॉड्यूल से मानक फ़ाइल सिस्टम कॉल प्राप्त करता है , और उन्हें OCI कॉल में DBFS कंटेंट स्टोर में PL / SQL प्रक्रियाओं में अनुवाद करता है ।

इसलिए, आपके प्रश्न का उत्तर है, सामान्य तौर पर, एक ऑपरेटिंग सिस्टम के लिए एक फ़ाइल डेटाबेस के रूप में एक रिलेशनल डेटाबेस का उपयोग करने का कोई कारण नहीं है (और एक ओएस के मुख्य घटकों के मामले में, यह वास्तव में परेशानी होगी)। एक ही समय में यह संभव है जब कोई समस्या इसके लिए बुलाती है।


2

किसी भी ओएस का मुख्य कार्य अनुप्रयोगों, हार्डवेयर और उपयोगकर्ताओं के बीच बातचीत को सुविधाजनक बनाना है।

तो .. विंडोज / लिनक्स ओएस रिलेशनल डेटाबेस (आरडीबीएमएस) का उपयोग क्यों नहीं करते हैं? यह बाइबिल के अनुपात का प्रश्न है, लेकिन संक्षिप्त उत्तर है: एक फाइल सिस्टम के रूप में एक rdbms जैसी जटिल संरचना का उपयोग करने से प्राप्त होने वाला कोई वास्तविक लाभ नहीं है।

"रिलेशनल" "रिलेशनल डेटाबेस" में ऑपरेटिव शब्द है और फ़ाइल सिस्टम में संग्रहीत अधिकांश डेटा अन्य डेटा से संबंधित नहीं है। फ़ाइल सिस्टम को आम तौर पर सीमित डेटाबेस के रूप में लागू किया जाता है, केवल संबंधपरक नहीं।


हो सकता है कि एक बेहतर सवाल यह हो - फाइलों के लिए डेटा को जारी रखने के बजाय अनुप्रयोगों को डेटाबेस की आवश्यकता क्यों है? मुझे इस प्रश्न का संतोषजनक उत्तर कभी नहीं मिला। एक संबंधपरक डेटाबेस के सभी कथित लाभों को एक फ़ाइल sustem के साथ प्राप्त किया जा सकता है
श्रीधर सरनोबत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.