রিলেশনাল ডেটাবেস এবং গ্রাফ ডাটাবেসগুলির তুলনা


92

Neo4j এর মতো গ্রাফ ডাটাবেসের সাথে তুলনা করে মাইএসকিউএল-এর মতো একটি ডেটাবেস ডেটাবেজের জন্য কি কেউ আমাকে সুবিধা এবং অসুবিধাগুলি ব্যাখ্যা করতে পারেন?

এসকিউএল এ আপনার সাথে বিভিন্ন আইডির লিঙ্কযুক্ত একাধিক টেবিল রয়েছে। তারপরে আপনাকে টেবিলগুলি সংযুক্ত করতে যোগ দিতে হবে। কোনও নবজাতকের দৃষ্টিকোণ থেকে আপনি কেন গ্রাফিক ডাটাবেসের সাথে শুরু থেকে প্রান্তগুলি সুস্পষ্টভাবে সংযোগের পরিবর্তে সংযুক্তির প্রয়োজনে ডাটাবেসটিকে ডিজাইন করবেন। ধারণাগতভাবে এটি কোনও নবজাতকের কোনও ধারণা রাখে না। সম্ভবত এটির জন্য খুব প্রযুক্তিগত কিন্তু অ-ধারণামূলক কারণ আছে?


অ্যাক্সেসের পদ্ধতিগুলি আলাদা। কোনও রিলেশনাল ডেটাবেজে আপনি রিলেশনাল বীজগণিত ব্যবহার করেন , পুনরাবৃত্তির সাথে সর্বাধিক সংযোজন, একটি বিশ্রী কিন্তু জনপ্রিয় উপস্থাপনা যা (ক্রিয়াকলাপযুক্ত অতিরিক্তগুলির সাথে পুনরাবৃত্ত) এসকিউএল। গ্রাফ ডাটাবেসের মধ্যে তোমার মতোই গ্রাফ ট্র্যাভেরসাল ভাষায় ব্যবহার অলস । অন-ডিস্ক লেআউটে অন্তর্নিহিত ডিবি বাস্তবায়নগুলি সংশ্লিষ্ট অ্যাক্সেস পদ্ধতির জন্য সর্বোত্তম কার্যকারিতা সরবরাহ করার জন্য চয়ন করা হবে এবং বাস্তবায়নে স্বেচ্ছাসেবী টিউনিং / তারতম্য পাওয়া যেতে পারে।
ডেভিড টনহোফার

উত্তর:


119

উভয় শৈলীর পিছনে আসলে ধারণাগত যুক্তি রয়েছে। সম্পর্কিত মডেল এবং গ্রাফ ডাটাবেসের উইকিপিডিয়া এ সম্পর্কে ভাল ওভারভিউ দেয়।

প্রাথমিক পার্থক্য হ'ল একটি গ্রাফ ডাটাবেসের মধ্যে সম্পর্কগুলি পৃথক রেকর্ড স্তরে সংরক্ষণ করা হয়, যখন একটি সম্পর্কিত ডেটাবেসে কাঠামোটি একটি উচ্চ স্তরে (সারণির সংজ্ঞা) সংজ্ঞায়িত হয়।

এটির গুরুত্বপূর্ণ পদক্ষেপ রয়েছে:

  • বিপুল সংখ্যক রেকর্ডে অপারেটিং করার সময় একটি রিলেশনাল ডাটাবেস অনেক দ্রুত। একটি গ্রাফ ডাটাবেসে, প্রতিটি রেকর্ডকে ডেটার কাঠামো নির্ধারণের জন্য কোনও প্রশ্নের সময় পৃথক পৃথকভাবে পরীক্ষা করা উচিত, যখন এটি একটি আপেক্ষিক ডাটাবেসে সময়ের আগেই জানা যায়।
  • সম্পর্কিত ডেটাবেসগুলি কম স্টোরেজ স্পেস ব্যবহার করে, কারণ তাদের store সমস্ত সম্পর্ক সংরক্ষণ করতে হবে না।

