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