প্রকল্প সম্পর্কে

Tile38 একটি ওপেন-সোর্স (MIT লাইসেন্সপ্রাপ্ত) ইন-মেমরি জিওলোকেশন ডেটা স্টোর, স্পেশিয়াল ইনডেক্স এবং রিয়েলটাইম জিওফেন্সিং সার্ভার। এটি বিভিন্ন ধরনের অবজেক্ট সমর্থন করে, যেমন অক্ষাংশ/দ্রাঘিমাংশ পয়েন্ট, বাউন্ডিং বক্স, XYZ টাইলস, জিওহ্যাশ, QuadKeys এবং GeoJSON। মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে: - Nearby, Within এবং Intersects এর মতো অনুসন্ধান পদ্ধতি সহ স্পেশিয়াল ইনডেক্স - ওয়েবহুক বা pub/sub চ্যানেলের মাধ্যমে রিয়েলটাইম জিওফেন্সিং - একাধিক প্রোটোকল সমর্থন: HTTP, ওয়েবসকেট, টেলনেট এবং Redis RESP - সার্ভার প্রতিক্রিয়া RESP বা JSON ফরম্যাটে - সম্পূর্ণ কমান্ড লাইন ইন্টারফেস (tile38-cli) - লিডার/ফলোয়ার রেপ্লিকেশন - ডিস্ক স্থায়ীত্ব সহ ইন-মেমরি ডেটাবেস - Prometheus মেট্রিক্স এক্সপোর্ট সিস্টেমটি তিনটি উপাদান নিয়ে গঠিত: tile38-server (সার্ভার), tile38-cli (কমান্ড লাইন ইন্টারফেস) এবং tile38-benchmark (সার্ভার বেঞ্চমার্ক টুল)। Tile38 OSX, Linux, FreeBSD এবং Windows-এর জন্য প্রি-বিল্ট বাইনারি, Docker বা macOS-এ Homebrew এর মাধ্যমে স্থাপন করা যেতে পারে। কোডবেস সম্পূর্ণভাবে Go-তে লেখা এবং 32-বিট এবং 64-বিট উভয় সিস্টেম সমর্থন করে। অনুসন্ধান ক্ষমতাগুলির মধ্যে রয়েছে ফিল্ড মান অনুসারে ফিল্টারিং (WHERE), অবজেক্ট আইডি ম্যাচিং (MATCH), কার্সার-ভিত্তিক পুনরাবৃত্তি, ফিল্ড বর্জন (NOFIELDS) এবং ফলাফল সীমাবদ্ধকরণ (LIMIT)। WHERE এক্সপ্রেশন Go-এর re2 ইঞ্জিন ব্যবহার করে রেজেক্স ম্যাচিং সমর্থন করে। জিওফেন্সিং FENCE কীওয়ার্ড যোগ করে যেকোনো মানক অনুসন্ধানকে জিওফেন্স মনিটরে রূপান্তরিত করার অনুমতি দেয়। সার্ভার ক্লায়েন্টদের রিয়েলটাইমে অবহিত করে যখন অবজেক্টগুলি প্রবেশ করে, প্রস্থান করে বা সীমানা অতিক্রম করে, যার মধ্যে inside, outside, enter, exit এবং cross-এর মতো সনাক্তকরণ প্রকার রয়েছে। জিওফেন্স বিজ্ঞপ্তিগুলি ওয়েবহুক বা pub/sub চ্যানেলের মাধ্যমে বিতরণ করা যেতে পারে। ফিল্ডগুলি অবজেক্টের সাথে সংযুক্ত অতিরিক্ত ডেটা, যা ডাবল প্রিসিশন ফ্লোটিং পয়েন্ট মান হিসাবে সংরক্ষিত এবং প্রতি অবজেক্টে ফিল্ডের সংখ্যার কোনও সীমা নেই। Tile38-এর জন্য Go, Node.js, Python, TypeScript, Rust, Swift এবং Java-এর জন্য ডেডিকেটেড ক্লায়েন্ট লাইব্রেরি রয়েছে, পাশাপাশি এর নেটিভ RESP প্রোটোকল সমর্থনের কারণে বেশিরভাগ Redis ক্লায়েন্ট লাইব্রেরির সাথে সামঞ্জস্যপূর্ণ।