ব্যক্তিগত-রেকর্ড পর্যায়ে সমস্ত সম্পর্ক সংরক্ষণ করা কেবল তখনই বোধগম্য হয় যদি সম্পর্কের মধ্যে অনেকগুলি প্রকারভেদ হতে চলেছে; অন্যথায় আপনি কেবল একই জিনিসগুলি বারবার উপস্থাপন করছেন। এর অর্থ গ্রাফ ডাটাবেসগুলি অনিয়মিত, জটিল কাঠামোর পক্ষে ভাল। কিন্তু বাস্তব বিশ্বে, বেশিরভাগ ডাটাবেসের জন্য নিয়মিত, অপেক্ষাকৃত সহজ কাঠামো প্রয়োজন। এ কারণেই রিলেশনাল ডাটাবেসগুলি প্রাধান্য পায়।


17
রেকর্ড স্তরে সম্পর্ক সংরক্ষণ করা অন্যান্য ক্ষেত্রেও তাত্পর্যপূর্ণ হয়ে ওঠে, কারণ এটি সূচক-মুক্ত সংলগ্নতা সরবরাহ করে। এটি হ'ল গ্রাফ ট্র্যাভারসালগুলি কোনও সূচক লকআপের সাথে আরও ভাল পারফরম্যান্সের দিকে নিয়ে যায়। এবং এটি সদৃশ নয়, যেমন আপনি প্রকৃত সম্পর্কগুলি সঞ্চয় করেন which
নভরোথ

4
আপনি বলেছেন: "একটি গ্রাফ ডাটাবেসে, প্রতিটি রেকর্ডটি ডেটার কাঠামো নির্ধারণের জন্য কোনও প্রশ্নের সময় পৃথকভাবে পরীক্ষা করা উচিত"। এটি গ্রাফ ডাটাবেসের একটি সার্বজনীন সম্পত্তি বা সাধারণভাবে কম-বেশি সত্য? ওরিয়েন্টডবি সম্পর্কে কীভাবে যা শীর্ষে এবং প্রান্তগুলির জন্য পূর্ণ স্কিমাকে সমর্থন করে?
লোডউইজক বোগার্ডস

নিওডিজিকবাগার্ডস Neo4j এর মতো কিছু গ্রাফ ডাটাবেসকে বেসিক ইনডেক্সিংয়ের অনুমতি দেয়। যদি ক্যোয়ারী সূচকগুলিকে হিট করে তবে আমি বিশ্বাস করি যে সূচকের পিছনে থাকা ডেটার কাঠামো নির্ধারণ করার দরকার নেই। তবে এটি ক্যোয়ারির উপর নির্ভর করে।
ভোজট ভিট

4
আমি উভয় দফার সাথে দৃ strongly়ভাবে একমত নই। বিদেশী কী থাকলে গ্রাফ ডাটাবেস সবসময় দ্রুত হয়। কারণ আমাদের অপারেশনগুলিতে যোগদানের দরকার নেই। রিলেশনাল ডাটাবেসগুলিকে অনেক টেবিলের মধ্যে বিদেশী কী সংরক্ষণ করতে হয়। একটি প্রান্ত এবং একটি বিদেশী কী একই স্টোরেজ স্পেস নিতে হবে।
শেগপ্রকাশ

4
@cegpraकाश আপনার কি এমন একটি ডকুমেন্টেশন রয়েছে যা থেকে আমরাও এটি শেষ করতে পারি?
ভিক্টর

100

গ্রাফ এবং রিলেশনাল ডাটাবেসের মধ্যে মূল পার্থক্য হ'ল রেলেশনাল ডাটাবেসগুলি সেটগুলির সাথে কাজ করে যখন গ্রাফ ডাটাবেসগুলি পাথের সাথে কাজ করে।

এটি কোনও আরডিবিএমএস ব্যবহারকারীর জন্য অপ্রত্যাশিত এবং অপ্রয়োজনীয় উপায়ে নিজেকে প্রকাশ করে। উদাহরণস্বরূপ যখন কোনও অপেক্ষাকৃত ডেটাবেজে যোগ দিয়ে পাথ অপারেশনগুলি (যেমন বন্ধুবান্ধব বন্ধুরা) অনুকরণ করার চেষ্টা করার সময়, মেমরির ব্যবহারের মতো ক্যোয়ারী বিলম্বিতা অবিশ্বাস্য এবং ব্যাপকভাবে বৃদ্ধি পায়, এটি উল্লেখ না করে যে এটি এসকিউএলকে এই ধরণের অপারেশনগুলি প্রকাশ করার জন্য নির্যাতন করে। আরও ডেটা মানে সেট-ভিত্তিক ডাটাবেসে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে আপনি ব্যথা বিলম্ব করতে পারেন তা বিচারিক সূচকের মাধ্যমে।

