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

মনে রাখবেন, Cloud Firestore আপনার ডেটা সাজানোর সময় আপনার কাছে কয়েকটি ভিন্ন বিকল্প থাকে:

  • নথি
  • একাধিক সংগ্রহ
  • Subcollections within documents

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

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

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

  • সুবিধা: আপনার ডকুমেন্টের মধ্যে যদি সহজ ও নির্দিষ্ট ডেটার তালিকা রাখতে চান, তবে এটি সেট আপ করা সহজ এবং আপনার ডেটা কাঠামোকে সুবিন্যস্ত করে।
  • সীমাবদ্ধতা: এটি অন্যান্য বিকল্পের মতো ততটা সম্প্রসারণযোগ্য নয়, বিশেষ করে যদি সময়ের সাথে সাথে আপনার ডেটা বৃদ্ধি পায়। বড় বা ক্রমবর্ধমান তালিকার ক্ষেত্রে, ডকুমেন্টটিও আকারে বড় হয়, যার ফলে ডকুমেন্ট খুঁজে বের করার সময় ধীর হয়ে যেতে পারে।
  • এর একটি সম্ভাব্য ব্যবহার কী হতে পারে? উদাহরণস্বরূপ, একটি চ্যাট অ্যাপে আপনি কোনো ব্যবহারকারীর প্রোফাইলে তার সম্প্রতি ভিজিট করা ৩টি চ্যাট রুমকে একটি নেস্টেড লিস্ট হিসেবে সংরক্ষণ করতে পারেন।
  • অ্যালোভলেস
    • নাম :
      প্রথম : "আদা"
      শেষ : 'লাভলেস'
      জন্ম : ১৮১৫
      কক্ষসমূহ :
      0 : "সফটওয়্যার চ্যাট"
      ১ : "বিখ্যাত ব্যক্তিত্ব"
      ২ : "বিখ্যাত SWE-রা"

উপ-সংগ্রহ

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

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


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

রুট-স্তরের সংগ্রহগুলি

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

  • সুবিধাসমূহ: রুট-লেভেল কালেকশনগুলো মেনি-টু-মেনি রিলেশনশিপের জন্য ভালো এবং প্রতিটি কালেকশনের মধ্যে শক্তিশালী কোয়েরি করার সুবিধা প্রদান করে।
  • সীমাবদ্ধতা: আপনার ডেটাবেস বড় হওয়ার সাথে সাথে স্বাভাবিকভাবে স্তরবিন্যাসযুক্ত ডেটা সংগ্রহ করা ক্রমশ জটিল হয়ে উঠতে পারে।
  • এর একটি সম্ভাব্য ব্যবহার কী হতে পারে? উদাহরণস্বরূপ, একই চ্যাট অ্যাপে আপনি ব্যবহারকারীদের জন্য একটি কালেকশন এবং রুম ও মেসেজের জন্য আরেকটি কালেকশন তৈরি করতে পারেন।
  • ব্যবহারকারী
    • অ্যালোভলেস
      প্রথম : "আদা"
      শেষ : 'লাভলেস'
      জন্ম : ১৮১৫
    • রাইড
      প্রথম : 'স্যালি'
      শেষ : 'রাইড'
      জন্ম : ১৯৫১
  • রুম
    • সফ্টওয়্যার
      • বার্তা
        • বার্তা১
          থেকে : 'ভালোবাসার ফিতা'
          বিষয়বস্তু : "..."
        • বার্তা২
          থেকে : "sride"
          বিষয়বস্তু : "..."