সিকিউ [আর] এস মডেলে কমান্ডটি কত দানাদার হওয়া উচিত?


17

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

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

আমি কে মূলত Udi, Dahan থেকে বিষয়ের উপর অনেক পড়া করেছি ESB আর্কিটেকচারের উপর গুরু (মাইক্রোসফট বিশ্বের অন্তত), কিন্তু এক জিনিস তিনি সত্যিই বলছেন আমাকে প্রহেলিকা:

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

[...]

সিকিউআরএসের একটি মূল উপাদানটি ব্যবহারকারীদের ইন্টারফেসের নকশাটি পুনর্বিবেচনা করছে যাতে গ্রাহককে অগ্রাধিকার দেওয়া হয়েছে বা এটি অর্জন করেছে তার চেয়ে বেশি বোঝায় যে গ্রাহককে অগ্রাধিকার প্রদান করা ব্যবহারকারীর পক্ষে কাজকে আলাদা পছন্দ করে তোলে preferred বিবাহিত। ডেটা পরিবর্তনের জন্য এক্সেল-এর মতো ইউআই ব্যবহার করা আমাদের লক্ষ্য হিসাবে ক্যাপচার করে না।

- উদী দহন, স্পষ্টত সিকিউআরএস

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

আমি বুঝতে পেরেছি যে আপনি যখন ভাল মেসেজ কুইং এবং আরপিসির কোনও ব্যাগেজ সহ উচ্চ-বিতরণকারী সিস্টেম পেয়েছেন তখন নেটওয়ার্ক বকবক কোনও ইস্যুতে কম নয়, তবে বিষয়টি পুরোপুরি খারিজ করা বুদ্ধিমান বলে মনে হয় না। Udi প্রায় বলেই মনে হচ্ছে যে প্রতিটি বৈশিষ্ট্য পরিবর্তন (যেমন ফিল্ড আপডেট) এর নিজস্ব কমান্ড হওয়া উচিত, যা প্রায়শই একটি traditionalতিহ্যবাহী হিসাবে এক ব্যবহারকারী বা কয়েক হাজার সম্মিলিত সত্তা এবং বৈশিষ্ট্যগুলি সম্ভাব্য আপডেট করার প্রসঙ্গে কল্পনা করা শক্ত is একটি বন্ধু পূর্ণ নাম লিখুন.

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

এই প্রতিদ্বন্দ্বী উদ্বেগের পুনর্মিলন করার কোনও উপায় আছে কি? আমি কি এটি সম্পর্কে ভুলভাবে ভাবছি? এই সমস্যাটির কি সিকিউএস / ইএসবি বিশ্বে একটি সুপরিচিত সমাধান রয়েছে?

যদি তা না হয়, তবে কোনও কমান্ডের গ্রানুলারিটির "সঠিক স্তর" কী হওয়া উচিত তা কীভাবে সিদ্ধান্ত নেওয়া যায়? ডেটাবেসগুলিতে 3NF এর মত ধরণের - এমন কোনও "স্ট্যান্ডার্ড" কেউ ব্যবহার করতে পারে এবং সাবধানে প্রোফাইলিং যখন কোনও সম্ভাব্য তাত্পর্যপূর্ণ পারফরম্যান্স বেনিফিটের পরামর্শ দেয় তখনই বিচ্যুত হয়?

বা এটি সম্ভবত সেই জিনিসগুলির মধ্যে একটি যা বিভিন্ন বিশেষজ্ঞের দ্বারা বেশ কয়েকটি দৃ opinions় মতামত প্রকাশ করা সত্ত্বেও সত্যই মতামতের বিষয়?

উত্তর:


7

"প্রতিটি বৈশিষ্ট্য পরিবর্তন" শীর্ষক বিষয়

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


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

@Aaronaught: সংজ্ঞা হয় নির্বিচারে। কোনও কমান্ডের গ্রানুলারিটি আপনার নির্দিষ্ট দৃশ্যের জন্য যা কিছু বোঝায় তা হওয়া উচিত । কোনও এক আকার সব ফিট করে না। বেশ কয়েকটি গাইডলাইন রয়েছে যেমন কেস বা কাজগুলি বা ইউআইতে উপলব্ধ ক্রিয়াকলাপের জন্য ম্যাচিং কমান্ডগুলি - অন্যটি হ'ল কম দানাদার কমান্ডের চেয়ে বেশি দানাদার কমান্ডকে প্রাধান্য দেওয়া (বিশেষত ইয়ভেস বলেছিলেন যে ডেটা সম্পর্কে সতর্ক থাকায় লজিক নিয়ন্ত্রণ প্রবাহ হিসাবে ব্যাখ্যা করা হয়) - তবে কোনও কঠোর এবং দ্রুত নিয়ম নেই। এমন কোনও বাস্তব পরিস্থিতি আছে যেখানে "এক ব্যবহারকারী সম্ভাব্যভাবে কয়েকশো বা হাজারে সংযুক্ত সংস্থাগুলি এবং গুণাবলী আপডেট করে"?
কোয়ান্টিন-স্টারিন

এই হল ব্যপার! একসাথে গলদ খাবেন না। আচরণ অনুসারে ভাগ! কমান্ডটিতে এমন ডেটা রাখবেন না যা কমান্ড / শেষ-ব্যবহারকারীর অভিপ্রায়ের সাথে সামঞ্জস্য করে না। এবং এটি ডাউনস্ট্রিম সিস্টেমগুলি সম্পর্কে নয়।
ইয়ভেস রেইনআউট ১৯

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

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

2

উদি যে বার্তাটি পেতে চেষ্টা করছেন তা হ'ল সিকিউআরএস কেবল সিআরইউডি-র চেয়ে বেশি। আমি কেন এই রেকর্ড তৈরি করেছি? আমি কেন এই রেকর্ডটি পরিবর্তন করছি? কেন এটি মোছা / মুছে ফেলা হিসাবে চিহ্নিত করা হচ্ছে?

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

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

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