যেমনটি ড্যান 1111 ইঙ্গিত করেছে, বেশিরভাগ গ্রাফ ডাটাবেসগুলি এই ধরণের যোগদানের ব্যথা সহ্য করে না কারণ তারা সম্পর্ককে একটি মৌলিক স্তরে প্রকাশ করে। এটি হ'ল সম্পর্কগুলি ডিস্কে শারীরিকভাবে বিদ্যমান এবং তাদের নাম, পরিচালনা এবং এগুলি নিজেকে বৈশিষ্ট্য দ্বারা সজ্জিত করা যায় (এটিকে সম্পত্তি গ্রাফ মডেল বলা হয়, দেখুন: https://github.com/tinkerpop/blueprints/wiki/Property- গ্রাফ -মোডেল )। এর অর্থ যদি আপনি এটি বেছে নিয়ে থাকেন তবে আপনি ডিস্কে থাকা সম্পর্কের দিকে তাকিয়ে দেখতে পারেন এবং কীভাবে তারা সত্তাকে "যোগদান" করে। সম্পর্কগুলি গ্রাফের ডেটাবেজে প্রথম শ্রেণির সত্তা এবং এটি কোনও সম্পর্কের দোকানে রানটাইম সময়ে সংশোধিত সম্পর্কের চেয়ে শব্দার্থগতভাবে অনেক বেশি শক্তিশালী।

সুতরাং কেন আপনি যত্ন করা উচিত? দুটি কারণে:

  1. সংযুক্ত তথ্যের জন্য গ্রাফ ডাটাবেসগুলি রিলেশনাল ডাটাবেসের তুলনায় অনেক দ্রুত - অন্তর্নিহিত মডেলের শক্তি। এর ফলাফল হ'ল কোনও গ্রাফের ডাটাবেজে ক্যোয়ারী ল্যাটেন্সিটি আপনি কোনও ক্যোয়ারিতে অন্বেষণ করতে যে গ্রাফটি বেছে নিয়েছেন তার সমানুপাতিক, এবং সংযুক্ত বোমাটিকে অকার্যকর করে, সংরক্ষণ করা ডেটার পরিমাণের সাথে সমানুপাতিক নয় ।
  2. গ্রাফের ডেটাবেসগুলি মডেলিং করে এবং আরও বেশি মনোরম অর্থ অনুসন্ধান করে তোলে যার অর্থ দ্রুত বিকাশ এবং কম ডাব্লুটিএফ মুহুর্ত। উদাহরণস্বরূপ Neo4j এর সাইফার কোয়েরি ল্যাঙ্গুয়েজে একটি সাধারণ সামাজিক নেটওয়ার্কের জন্য বন্ধু-বান্ধব ব্যক্ত করা ঠিক MATCH (me)-[:FRIEND]->()-[:FRIEND]->(foaf) RETURN foaf

4
"সম্পর্কগুলি গ্রাফের ডাটাবেজে প্রথম শ্রেণির সত্তা"। সাধারণত একটি রিলেশনাল ডেটাবেজে সত্য: সত্ত্বাগুলি সম্পর্কের ক্ষেত্রে টুপলসকে ম্যাপ করা হয়, যেমন অনেকগুলি সম্পর্ক। একাধিক সম্পর্কের জন্য আপনি যে পার্থক্য বর্ণনা করেন, যা প্রায়শই সত্তার সম্পর্কের সাথে মিশে যায়?
বেলডাজ

54
এই তুলনাটি কিছুটা পক্ষপাতদুষ্ট বলে মনে হচ্ছে। ত্রুটিগুলি সম্পর্কে কী?
কুড়েন

12
একটু? আমার সৎ মতামত খুব পক্ষপাতদুষ্ট। দেখে মনে হচ্ছে এটি "এটি একটি ভাল পণ্য! সর্বোত্তমভাবে আমার কাছে এই বিজ্ঞাপনটি কিনুন"!
ইলগার

39
এটির জন্য একটি বিশাল সতর্কতা দরকার: এই ব্যক্তিটি নব্য প্রযুক্তির "প্রধান বিজ্ঞানী", যিনি নিও 4 জে গ্রাফ ডাটাবেস তৈরি করেন।
রব গ্রান্ট

