স্ট্যাক ওভারফ্লোতে জিজ্ঞাসিত প্রশ্নের পুনরায় পোস্ট করার পরামর্শ দেওয়া হয়েছিল যে এটি একটি আরও ভাল ফোরাম হবে।
আমি কোনও ডেটা সেটটি পুশ করার জন্য সামান্য পরীক্ষা করার চেষ্টা করছি যা ভূ-স্থানিক নয় তবে এটি বেশ ভালভাবে ফিট করে এবং কিছুটা উদ্বেগের ফলাফল খুঁজে পাচ্ছি। ডেটা সেট হ'ল জিনোমিক ডেটা যেমন হিউম্যান জিনোম যেখানে আমাদের ডিএনএর একটি অঞ্চল থাকে যেখানে জিনের মতো উপাদানগুলি নির্দিষ্ট শুরু করে এবং স্থানাঙ্কগুলি বন্ধ করে দেয় (আমাদের এক্স অক্ষ)। আমাদের ডিএনএ (ক্রোমোসোম) এর একাধিক অঞ্চল রয়েছে যা Y অক্ষকে দখল করে। লক্ষ্যটি হ'ল সমস্ত আইটেম যা একটি একক ওয়াই স্থানাঙ্ক হিসাবে লাইন স্ট্রিং (START 1, END 2) বরাবর দুটি এক্স স্থানাঙ্ককে ছেদ করে back
তত্ত্বটি দুর্দান্ত বলে মনে হয়েছিল তাই আমি এটিকে একটি বিদ্যমান মাইএসকিউএল ভিত্তিক জিনোম প্রকল্পে ঠেলে দিয়েছি এবং একটি সারণী কাঠামো নিয়ে এলাম:
CREATE TABLE `spatial_feature` (
`spatial_feature_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`external_id` int(10) unsigned NOT NULL,
`external_type` int(3) unsigned NOT NULL,
`location` geometry NOT NULL,
PRIMARY KEY (`spatial_feature_id`),
SPATIAL KEY `sf_location_idx` (`location`)
) ENGINE=MyISAM;
external_id
আমরা এই টেবিলটিতে external_type
এনকড করে রেখেছি এমন সত্তার সনাক্তকারীকে উপস্থাপন করে এবং এর উত্সকে এনকোড করে। সবকিছু দেখতে ভাল লাগছিল এবং আমি কিছু প্রাথমিক তথ্য (30,000 সারি) এ ধাক্কা দিয়েছি যা দেখে মনে হয় এটি ভাল কাজ করে। এটি অতীতে যখন 3 মিলিয়ন সারি চিহ্ন মাইএসকিউএল স্থানিক সূচকটি ব্যবহার করতে অস্বীকার করেছিল এবং যখন এটি ব্যবহার করতে বাধ্য হয় তখন ধীর হয় (40 সেকেন্ড বনাম 5 সেকেন্ড পূর্ণ টেবিল স্ক্যান ব্যবহার করে)। যখন আরও ডেটা যুক্ত করা হয় তখন সূচকটি ব্যবহার করা শুরু হয় তবে কার্যক্ষমতা পেনাল্টি বহাল থাকে। জোর করে সূচি বন্ধ করে ক্যোরিটি 8 সেকেন্ডে নামিয়ে আনল। আমি যে ক্যোয়ারীটি ব্যবহার করছি তা দেখে মনে হচ্ছে:
select count(*)
from spatial_feature
where MBRIntersects(GeomFromText('LineString(7420023 1, 7420023 1)'), location);
ওয়াই ডাইমেনশনগুলির সাথে এটিতে যাওয়া ডেটাটি খুব ঘন (এটি মনে করে আপনি খুব দীর্ঘ রাস্তায় প্রতিটি বিল্ডিং, টেলিফোন বাক্স, পোস্ট বক্স এবং কবুতরের অবস্থান রেকর্ড করেছেন)। জাভাতে আর-ইনডেক্সগুলি কীভাবে এই ডেটাটির সাথে আচরণ করে তা পরীক্ষা করেছি এবং সেই সাথে ক্ষেত্রের অন্যরা তাদের সাফল্যের সাথে ফ্ল্যাট-ফাইল ফর্ম্যাটে প্রয়োগ করেছেন। তবে কেউ এএফআইকে ডাটাবেসে এগুলি প্রয়োগ করেনি যা এই পরীক্ষার লক্ষ্য।
একটি বাহ্যিক মডেল যে একটি বিশেষ অক্ষ বরাবর খুব বেশি পৃথক হয় না প্রচুর পরিমাণে ডেটা যোগ করার সময় সেখানে কেউ কি একইরকম আচরণ দেখেছেন? আমি স্থানাঙ্কের ব্যবহারটি উল্টিয়ে দিলে সমস্যাটি অব্যাহত থাকে। আমি নিম্নলিখিত সেটআপটি চালিয়ে যাচ্ছি যদি এটির কোনও কারণ থাকে
- ম্যাকোস 10.6.6
- মাইএসকিউএল 5.1.46