মাইএসকিএল ওভার মঙ্গদ্বের মতো নোসকিএল ডাটাবেস কখন ব্যবহার করবেন?


13

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

'এই ব্যবহারকারীর দ্বারা পোস্ট করা সমস্ত মন্তব্য সন্ধান করুন', 'অ্যালবাম সত্তার সাথে সম্পর্কিত সমস্ত ফটো সন্ধান করুন' ইত্যাদি হিসাবে আমি কীভাবে সহজ কিছু জিজ্ঞাসা করব?

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

উত্তর:


19

সাধারণ ব্যবহার

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

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

  • আপনি যদি একাধিক সার্ভার জুড়ে আপনার ডেটা ক্লাস্টার করে উপকৃত হতে চান তবে একটি একক সার্ভার থাকার চেয়ে, যা সাধারণত আরডিবিএমএস দ্বারা প্রয়োজনীয়।

  • ক্যাশে। এমনকি আপনি যদি আপনার মূল ডাটাবেস হিসাবে আরডিবিএমএসের সাথে থাকতে চান তবে ক্যোয়ারী ফলাফলগুলি ক্যাচ করার জন্য বা কাউন্টারগুলির মতো ডেটা রাখার জন্য কোনও নুএসকিউএল ডাটাবেস ব্যবহার করা কার্যকর হতে পারে।

  • দলিল সংরক্ষণ আপনি যদি সুসংগত নথি সংরক্ষণ করতে চান, একটি ডাটাবেসে নোএসকিউএল ডাটাবেসগুলির কিছু (যেমন মঙ্গোডিবি) আসলে সেগুলি সংরক্ষণ করার জন্য বিশেষজ্ঞ হয়।

যোগদানের কি?

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

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

ভাগ্যক্রমে, বেশিরভাগ চালক আপনার জন্য যোগ দিতে পারে, যদি আপনি নিজের স্কিমাটি সঠিকভাবে সেট আপ করেন।

আরও পড়ার জন্য আমি আসলে মার্টিন ফাউলারের পরামর্শ দিই ।


2

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


2
কি? ... কেন? ...
রবার্ট হার্ভে

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

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

0

কিছু ক্ষেত্রে, আপনার বিদেশী কীগুলির প্রয়োজন হবে না। এই ক্ষেত্রে:

এই ব্যবহারকারীর দ্বারা পোস্ট করা সমস্ত মন্তব্য সন্ধান করুন

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

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

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