এই পৃষ্ঠায় Cloud Firestore-এ কাজ করে এমন ডেটার ধরন সম্পর্কে বর্ণনা করা হয়েছে।
ডেটার ধরন
Cloud Firestore-এ কাজ করে এমন ডেটার ধরন নিচের সারণীতে তালিকাভুক্ত করা হয়েছে। এছাড়াও, একই ধরনের ভ্যালু তুলনা করার সময় ব্যবহৃত ক্রমানুসারে সাজানোর সেটিং বর্ণনা করে:
| ডেটার ধরন | সাজানোর ক্রম | নোট |
|---|---|---|
| অ্যারে | এলিমেন্ট ভ্যালু অনুযায়ী |
Standard এডিশন ডেটাবেসে, কোনও অ্যারেতে অন্য কোনও অ্যারে ভ্যালু তার এলিমেন্ট হিসেবে থাকতে পারে না। Enterprise এডিশন ডেটাবেসে, একটি অ্যারেতে এর এলিমেন্ট হিসেবে একটি অ্যারে ভ্যালু থাকতে পারে। অ্যারের মধ্যে, এলিমেন্টগুলি তাদের জন্য নির্ধারিত পজিশন বজায় রাখে। দুই বা তার বেশি অ্যারে সাজানোর সময়, অ্যারেগুলি তাদের এলিমেন্টের মানের উপর ভিত্তি করে সাজানো হয়। দুটি অ্যারে তুলনা করার সময়, প্রতিটি অ্যারের প্রথম এলিমেন্ট তুলনা করা হয়। প্রথম এলিমেন্ট সমান হলে, দ্বিতীয় এলিমেন্ট তুলনা করা হয় এবং পার্থক্য না পাওয়া পর্যন্ত এই প্রক্রিয়া চলতে থাকে। তুলনা করার জন্য কোনও অ্যারেতে এলিমেন্ট শেষ হয়ে গেলে, কিন্তু সেই পয়েন্ট পর্যন্ত সমান হলে, ছোট অ্যারেটি বড় অ্যারের আগে সাজানো হয়। যেমন, |
| Boolean | false < true |
— |
| বাইট | বাইট অর্ডার | Standard সংস্করণের ডেটাবেসে, ভ্যালু ১,০৪৮,৪৮৭ বাইটের (১ MiB - ৮৯ বাইট) বেশি হতে পারবে না এবং কোয়েরির ক্ষেত্রে শুধু প্রথম ১,৫০০ বাইট বিবেচনা করা হয়। Enterprise এডিশন ডেটাবেসে, ভ্যালুর সাইজের উপর কোনও সীমা নেই (ডকুমেন্ট এবং ইন্ডেক্স এন্ট্রি সাইজের সীমা ছাড়া) এবং সম্পূর্ণ ভ্যালু কোয়েরি দ্বারা বিবেচনা করা হয়। |
| তারিখ এবং সময় | কালানুক্রমিক | Cloud Firestore-এ স্টোর করা হলে, শুধুমাত্র মাইক্রোসেকেন্ড পর্যন্ত সুনির্দিষ্ট; যেকোনও অতিরিক্ত সুনির্দিষ্টতা রাউন্ড ডাউন করা হয়। |
| ফ্লোটিং-পয়েন্ট নম্বর | সাংখিক | IEEE 754 অনুযায়ী ৬৪-বিট ডবল প্রিসিশন, যার মধ্যে (নর্মালাইজ করা) NaN ও +/-Infinity অন্তর্ভুক্ত। |
| ভৌগোলিক পয়েন্ট | অক্ষাংশ, তারপর দ্রাঘিমাংশ অনুযায়ী | দূরত্বের ভিত্তিতে সার্চ করতে, জিওস্পেশিয়াল সার্চ দেখুন। |
| পূর্ণসংখ্যা | সাংখিক | 64-বিট, সাইন করা |
| ম্যাপ | 'কী' অনুযায়ী, তারপর ভ্যালু অনুযায়ী | ডকুমেন্টের মধ্যে এম্বেড করা অবজেক্টকে দেখায়। ইনডেক্স করা হলে, আপনি সাবফিল্ডে কোয়েরি করতে পারবেন। আপনি যদি ইন্ডেক্সিং থেকে এই ভ্যালু বাদ দেন, তাহলে সব সাবফিল্ডও ইন্ডেক্সিং থেকে বাদ দেওয়া হবে।
'কী' সবসময় সাজানো থাকে। যেমন, আপনি যদি
ম্যাপ ফিল্ড 'কী' অনুযায়ী সাজানো হয় এবং 'কী-ভ্যালু' পেয়ার অনুযায়ী তুলনা করা হয়, প্রথমে 'কী' এবং তারপর ভ্যালু তুলনা করা হয়। প্রথম কী-ভ্যালুর পেয়ার সমান হলে, পরবর্তী কী-ভ্যালুর পেয়ারের সাথে তুলনা করা হয় এবং এইভাবে চলতে থাকে। দুটি ম্যাপে একই কী-ভ্যালু পেয়ার থাকলে, ম্যাপের দৈর্ঘ্য বিবেচনা করা হয়। যেমন, নিম্নলিখিত ম্যাপগুলি ছোট থেকে বড় ক্রমানুসারে সাজানো আছে:
|
| ফাঁকা | কোনওটিই নয় | — |
| রেফারেন্স | পাথ এলিমেন্ট অনুযায়ী (কালেকশন, ডকুমেন্ট আইডি, কালেকশন, ডকুমেন্ট আইডি...) | যেমন,
projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH]। |
| টেক্সট স্ট্রিং | UTF-8 এনকোড করা বাইট অর্ডার | Standard সংস্করণের ডেটাবেসে, ভ্যালু ১,০৪৮,৪৮৭ বাইটের (১ MiB - ৮৯ বাইট) বেশি হতে পারবে না এবং কোয়েরির মাধ্যমে শুধু প্রথম ১,৫০০ বাইট বিবেচনা করা হয়। Enterprise এডিশন ডেটাবেসে, ভ্যালুর সাইজের উপর কোনও সীমা নেই (ডকুমেন্ট এবং ইন্ডেক্স এন্ট্রি সাইজের সীমা ছাড়া) এবং সম্পূর্ণ ভ্যালু কোয়েরি দ্বারা বিবেচনা করা হয়। |
| ভেক্টর | ডাইমেনশন এবং তারপর প্রতিটি এলিমেন্টের ভ্যালু অনুযায়ী | সর্বাধিক অনুমোদিত এম্বেডিং ডাইমেনশন হল ২০৪৮। আরও বড় ডাইমেনশন সহ ভেক্টর স্টোর করতে, ডাইমেনশন কমানো ফিচার ব্যবহার করুন। |
ভ্যালুর ধরন অনুযায়ী সাজানো
কোনও কোয়েরিতে মিশ্র ধরনের ভ্যালু সহ ফিল্ড থাকলে, Cloud Firestore ইন্টার্নাল রিপ্রেজেন্টেশনের উপর ভিত্তি করে একটি নির্ধারক ক্রম ব্যবহার করে। নিম্নলিখিত তালিকায় ক্রম দেখানো হয়েছে:
- Null ভ্যালু
- বুলিয়ান ভ্যালু
- পূর্ণসংখ্যা এবং ফ্লোটিং-পয়েন্ট মান, সংখ্যাসূচক ক্রমে সাজানো
- তারিখের ভ্যালু
- টেক্সট স্ট্রিং ভ্যালু
- বাইট ভ্যালু
- Cloud Firestore রেফারেন্স
- ভৌগোলিক পয়েন্ট ভ্যালু
- অ্যারে ভ্যালু
- ভেক্টর এম্বেডিং
- ম্যাপের ভ্যালু
সাংখ্যিক ক্রম
Cloud Firestore সব সংখ্যাসূচক মান (Integer ও Floating point)
একে অপরের সাথে ইন্টারলিভ করে সাজায়। ফ্লোটিং পয়েন্টের তুলনা IEEE 754-এর সম্পূর্ণ
ক্রম অনুসরণ করে, তবে উল্লেখযোগ্য
ব্যতিক্রম হল Cloud Firestore সব NaN ভ্যালু নরমালাইজ করে এবং
সেটিকে -Infinity-এর থেকে কম বলে বিবেচনা করে।