4
কীভাবে একটি স্বেচ্ছাসেবী অনুসন্ধান ... আমাকে 35 থেকে 55 বছর বয়সী সমস্ত ব্যবহারকারী দিন এবং গত 90 দিনের মধ্যে ওয়ালমার্টে কেনাকাটা করুন।
ম্যাথু হোয়াইট

21

ড্যান 1111 ইতিমধ্যে সঠিক উত্তর হিসাবে চিহ্নিত একটি উত্তর দিয়েছে। কয়েকটি অতিরিক্ত পয়েন্ট পাস করার ক্ষেত্রে লক্ষণীয়।

প্রথমত, গ্রাফ ডাটাবেসের প্রায় প্রতিটি বাস্তবায়নে রেকর্ডগুলি "পিন করা হয়" কারণ বর্তমান অবস্থানে রেকর্ডটির দিকে ইঙ্গিত করে অজানা সংখ্যক পয়েন্টার রয়েছে। এর অর্থ হ'ল পুরানো স্থানে ফরোয়ার্ডিং ঠিকানা না রেখে বা অজানা সংখ্যক পয়েন্টারকে না ভেঙে কোনও রেকর্ড নতুন স্থানে স্থানান্তরিত করা যায় না।

তাত্ত্বিকভাবে, একজন একবারে সমস্ত রেকর্ড পরিবর্তন করতে পারে এবং সমস্ত পয়েন্টার সনাক্ত এবং মেরামত করার উপায় খুঁজে বের করতে পারে। অনুশীলনে এটি এমন একটি ক্রিয়াকলাপ যা বৃহত গ্রাফ ডাটাবেসে কয়েক সপ্তাহ সময় নিতে পারে, সেই সময়কালে ডাটাবেসটি এয়ার থেকে বেরিয়ে যেতে হবে। এটা ঠিক সম্ভব নয়।

বিপরীতে, একটি সম্পর্কিত ডেটাবেজে, রেকর্ডগুলি মোটামুটি বড় আকারে রদবদল করা যেতে পারে এবং ক্ষতিগ্রস্থ হওয়া কোনও সূচকগুলি পুনর্নির্মাণ করা কেবলমাত্র কাজটিই করতে হবে। এটি মোটামুটি বৃহত ক্রিয়াকলাপ, তবে গ্রাফ ডাটাবেসের সমতুল্য হিসাবে বড় আর কোথাও নেই।

পাসিংয়ে লক্ষণীয় দ্বিতীয় বিষয়টি হ'ল ওয়ার্ল্ড ওয়াইড ওয়েবকে একটি বিশাল গ্রাফ ডাটাবেস হিসাবে দেখা যেতে পারে। ওয়েব পৃষ্ঠাগুলিতে হাইপারলিঙ্কস এবং হাইপারলিঙ্কস রেফারেন্স, অন্যান্য জিনিসগুলির মধ্যে অন্যান্য ওয়েব পৃষ্ঠা রয়েছে। রেফারেন্সটি ইউআরএলগুলির মাধ্যমে হয়, যা পয়েন্টারের মতো কাজ করে।

পুরানো ইউআরএলটিতে কোনও ফরোয়ার্ডিং ঠিকানা না রেখে কোনও ওয়েব পৃষ্ঠা যখন অন্য কোনও URL এ স্থানান্তরিত হয় তখন অজানা সংখ্যক হাইপারলিঙ্কগুলি ভেঙে যায়। এই ভাঙ্গা লিঙ্কগুলি তখন ভয়ঙ্করদের জন্ম দেয়, "ত্রুটি 404: পৃষ্ঠা পাওয়া যায় নি" বার্তাটি এতগুলি সার্ফারের আনন্দকে বাধা দেয়।


4
কেবলমাত্র বেশিরভাগ গ্রাফ ডাটাবেসের মধ্যেই সততা বিধি থাকে যা ভাঙা লিঙ্কগুলির জন্য অনুমতি দেয় না।
মাইকেল ক্ষুধা

4
যদি ডিবিএমএস লক্ষ্যটিকে পিন করে, এটি অবশ্যই লিঙ্কটির লক্ষ্য সরিয়ে দেওয়ার কারণে লিঙ্ক ভাঙ্গা রোধ করবে। আমি এমন কোনও গ্রাফ ডাটাবেস সম্পর্কে জানি না যা লিঙ্কগুলির লক্ষ্য হতে পারে এমন রেকর্ড পিন করে না।
ওয়াল্টার মিট্টি

