স্থানিক / বৈশিষ্ট্য অনুসন্ধান চালাতে আমরা গুগল অ্যাপইঙ্গাইন ব্যবহার করি এবং মূল সমস্যাটি (একদিন থেকে) হ'ল বড় আকারের নির্বিচারে আকারের লাইন / বহুভুজকে কীভাবে সূচক করা যায়। পয়েন্ট ডেটা খুব কঠিন নয় (জিওহ্যাশ, জিওমোডেল ইত্যাদি দেখুন) তবে এলোমেলোভাবে ক্লাস্টার করা ছোট / বৃহত বহুভুজগুলির সেট সর্বদা একটি সমস্যা ছিল (এবং কিছু ক্ষেত্রে এখনও রয়েছে)
আমি জিএই-তে স্থানিক সূচকের বিভিন্ন বিভিন্ন সংস্করণ চেষ্টা করেছি তবে বেশিরভাগটি নীচের দুটি মাত্রের বৈকল্পিক। এসকিউএল ডেটাবেসগুলির মতো কোনওটিই তত দ্রুত ছিল না এবং সকলের পক্ষে ভাল / বিপরীত রয়েছে। যদিও বেশিরভাগ ইন্টারনেট ভিত্তিক ম্যাপিং অ্যাপ্লিকেশনগুলির জন্য ট্রেড অফগুলি যুক্তিসঙ্গত বলে মনে হয়। এছাড়াও, চূড়ান্ত অনুসন্ধানের পরামিতিগুলির সাথে খাপ খায় না এমন কোনও বৈশিষ্ট্য অপসারণ করতে নীচের দু'জনকে ইন-মেমরি জ্যামিতি কুলিংয়ের (জেটিএস ইত্যাদির মাধ্যমে) সাথে যুক্ত করা দরকার। এবং পরিশেষে, তারা GAE নির্দিষ্ট বৈশিষ্ট্যগুলির উপর নির্ভর করে তবে আমি নিশ্চিত যে এটি অন্যান্য আর্কিটেকচারে প্রয়োগ করা যেতে পারে (বা একটি লিনাক্স ক্লাস্টার চালানোর জন্য টাইফুনএই ব্যবহার করুন, ইসি 2 ইত্যাদি)
গ্রিড - একটি নির্দিষ্ট অঞ্চলের সমস্ত বৈশিষ্ট্যকে একটি পরিচিত গ্রিড সূচীতে প্যাক করুন। গ্রিডে একটি ছোট স্থানিক সূচক রাখুন যাতে আপনি এটিতে উপস্থিত বৈশিষ্ট্যের সেটটি দ্রুত নেভিগেট করেন। বেশিরভাগ প্রশ্নের জন্য, আপনাকে কেবলমাত্র কয়েকটি মুষ্টিদ্রব্য গ্রিডগুলি টানতে হবে যা দ্রুত, কারণ আপনি গ্রিডের নামকরণ কনভেনশনটি সঠিক জানেন এবং কীভাবে এটি কে / ভি সংস্থার সাথে সম্পর্কিত (প্রশ্নগুলি নয়)
পেশাদাররা - বেশ দ্রুত, কার্যকর করা সহজ, কোনও মেমরির পদচিহ্ন নয়।
কনস - প্রিপ্রসেসিংয়ের প্রয়োজন, ব্যবহারকারীকে গ্রিডের আকার নির্ধারণ করতে হবে, বেশ কয়েকটি গ্রিডে বৃহত রত্নগুলি ভাগ করা হয়, ক্লাস্টারিংয়ের ফলে গ্রিডগুলি অতিরিক্ত বোঝা হয়ে উঠতে পারে, সিরিয়ালাইজেশন / ডিসিরিয়ালাইজেশন ব্যয় একটি সমস্যা হতে পারে (এমনকি প্রোটোকল বাফারের মাধ্যমে সংকুচিত হয়েও)
কোয়াডকি - এটি এখনকার বাস্তবায়ন। গ্রিডের সমতুল্য একই রকম কোনও গ্রিড স্তর নেই except বৈশিষ্ট্যগুলি যুক্ত হওয়ার সাথে সাথে সেগুলি কোয়াডকি গ্রিড দ্বারা সূচিযুক্ত করা হয় যা সম্পূর্ণভাবে তাদের সীমানা (বা কিছু ক্ষেত্রে, যখন একটি একক কোয়াডকি ব্যবহার করা যায় না তখন দুটি ভাগে বিভক্ত হয়ে থাকে, ডেটলাইনটি ভাবেন)। কিউকে সন্ধানের পরে এটি তারপরে সর্বাধিক সংখ্যক ছোট কুইকে বিভক্ত হয় যা বৈশিষ্ট্যের সূক্ষ্ম শস্যের উপস্থাপনা সরবরাহ করে। তারপরে একটি বৈশিষ্ট্যটির জন্য একটি পয়েন্টার / বক্সটি একটি হালকা ওজনের গ্রিডইন্ডেক্স (বৈশিষ্ট্যগুলির গোষ্ঠী) এ প্যাক করা হয় যা অনুসন্ধান করা যেতে পারে (একটি মূল নকশা বৈশিষ্ট্যগুলি সরাসরি জিজ্ঞাসা করে তবে রেজাল্টটি বড় ছিল এমন ক্ষেত্রে এটি খুব ধীর / সিপিইউ নিবিড় প্রমাণিত)
পললাইন কোয়াডকেজস http://www.arc2earth.com/images/help/GAE_QKS_1.png
বহুভুজ কোয়াডকিস http://www.arc2earth.com/images/help/GAE_QKS_2.png
উপরে ব্যবহৃত কোয়াডকি নামকরণ কনভেনশনটি সুপরিচিত এবং আরও গুরুত্বপূর্ণভাবে, স্থানীয়ভাবে সংরক্ষণের প্রবণতা রয়েছে ( এখানে আরও বর্ণিত )
উপরের বহুভুজটি দেখতে এর মতো কিছু দেখায়: 0320101013123 03201010131212 03201010131213 0320101013132 0320101013133 03201010131302 03201010131303 032010101313002 0320101013133 032010101313012 032010101313013 03201010131333020
যদি ক্যোয়ারির সীমাগুলি যথেষ্ট ছোট হয় তবে আপনি সরাসরি কিউকে দিয়ে আনতে পারেন। এটি GAE ডাটাটোরে কেবলমাত্র একক, ব্যাচের আরপিসি কল করার পরে এটি সর্বোত্তম। সীমানা যদি এত বড় হয় যে এটিতে খুব বেশি সম্ভাব্য qks (> 1000) অন্তর্ভুক্ত থাকে তবে আপনি বিকল্পভাবে একটি ফিল্টার ব্যবহার করে জিজ্ঞাসা করতে পারবেন (উদা: qk> = 0320101013 এবং qk <= 0320101013 + ff ufffd)। কোয়াডকি নামকরণ কনভেনশন প্লাস, জিএই সূচকগুলির স্ট্রিংয়ের উপরে উপরে থাকা ক্যোয়ারিতে কেবলমাত্র বিদ্যমান গ্রিডগুলি পাওয়া যায় যা সেই কিউকে মানের নীচে চলে যায়।
অন্যান্য সাবধানতা এবং পারফেক্ট ইস্যু রয়েছে তবে সাধারণভাবে এটি কোয়াডকিতে জিজ্ঞাসা করার ক্ষমতা যা এটি সম্ভব করে তোলে
উদাহরণ - মার্কিন কাউন্টারে কোয়েরি: জিওজসন
পেশাদাররা - বেশ দ্রুত, গ্রিডের আকারের কোনও কনফিগারেশন নেই, মেমরির পদক্ষেপ নেই, ভিড় নেই ded
কনস - প্রিপ্রোসেসিং প্রয়োজন, কিছু পরিস্থিতিতে সম্ভাব্য ওভারফ্যাচ, কোনও মেরু ডেটা নেই
স্পেস ফিলিং কার্ভস - এই বছর গুগল I / O এ আলফ্রেডের নেক্সটজেন ক্যোয়ারীস টকটি দেখুন । নতুন মাল্টিকুয়েরি অপারেটরগুলির সাথে জেনেরিক স্পেস / টাইম ফিলিং কার্ভগুলি অন্তর্ভুক্ত করা (সমান্তরালভাবে চালানো) কিছু সত্যই শীতল স্থানীয় প্রশ্নের জন্য মঞ্জুরি দেয়। এটি কি চিরাচরিত এসকিউএল পারফরম্যান্সকে পরাজিত করবে? বলা শক্ত তবে এটি খুব ভাল স্কেল করা উচিত। এবং আমরা দ্রুত ভবিষ্যতের কাছে পৌঁছে যাচ্ছি সবসময় / সমস্ত আকারের মোবাইল ডিভাইসগুলি নাটকীয়ভাবে আপনার সাইট / পরিষেবায় ট্র্যাফিককে বাড়িয়ে তুলবে।
অবশেষে, আমি এটিও সম্মত করব যে এসকিউএল এর উপর নোএসকিউএল চয়ন করার আগে আপনার সমস্যার ডোমেনটি খুব ঘনিষ্ঠভাবে দেখা উচিত। আমাদের ক্ষেত্রে, আমি সত্যিই GAE এর দামের মডেলটি পছন্দ করেছি তাই সত্যই কোনও পছন্দ ছিল না তবে আপনার যদি স্কেল করার প্রয়োজন না হয় তবে নিজেকে কিছুটা সময় সাশ্রয় করুন এবং কেবল একটি স্ট্যান্ডার্ড স্কয়ার ডিবি ব্যবহার করুন