Apple ने iCloud को अरबों डेटाबेस स्टोर करने के लिए बनाया

iCloud को अरबों logical databases के पैमाने पर चलाने के लिए FoundationDB के Apple के उपयोग से databases और filesystems की तुलना शुरू होती है, और यह दिखता है कि आधुनिक storage architectures कैसे उस सीमा को धुंधला कर देते हैं। टिप्पणीकार इस elegant backend की तुलना iCloud के अक्सर अविश्वसनीय user-facing व्यवहार से करते हैं, जिनमें photos, files, और messages को sync करने की वर्षों पुरानी समस्याएँ और cloud-based Time Machine backups की कमी शामिल है। थ्रेड में यह भी चर्चा होती है कि FoundationDB को production में और कौन चला रहा है, बड़े-scale schema migrations कैसे संभाली जाती हैं, और Obsidian या CouchDB जैसे वैकल्पिक tools sync और consistency में क्यों सफल या असफल होते हैं।

iCloud की विश्वसनीयता और उपयोगकर्ता अनुभव

  • कई टिप्पणियों में खराब विश्वसनीयता की रिपोर्ट की गई: फ़ोटो और फ़ाइलें दिनों तक सिंक में अटकी रहीं, डिवाइसों के बीच फ़ोटो की गिनती असंगत रही, और प्रगति/स्थिति अस्पष्ट रही।
  • कुछ उपयोगकर्ताओं ने स्थानीय iCloud डेटा हटाकर या Apple के ट्रबलशूटिंग टूल्स का उपयोग करके समस्याएँ ठीक कीं, लेकिन दूसरों का कहना है कि उनसे मदद नहीं मिली या घंटों इंतज़ार करना पड़ा।
  • iMessage/“Messages in iCloud” को अस्थिर बताया गया है: read/unread और deletion status अक्सर macOS और iOS के बीच लगातार सिंक नहीं होते।
  • उपयोगकर्ताओं को यह नियंत्रित करना मुश्किल लगता है कि कौन-सी चीज़ें लोकली स्टोर हों बनाम offload हों, खासकर iPhone पर, जिससे बार-बार re-downloads होते हैं और offline व्यवहार अनुपयोगी हो जाता है।
  • कुछ लोग फ़ाइल सिंक के लिए पूरी तरह iCloud छोड़ चुके हैं, क्योंकि उन्हें यह निराशाजनक लगता है कि “Optimize storage” व्यवहार Apple के FileProvider API के माध्यम से तीसरे पक्ष के sync tools पर भी थोप दिया जाता है।

डेटाबेस बनाम फ़ाइलसिस्टम चर्चाएँ

  • कई टिप्पणियाँ तर्क देती हैं कि उच्च अमूर्तन स्तर पर filesystems और databases समान हैं: दोनों keys/paths को blobs/records से map करते हैं और एक-दूसरे के ऊपर layered हो सकते हैं।
  • अन्य लोग महत्वपूर्ण व्यावहारिक अंतर पर ज़ोर देते हैं: querying capability, transactions/ACID semantics, performance sensitivity, और disks के लिए “mechanical sympathy”。
  • ऐतिहासिक और प्रयोगात्मक systems का उल्लेख किया गया: WinFS, ReiserFS, BeOS का BeFS, Oracle DBFS, bcachefs, mainframe-era hierarchical databases, और FUSE + SQL का उपयोग करने वाले projects।
  • आम सहमति “filesystem एक specialized form of database है” की ओर झुकती है, लेकिन APIs, performance constraints, और ecosystem expectations बहुत अलग हैं।

FoundationDB और Apple की architecture

  • Apple का FoundationDB के साथ-साथ higher-level layers (जैसे Record Layer) का उपयोग तकनीकी रूप से elegant माना गया है, जो अरबों logical databases को support करता है।
  • कुछ practitioners ने FoundationDB पर transactional, schema-driven systems बनाने के उत्कृष्ट अनुभव साझा किए, यह भी नोट करते हुए कि operational on-ramp और scaling trivial नहीं हैं।
  • थ्रेड में कई external adopters सूचीबद्ध हैं (जैसे analytics, monitoring, cloud providers, email servers, KV stores), साथ ही self-hosting advocates भी हैं जो bare-metal clusters पसंद करते हैं।

Backups और iCloud में Time Machine

  • कई टिप्पणीकार चाहते हैं कि Time Machine, iOS backups की तरह, iCloud पर back up कर सके।
  • इसका न होना Apple की services strategy को देखते हुए अजीब माना गया; संभावित कारणों में storage cost, existing iCloud data के साथ redundancy, home upload bandwidth, और macOS पर API complexity शामिल हैं।
  • कुछ उपयोगकर्ता third-party cloud storage और dotfile managers जैसे tools से workaround करते हैं; अन्य true system-level snapshots को प्राथमिकता देते हैं।

Storage engines और performance

  • FoundationDB के underlying storage stack पर चर्चा की गई: पहले SQLite b-trees, बाद में RocksDB, और फिर Apple का अपना Redwood engine, जिसमें prefix compression जैसे FDB-specific optimizations हैं।
  • SQLite के experimental HCTree engine का उल्लेख एक संभावित भविष्य के performance win के रूप में किया गया, यदि वह mature हो जाए।

Notes और sync tools

  • Apple Notes को कुछ लोग iCloud के माध्यम से conflict handling के लिए सराहते हैं; अन्य लोग गंभीर data loss की रिपोर्ट करते हैं और इससे बचते हैं।
  • Obsidian को उसके workflow और plugin ecosystem के लिए मज़बूत समर्थन मिलता है; Obsidian के लिए iCloud-based sync को कुछ लोग अविश्वसनीय बताते हैं, जबकि Obsidian की अपनी sync service को स्थिर बताया गया है।