গ্রাফ ডাটাবেসগুলি কি সাধারণত স্কিমা-কম হয় কারণ সমস্ত পয়েন্টার পুনরায় লেখার প্রয়োজনে স্কিমা পরিবর্তন খুব ভারী ক্রিয়াকলাপ হতে পারে? পুনর্বিবর্তন সমস্যাটি কেবলমাত্র ভার্চুয়াল পয়েন্টারগুলি সংরক্ষণ করে, যা অনুসন্ধানের টেবিলের মধ্য দিয়ে যায়? এটি এখনও ও (1) এ সঠিকভাবে সম্পাদন করবে?
লোডেভিজক বগাার্ডস

আমি গ্রাফ ডাটাবেসের এমন একটি সংজ্ঞায়নের অধীনে অপারেটিং করছি যা পূর্ব-সম্পর্কিত ডেটাবেস যেমন শ্রেণিবদ্ধ বা নেটওয়ার্কগুলির অন্তর্ভুক্ত করবে। এই ডেটাবেসগুলির কিছু স্কিমা ছিল, যদিও এটি রিলেশনাল স্কিমা নয়। আমার অপারেশনাল সংজ্ঞা মান সংজ্ঞার সাথে একমত কিনা তা আমি নিশ্চিত নই।
ওয়াল্টার মিট্টি

একটি ডেটা স্ট্রাকচার যা ভার্চুয়াল পয়েন্টার এবং ফিজিকাল পয়েন্টারগুলির মধ্যে ম্যাপিং সরবরাহ করে তা মূলত একই ব্যয়ের সাথে সূচক হিসাবে একই জিনিস। আপনি পাশাপাশি যেতে পারেন এবং একটি সম্পর্কিত ডেটাবেস ব্যবহার করতে পারেন।
ওয়াল্টার মিট্টি

7

একটি সম্পর্কিত সম্পর্কিত ডাটাবেস সহ আমরা বিদেশী কী এবং স্ব-যোগদানগুলি ব্যবহার করে একটি গ্রাফের মডেল ও ক্যোয়ারী করতে পারি। আরডিবিএমএসের 'রিলেশনাল' শব্দটি রয়েছে বলেই এর অর্থ এই নয় যে তারা সম্পর্ক পরিচালনার ক্ষেত্রে ভাল। আরডিবিএমএস-এ রিলেশনাল শব্দটি রিলেশনাল বীজগণিত থেকে এসেছে, সম্পর্ক থেকে নয়। একটি আরডিবিএমএসে, সম্পর্কটি নিজের মতো করে কোনও বিষয় হিসাবে উপস্থিত থাকে না। এটি হয় একটি বিদেশী কী হিসাবে স্পষ্টভাবে প্রতিনিধিত্ব করতে হবে বা লিঙ্ক টেবিলের (যেমন জেনেরিক / সর্বজনীন মডেলিং পদ্ধতির ব্যবহার করার সময়) মান হিসাবে স্পষ্টভাবে উপস্থাপন করা দরকার। ডেটা সেটগুলির মধ্যে লিঙ্কগুলি ডেটাতেই সংরক্ষণ করা হয়।

একটি রিলেশনাল ডাটাবেসে অনুসন্ধানের গভীরতা যত বেশি বৃদ্ধি করি ততই আমাদের সম্পাদন করতে হবে এবং আমাদের অনুসন্ধানের পারফরম্যান্স তত বেশি ভোগে। আমরা আমাদের শ্রেণিবিন্যাসের গভীরে যত বেশি তত টেবিলগুলিতে যোগ দিতে হবে এবং আমাদের অনুসন্ধানটি ধীরে ধীরে আসে। গাণিতিকভাবে একটি সম্পর্কিত ডেটাবেজে ব্যয় তাত্ক্ষণিকভাবে বৃদ্ধি পায়। অন্য কথায় আমাদের প্রশ্নগুলি এবং সম্পর্কগুলি যত বেশি জটিল হয় আমরা একটি সম্পর্কিত সম্পর্কিত ডাটাবেস বনাম একটি গ্রাফ থেকে তত বেশি উপকৃত হই। গ্রাফ নেভিগেট করার সময় আমাদের কোনও গ্রাফ ডাটাবেসে কর্মক্ষমতা সমস্যা নেই problems একটি গ্রাফ ডাটাবেস পৃথক বস্তু হিসাবে সম্পর্ক সংরক্ষণ করে কারণ এটি। যাইহোক, উচ্চতর পড়ার পারফরম্যান্সটি ধীর লেখার ব্যয়েই আসে।

