2009-05-29 10 views
10

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

+0

मेरे पास कुछ विचार हैं, लेकिन उन्हें ऑफ़लाइन चर्चा करना पसंद करेंगे। क्या आप अब भी रुचि रखते हैं? – Ries

+2

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

+0

मुझे आश्चर्य है कि सौ-एक-एक-प्रतिशत-अस्पष्ट प्रश्न अभी तक बंद नहीं किया गया है। – puk

उत्तर

1

सबसे आसान तरीका यह fuse का उपयोग कर, एक डाटाबेस बैक-एंड के साथ निर्माण करने के लिए किया जाएगा।

इसे करने के लिए एक और मुश्किल बात यह है कि इसे कर्नेल मॉड्यूल (वीएफएस) के रूप में रखना है।

विंडोज पर, आप IFS का उपयोग कर सकते हैं।

0

शायद this एक विचार है कि यह कैसे काम कर सकता था प्राप्त करने के लिए एक अच्छा प्रारंभिक बिंदु है।

यह Firebird आर्किटेक्चर का basic overview है।

Firebird एक खुला स्रोत आरडीबीएमएस, तो आप एक असली गहरी अंतर्दृष्टि देख सकते हैं, भी, अगर आप रुचि रखते हैं है।

1

मैं सच में यकीन है कि आप के साथ क्या मतलब है नहीं कर रहा हूँ "एक डेटाबेस फाइल सिस्टम एक फाइल सिस्टम एक पदानुक्रम के बजाय एक डेटाबेस है कि है।"

शायद, "Filesystem in Userspace" (FUSE) का उपयोग करके, जैसा कि ओसामा अलास्सी द्वारा उल्लिखित है, एक अच्छा विचार है। FUSE wiki lists a lot of existing projects डाटाबेस समर्थित बैक सिस्टम के साथ-साथ फाइल सिस्टम के बारे में जिसमें आप SQL-like क्वेरी द्वारा खोज सकते हैं।

5

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

+0

उसे नहीं देखा था। बहुत ही रोचक! – Dave

+0

हाँ। मैं इसे डीबीएफएस के संदर्भ के रूप में उपयोग कर रहा हूं जिसे मैं विंडोज़ में बना रहा हूं। –

0

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

सामूहिक डेटा स्टोर के रूप में एक संबंधपरक डेटाबेस कैसे करें अपेक्षाकृत आसान है। ओरेकल और MySQL दोनों में ये है। पकड़ यह अनिवार्य रूप से अंत उपयोगकर्ता अनुप्रयोगों के लिए सर्वव्यापी होना चाहिए।

तो एक ऐप्लिकेशन रूपांतरण के लिए कदम हैं:

1) डेटाबेस में प्रकाश मेटाडाटा के साथ एक सामान्य श्रेणीबद्ध फाइल सिस्टम

2) डाटा में सब कुछ BLOBs में। कुछ कैटलॉग जानकारी के साथ फ़ाइल करें।

3) डेटाबेस में व्यापक मेटाडेटा और जटिल संरचनाओं के साथ बीएलओबी में बड़ा डेटा। इसके साथ जुड़े पर्याप्त मेटाडेटा के साथ फ़ाइल जो संरचना को समझने के लिए अनिवार्य रूप से हो सकती है। > व्यापक मेटा डेटा के साथ संबंधपरक मानचित्र -

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

0

आप अजगर का उपयोग करते हैं तो SpiderOak के Transactional Storage System पर एक नजर है:

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

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