HeadlinesBriefing favicon HeadlinesBriefing.com

রিকার্সিভ CTE: SQL গ্রাফ ট্রাভার্সাল গাইড

Towards Data Science •
×

যখন ডেভেলপাররা হাইরার্চি, রুট ফাইন্ডিং বা সোশ্যাল নেটওর্কের মতো গ্রাফ সমস্যার মুখোমুখি হন, তখন তারা প্রায়ই Neo4j বা NetworkX-এর দিকে ঝুঁকে পড়েন। কিন্তু হাজারো নোড সম্বলিত অপারেশনাল ডেটার — সাপ্লাই চেইন, অর্গানিজেশন চার্ট, নেভিগেশন পथ — একটি রিলেশনাল ডেটাবেস অধিকাংশ কাজ সামাল করতে পারে। চাবিটি হলো রিকার্সিভ কমন টেবল এক্সপ্রেশন (CTE), যা 1999-এ চালু হওয়া SQL স্ট্যান্ডার্ড ফিচার এবং আজকাল খুব কমই ব্যবহৃত হয়।

CTE হলো SQL স্টেটমেন্টের মধ্যে সাময়িক ফলাফলের সেট, যা লজিককে নামকরণ করা অংশে ভাগ করে জটিল ক্যুরিরকে পড়িবে করে। রিকার্সিভ CTE একে প্রসারিত করে নিজের উপর রেফারেন্স দিয়ে ইটারেটিভভাবে সারি তৈরি করতে, যেপর্যন্ত কোনো নতুন ডেটা না আসে — এভাবে এটি প্রস্থ প্রথম অনুসন্ধান সম্পাদন করে।

এই আর্টিকেল কেবল স্ট্যান্ডার্ড SQL ব্যবহার করে গ্রাফ ট্রাভার্সাল, পথ খুজে বের করা এবং সাইকল সনাক্ত করা দেখাচ্ছে। উদাহরणগুলো Postgres, Oracle, MySQL বা SQLite সঙ্গে কাজ করে, যদিও সিনট্যাক্স আল্পাদ্য ভাগ হয়। বিলিয়ন নোড বিশিষ্ট বিশাল গ্রাফের জন্য পৃথক টুল প্রয়োজন হতে পারে, কিন্তু বেশিরভাগ ব্যবসায়িক গ্রাফ সমস্যা রিলেশনাল ডেটাবেসের মধ্যে রিকার্সিভ CTE ব্যবহার করে সহজেই সমাধান হয়।

মূল সত্যাগতিক: প্রতিষ্ঠান: Neo4j, NetworkX, Postgres, Oracle, MySQL, SQLite