কোনও নির্দিষ্ট পরিস্থিতিতে কোনও আরডিবিএমএসের চেয়ে গ্রাফ ডাটাবেজে ডেটা মডেলটি পরিবর্তন করা সহজ, যেমন একটি আরডিবিএমএসে আমি যদি 1: n থেকে এম থেকে টেবিলের সম্পর্ক পরিবর্তন করি তবে আমার সম্ভাব্য ডাউনটাইম সহ ডিডিএল প্রয়োগ করতে হবে।

আরডিবিএমএসের অন্যদিকে অন্যান্য ক্ষেত্রগুলির সুবিধাগুলি রয়েছে, যেমন ডেটা একত্রিত করা বা ডেটাতে টাইমস্ট্যাম্পড সংস্করণ নিয়ন্ত্রণ করা।

আমি ডেটা গুদামজাতকরণের জন্য গ্রাফ ডেটাবেজে আমার ব্লগ পোস্টে থাকা অন্যান্য কিছু উপকারিতা এবং কনস নিয়ে আলোচনা করি


"আরডিবিএমএসে সম্পর্কিত শব্দটি সম্পর্কের বীজগণিত থেকে উদ্ভূত" - সাজান। "এবং সম্পর্ক থেকে নয়।" - এফকে অর্থে সম্পর্ক নয়, তবে হ্যাঁ সম্পর্ক যে সম্পর্কগত বীজগণিত এবং আরডিবিএমএসের মধ্যে সম্পর্কটি সম্পর্ক / সংস্থার প্রতিনিধিত্বকারী সারণীর অর্থে সম্পর্ক থেকে আসে। এফকে গুলি পদ্ধতিতে ভুলভাবে সম্পর্ক বলা হয় যা সম্পর্কের মডেলটিকে ভুল বোঝায়। রেকর্ড করতে বা কোয়েরিতে এফকে জানা বা অস্তিত্বের প্রয়োজন নেই। তারা নিখরচায় জন্য। প্রয়োজনীয় (কোয়েরিতে) যা প্রয়োজন এবং যথেষ্ট তা হ'ল কোনও (বেস বা ক্যোয়ারির ফলাফল) সারণীটি যে সম্পর্ক / সংযোগটি প্রতিনিধিত্ব করে তা জানা।
ফিলিপ্সি

4

যদিও সম্পর্কিত সম্পর্কিত মডেল কোনও গ্রাফ মডেলটিতে থাকা ডেটাটিকে সহজেই উপস্থাপন করতে পারে, আমরা অনুশীলনে দুটি উল্লেখযোগ্য সমস্যার মুখোমুখি হয়েছি:

  1. এসকিউএল সহজে গ্রাফ ট্র্যাভারসাল সম্পাদন করতে সিনট্যাক্সের অভাব করে, বিশেষত ট্র্যাভারসাল যেখানে গভীরতা অজানা বা সীমাহীন। উদাহরণস্বরূপ, আপনার বন্ধুদের বন্ধু নির্ধারণ করতে এসকিউএল ব্যবহার করা যথেষ্ট সহজ, তবে "বিচ্ছেদের ডিগ্রি" সমস্যাটি সমাধান করা শক্ত।
  2. আমরা গ্রাফটি অতিক্রম করার সাথে সাথে পারফরম্যান্স দ্রুত হ্রাস পায়। ট্র্যাভারসাল প্রতিটি স্তরের প্রতিক্রিয়া সময় ক্যোয়ারী উল্লেখযোগ্যভাবে যোগ।

তথ্যসূত্র: নেক্সট জেনারেশন ডেটাবেস


0

গ্রাফ ডাটাবেসগুলি যে ক্ষেত্রে তাদের ক্ষেত্রে দক্ষতা অর্জন করে সেগুলি অনুসন্ধানের জন্য উপযুক্ত, তবে উপরের প্রতিক্রিয়াগুলিতে আমার কিছু যুক্তি নিয়ে প্রশ্ন করার কারণ রয়েছে। নির্দিষ্টভাবে:

বিপুল সংখ্যক রেকর্ডে কাজ করার সময় একটি রিলেশনাল ডাটাবেস অনেক দ্রুত হয় (ড্যান 1111 এর প্রথম বুলেট পয়েন্ট)

