এসকিউএল সার্ভার এবং মঙ্গো একসাথে ব্যবহার করা যেতে পারে?


14

আমাদের কাছে একটি বৃহত নিউজ-ওরিয়েন্টেড সাইট রয়েছে যাতে উচ্চ ট্রাফিক রয়েছে। আর্কিটেকচারটি আপনার প্রায়শই দেখা ডিবি - রেপো স্তর - পরিষেবাদি স্তর - Asp.Net MVC। আমরা যে সমস্যাটি দেখছি তা হ'ল পড়ার পারফরম্যান্সের প্রায়। দেখা যাচ্ছে যে ব্যবসায়ের নিয়মের জন্য এই সমস্ত ডিডিডি ডোমেন অবজেক্ট স্টাফ দুর্দান্ত, তবে পড়ার পারফরম্যান্সকে অনুকূলকরণ করার ক্ষেত্রে এটি জীবনকে আরও শক্ত করে তুলেছে।

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

আমার প্রশ্নটি কি এসকিউএল সার্ভারকে আপনার রেকর্ডের ডাটাবেস হিসাবে এবং মঙ্গোকে আপনার কোয়েরি ডাটাবেস হিসাবে একসাথে ব্যবহার করা সম্ভব ?

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

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


3
সম্ভব? অবশ্যই এটি দুটি পৃথক ডেটা স্টোর হিসাবে সম্ভব। আপনি এখানে কি জিজ্ঞাসা করছেন?
ওডে

কিন্তু আপনি কি তাদের একসাথে ব্যবহার করতে পারেন? মঙ্গো ডিবি মূলত ডেটাগুলির জন্য কেবল পঠনযোগ্য ক্যাশে হিসাবে অভিনয় করছে?
জন

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

1
আমরা কখনই মঙ্গোডিবিতে স্থানান্তর করি নি, তবে এটি পরের বছরের মতো মনে হচ্ছে we একটি সংক্রামক উপায় যা আমরা করেছি তা হ'ল জেএসওএনকে ভারচর ক্ষেত্রগুলিতে সঞ্চয় করা। আমি যা পড়েছি তার সব থেকে, নোএসকিউএল এবং এসকিউএল এর মধ্যে ডেটা পিছনে সরিয়ে নেওয়ার কোনও ভাল উপায় নেই - বিশেষত নোএসকিউএল ডাটাবেসগুলি যেহেতু আছে তারা কীভাবে কাজ করে তার মধ্যে আলাদাভাবে পরিবর্তন হয় তাই এগুলি সমস্তই কাস্টম হওয়া দরকার especially ।
জন

1
@John আপনি রিলেশনাল দিয়ে বিদ্ধ করতে খুঁজছি এবং SQL সার্ভার থেকে দূরে সরাতে ইচ্ছুক হন, তাহলে আপনি PostgreSQL এবং তার তাকান করতে চাইবেন JSON ইন্টিগ্রেশন । সুতরাং, একটি জসন কলামে ডেটা সঞ্চয় করে যা এরপরে ডাটাবেসের মধ্যে ম্যানিপুলেট করা যায়।

উত্তর:


13

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

সিকিউআরএস এটি আরও একধাপ এগিয়ে নিয়ে যায় এবং সুনির্দিষ্ট করে যে আপনার কাছে ক্যোয়ারী এবং কমান্ডগুলির জন্য আলাদা মডেল রয়েছে। এই একক পদক্ষেপটি আপনার পড়া এবং লেখার ডেটাবেসকে আলাদা করার মতো জিনিসগুলিকে সক্ষম করে। আপনি কি করতে চান যা।

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

এর চেয়েও ভাল বিকল্প হ'ল যখনই কোনও আপডেট তৈরি করা হয় তখন আপনার কমান্ড পরিষেবাটিকে একটি ইভেন্ট ফায়ার করা। তারপরে আপনার একটি পরিষেবা হবে যা সেই ইভেন্টটির জন্য শুনেছিল এবং মঙ্গোডিবিকে সেই তথ্য দিয়ে আপডেট করেছে। এটিই ইভেন্ট সোর্সিংয়ের মূল ভিত্তি (পৃষ্ঠায় ইভেন্ট সোর্সিংয়ের সন্ধান করুন)।

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


+1 সিকিউআরএস এখানে ভাল ফিট করে। আপনার দৃষ্টিভঙ্গি তৈরির জন্য ব্যবহৃত একটি ডকুমেন্ট ডাটাবেসকে পপুলেটেড এবং আপডেট করতে ইভেন্টগুলি ব্যবহার করুন এবং আপনার এসকিএল ডাটাবেসটি যেমন রয়েছে তেমন ছেড়ে যান।
কোয়ান্টিন-স্টারিন

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

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

1

হ্যাঁ. আমার বর্তমান প্রকল্পে, আমরা ডেটা পাচ্ছি এবং এটি এসকিউএল সার্ভারে সঞ্চয় করি এবং তারপরে লুসিন / সোলার ব্যবহার করে অনুসন্ধান সূচকগুলি তৈরি করে এবং মঙ্গোডিবিতে সেগুলি সঞ্চয় করি। পপুলেটিং মঙ্গোডিবি একটি কাস্টম লোডার দিয়ে সম্পন্ন হয়, যদিও - কোনও এসকিউএল সার্ভারের অনুলিপি বা স্বয়ংক্রিয় রিফ্রেশ নেই।


ঠিক আছে আমি শুধু কৌতুহলী, কেন সরাসরি মঙ্গো জনবহুল নয়? আপনি একই বাধ্যতা অধীনে আছে না থাকার উভয় ব্যবহার করতে হয়?
ইয়াতী সাগাদে

আমাদের বিদ্যমান এসকিউএল সার্ভারটি রাতারাতি আবারও লেখা যায় না। আমার ধারণা এটি ছোট, তবে দরকারী শিশুর পদক্ষেপ।
জন

@ ইয়তিসাগদে: ঠিক আছে। আমাদের কাছে এমন প্রতিবেদন রয়েছে যা এসকিউএল সার্ভারের বিরুদ্ধে চালাতে হবে তবে আমাদের কাছে একটি বিশ্বব্যাপী অনুসন্ধান অ্যাপ রয়েছে যা লুসিন সূচকগুলি ব্যবহার করে।
TMN
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.