ডেটা স্ট্রাকচার বেছে নিন

মনে রাখবেন, Cloud Firestore-এ আপনার ডেটা স্ট্রাকচার করার সময়, আপনার কাছে কয়েকটি আলাদা বিকল্প থাকে:

  • ডকুমেন্ট
  • একাধিক কালেকশন
  • ডকুমেন্টের মধ্যে সাব-কালেকশন

আপনার ব্যবহারের ক্ষেত্রে প্রতিটি বিকল্পের সুবিধা বিবেচনা করুন। হায়ারার্কিকাল ডেটার জন্য কয়েকটি উদাহরণ স্ট্রাকচার এই গাইডে উল্লেখ করা হয়েছে।

ডকুমেন্টে নেস্টেড ডেটা

আপনি ডকুমেন্টের মধ্যে অ্যারে বা ম্যাপের মতো জটিল অবজেক্ট নেস্ট করতে পারবেন।

  • সুবিধা: আপনার কাছে যদি ডেটার সহজ, নির্দিষ্ট তালিকা থাকে যা আপনি নিজের ডকুমেন্টের মধ্যে রাখতে চান, তাহলে এটি সেট-আপ করা সহজ এবং আপনার ডেটা স্ট্রাকচারকে স্ট্রিমলাইন করে।
  • সীমাবদ্ধতা: এটি অন্যান্য বিকল্পের মতো স্কেলেবল নয়, বিশেষ করে যদি আপনার ডেটা সময়ের সাথে সাথে বৃদ্ধি পায়। তালিকা বড় বা আরও বড় হতে থাকলে, ডকুমেন্টও বড় হতে থাকে, যার ফলে ডকুমেন্ট খুঁজে পেতে বেশি সময় লাগতে পারে।
  • সম্ভাব্য ব্যবহারিক প্রয়োগ কী? যেমন, কোনও চ্যাট অ্যাপে, আপনি ব্যবহারকারীর প্রোফাইলে নেস্টেড তালিকা হিসেবে তার সবচেয়ে সম্প্রতি ভিজিট করা ৩টি চ্যাট রুম স্টোর করতে পারেন।
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

সাবকালেকশন

আপনার কাছে এমন ডেটা থাকলে যা সময়ের সাথে সাথে বাড়তে পারে, সেক্ষেত্রে আপনি ডকুমেন্টের মধ্যে কালেকশন তৈরি করতে পারেন।

  • সুবিধা: আপনার তালিকা বড় হতে থাকলেও, মূল ডকুমেন্টের সাইজ পরিবর্তন হয় না। এছাড়াও, আপনি সাবকালেকশনে সম্পূর্ণ কোয়েরি করার ক্ষমতা পান, এবং আপনি সাবকালেকশন জুড়ে কালেকশন গ্রুপ কোয়েরি ইস্যু করতে পারেন।
  • সীমাবদ্ধতা: আপনি সহজেই সাবকালেকশন মুছে ফেলতে পারবেন না।
  • সম্ভাব্য ব্যবহারিক প্রয়োগ কী? একই চ্যাট অ্যাপে, উদাহরণস্বরূপ, আপনি চ্যাট রুম ডকুমেন্টের মধ্যে ব্যবহারকারী বা মেসেজের সংগ্রহ তৈরি করতে পারেন।
  • বিজ্ঞান
    • সফ্টওয়্যার
        নাম : "সফ্টওয়্যার চ্যাট"
      • ব্যবহারকারী
        • alovelace
              প্রথম : "Ada"
              শেষ : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • জ্যোতিঃপদার্থবিদ্যা
      • ...

রুট-লেভেল কালেকশন

বিভিন্ন ডেটা সেট সাজাতে আপনার ডেটাবেসের রুট লেভেলে কালেকশন তৈরি করুন।

  • সুবিধা: রুট-লেভেল কালেকশন অনেকের-সাথে-অনেক সম্পর্কের জন্য ভালো এবং প্রতিটি কালেকশনের মধ্যে শক্তিশালী কোয়েরি প্রদান করে।
  • সীমাবদ্ধতা: আপনার ডেটাবেস যত বড় হবে, স্বাভাবিকভাবেই হায়ারার্কিক্যাল ডেটা পাওয়া তত জটিল হয়ে উঠতে পারে।
  • সম্ভাব্য ব্যবহারিক প্রয়োগ কী? একই চ্যাট অ্যাপে, যেমন, আপনি ব্যবহারকারীদের জন্য একটি এবং রুম ও মেসেজের জন্য আরেকটি সংগ্রহ তৈরি করতে পারেন।
  • ব্যবহারকারী
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • টি রুম
    • সফ্টওয়্যার
      • মেসেজ
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."