সংযুক্ত তথ্যের জন্য গ্রাফ ডাটাবেসগুলি রিলেশনাল ডাটাবেসের তুলনায় অনেক দ্রুত - অন্তর্নিহিত মডেলের শক্তি। এর ফলাফল হ'ল কোনও গ্রাফের ডাটাবেজে ক্যোয়ারী ল্যাটেন্সিটি আপনি কোনও ক্যোয়ারীতে অন্বেষণ করতে যে গ্রাফটি বেছে নিয়েছেন তার সমানুপাতিক, এবং সংযুক্ত বোমাটিকে অকার্যকর করে, সংরক্ষণ করা ডেটার পরিমাণের সাথে সমানুপাতিক নয়। (জিম ওয়েবারের প্রথম বুলেট পয়েন্ট)

অন্য কথায় আমাদের প্রশ্নগুলি এবং সম্পর্কগুলি যত বেশি জটিল হয় আমরা একটি সম্পর্কিত সম্পর্কিত ডাটাবেস বনাম একটি গ্রাফ থেকে তত বেশি উপকৃত হই। (উলি বেথকের ২ য় অনুচ্ছেদ)

যদিও এই বক্তব্যগুলির মধ্যে যোগ্যতা থাকতে পারে তবে আমার নির্দিষ্ট ব্যবহারের কেসগুলি তাদের সাথে সামঞ্জস্য করার জন্য আমার এখনও কোনও উপায় খুঁজে পাওয়া যায়নি। রেফারেন্স: গ্রাফ ডাটাবেস বা রিলেশনাল ডেটাবেস সাধারণ টেবিল এক্সটেনশনগুলি: অ্যাসাইক্লিক গ্রাফ ক্যোয়ারী পারফরম্যান্সের সাথে তুলনা করা


0

রিলেশনাল ডেটাবেসগুলি ট্যাবুলার ডেটা সংরক্ষণে অনেক বেশি দক্ষ। তাদের নামে "রিলেশনাল" শব্দ থাকা সত্ত্বেও সঞ্চিত ডেটা উপাদানগুলির মধ্যে সম্পর্ক সংরক্ষণ বা প্রকাশ করার ক্ষেত্রে রিলেশনাল ডাটাবেসগুলি খুব কম কার্যকর। রিলেশনাল ডেটাবেজে 'রিলেশনাল' শব্দটি একটি সারণীর মধ্যে কলামগুলি সম্পর্কিত আরও বিভিন্ন সারণিতে তথ্য সম্পর্কিত না করে সম্পর্কিত। সেট অপারেশনগুলিকে সমর্থন করার জন্য কলামগুলির মধ্যে সম্পর্ক বিদ্যমান। সুতরাং ডেটাবেস কোটি কোটি বা বিলিয়ন রেকর্ডে বাড়ার সাথে সাথে সম্পর্কিত ডেটাবেসগুলি থেকে ডেটা পুনরুদ্ধার করা অত্যন্ত ধীর হয়ে যায়।

রিলেশনাল ডাটাবেস থেকে ভিন্ন, একটি গ্রাফ ডাটাবেস পুরোপুরি ডেটা সম্পর্কের চারপাশে কাঠামোগত হয়। গ্রাফ ডাটাবেসগুলি অন্যান্য মানগুলির মতো স্কিমা কাঠামো হিসাবে নয় বরং ডেটা হিসাবে আচরণ করে। গ্রাফ ডাটাবেসগুলি থেকে ডেটা পুনরুদ্ধার করা খুব দ্রুত। একটি সম্পর্কিত সম্পর্কিত ডাটাবেস দৃষ্টিকোণ থেকে, আপনি প্রতিটি প্রশ্নের জন্য তাদের গণনা না করে একবার সন্নিবেশের সময় প্রাক-বস্তুযুক্ত JOIN হিসাবে ভাবতে পারেন। যেহেতু ডেটা সম্পূর্ণরূপে ডেটা সম্পর্কের চারপাশে কাঠামোবদ্ধ, রিয়েল-টাইম ক্যোয়ারী কার্য সম্পাদন ডেটাসেটটি যত বড় বা সংযুক্ত করেই অর্জন করা যায়। গ্রাফ ডাটাবেসগুলি রিলেশনাল ডাটাবেসের তুলনায় বেশি স্টোরেজ স্থান নেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.