পটভূমি: গ্রাফ ডেটাবেসস বইটি নীচে দেওয়া হয়েছে , যা নিও 4 জে বইয়ে উল্লিখিত একটি পারফরম্যান্স টেস্ট কভার করে :
কোনও গ্রাফের মধ্যে সম্পর্ক প্রাকৃতিকভাবে পথ তৈরি করে। অনুসন্ধান, বা ট্র্যাভারিং, গ্রাফের সাথে নিম্নলিখিত পথগুলি জড়িত। ডেটামোডেলের মৌলিকভাবে পথ-কেন্দ্রিক প্রকৃতির কারণে, বেশিরভাগ পাথ-ভিত্তিক গ্রাফ ডাটাবেস ক্রিয়াকলাপগুলি যেভাবে ডেটা বিভক্ত করা হয় তার সাথে অত্যন্ত সমন্বিত হয়, যাতে এগুলি অত্যন্ত দক্ষ করে তোলে। তাদের নিও 4j ইন অ্যাকশন বইয়ে, অংশীদার এবং ভুকোটিক একটি রিলেশনাল স্টোর এবং নিও 4 জ ব্যবহার করে একটি পরীক্ষা করে।
তুলনাটি দেখায় যে গ্রাফ ডাটাবেসটি কোনও সম্পর্কিত স্টোরের তুলনায় সংযুক্ত ডেটার জন্য যথেষ্ট দ্রুত হয় art এলোমেলোভাবে বেছে নেওয়া দু'জনকে দেওয়া হলেও, এমন কোনও পথ রয়েছে যা তাদের সংযোগ দেয় যা সর্বাধিক পাঁচটি সম্পর্কের দীর্ঘ? 100,000 লোকের সমন্বিত একটি সামাজিক নেটওয়ার্কের জন্য, যার প্রায় 50 জন বন্ধু রয়েছে, ফলাফলগুলি দৃ strongly়ভাবে সুপারিশ করে যে গ্রাফ ডাটাবেসগুলি সংযুক্ত ডেটার জন্য সেরা পছন্দ, যেমন আমরা সারণী 2-1 তে দেখি।
সারণী 2-1। নিও 4 জে দক্ষ সন্ধানের বিপরীতে একটি সম্পর্কের ডাটাবেজে প্রসারিত বন্ধুদের সন্ধান করা
Depth RDBMS Execution time (s) Neo4j Execution time (s) Records returned 2 0.016 0.01 ~2500 3 30.267 0.168 ~110,000 4 1543.505 1.359 ~600,000 5 Unfinished 2.132 ~800,000
গভীরতায় দুই (বন্ধুবান্ধব বন্ধু) উভয় আপেক্ষিক ডাটাবেস এবং গ্রাফ ডাটাবেস একটি অনলাইন সিস্টেমে সেগুলি ব্যবহার করার বিষয়ে বিবেচনা করার জন্য আমাদের যথেষ্ট ভাল সম্পাদন করে। নিও 4 জের ক্যোরিয়ালটি রিলেশনাল ওয়ানের সময় দুই-তৃতীয়াংশে চলতে থাকে, একজন শেষ ব্যবহারকারী দু'জনের মধ্যে মিলিসেকেন্ডের পার্থক্য সবেমাত্র লক্ষ্য করতে পারে। আমরা গভীরতা তিনটি পৌঁছানোর সময় (বন্ধু-বান্ধব-বন্ধু-বান্ধব), তবে, এটি স্পষ্ট যে সম্পর্কের ডাটাবেসটি আর কোনও যুক্তিসঙ্গত সময়সীমার সাথে ক্যোয়ারির সাথে মোকাবেলা করতে পারে না: ত্রিশ সেকেন্ড এটি পুরোপুরি গ্রহণযোগ্য হবে না একটি অনলাইন সিস্টেমের জন্য। বিপরীতে, Neo4j এর প্রতিক্রিয়া সময় তুলনামূলকভাবে সমতল: ক্যোরিটি সম্পাদন করার জন্য এক সেকেন্ডের কেবলমাত্র একটি ভগ্নাংশ an একটি অনলাইন সিস্টেমের জন্য অবশ্যই যথেষ্ট দ্রুত।
গভীরতার চারটে আপেক্ষিক ডাটাবেস পঙ্গু হওয়া বিলম্ব দেখায়, এটি একটি অনলাইন সিস্টেমের জন্য ব্যবহারিকভাবে অকেজো করে তোলে। নিও 4 জয়ের সময়গুলি কিছুটা অবনতি হয়েছে, কিন্তু এখানে অলসতা একটি প্রতিক্রিয়াশীল অনলাইন সিস্টেমের জন্য গ্রহণযোগ্য হওয়ার পরিধি। পরিশেষে, পাঁচ নম্বরে, সম্পর্কিত সম্পর্কিত ডাটাবেসটি কোয়েরিটি সম্পূর্ণ করতে খুব বেশি সময় নেয়। বিপরীতে Neo4j প্রায় দুই সেকেন্ডের মধ্যে একটি ফলাফল দেয়। পাঁচ নম্বরে, এটি প্রায় পুরো নেটওয়ার্কটি ট্রান্সপোর্ট করে আমাদের বন্ধু: অনেকগুলি বাস্তব-বিশ্ব ব্যবহারের ক্ষেত্রে, আমরা সম্ভবত ফলাফলগুলি এবং সময়গুলিকে ছাঁটাই করব।
প্রশ্নগুলি হ'ল:
- সামাজিক নেটওয়ার্কে সন্ধান ছাড়া যা কিছু হতে পারে তা অনুকরণ করার পক্ষে কি এই যুক্তিসঙ্গত পরীক্ষা? (অর্থ প্রকৃত সামাজিক নেটওয়ার্কগুলিতে সাধারণত প্রায় 50 জন বন্ধু সহ নোড থাকে উদাহরণস্বরূপ; " ধনী ব্যক্তি আরও সমৃদ্ধ হন " মডেলটি সামাজিক নেটওয়ার্কগুলির পক্ষে আরও স্বাভাবিক হবে, যদিও এটি ভুল হতে পারে))
- অনুকরণের প্রাকৃতিকতা নির্বিশেষে, ফলাফলগুলি বন্ধ, বা অদম্য উত্পাদনযোগ্য বিশ্বাস করার কোনও কারণ আছে কি?