ইভেন্ট সোর্সিং এবং অধ্যবসায়


12

আমি ইভেন্ট সোর্সিং উপর পড়তে এবং দৃ pers়তা সংক্রান্ত একটি প্রশ্ন আছে।

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

ইভেন্ট সোর্সিংয়ের সাথে কথাটি হ'ল আমি প্রয়োজনে ডাটা স্টোর পপুলেট করতে ইভেন্টগুলি পুনরায় খেলতে পারি? (বা তথ্য বিশ্লেষণ)

উত্তর:


9

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

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

প্রচুর দুর্দান্ত ইভেন্ট স্টোর রয়েছে, শেষটি গতকাল ইভেন্ট স্টোরটি সবেমাত্র প্রকাশিত হয়েছিল এবং এটি সত্যিই খুব ভাল বলে মনে হচ্ছে।

অনুরোধিত ডেটা দিয়ে ডিটিও তৈরি করতে আপনার সিস্টেমের ক্যোয়ারী অংশের জন্য traditionalতিহ্যবাহী ডাটাবেস রাখা যেতে পারে। আপনার অ্যাপ্লিকেশন এবং ক্লায়েন্টদের প্রশ্নের প্রয়োজন বিবেচনা করে এই ডাটাবেসটি সংগঠিত এবং অনুকূলিত করা যেতে পারে।

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


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

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

9

ইভেন্ট সোর্সিংয়ের সাথে মূল প্রশ্নটি হল "আপনার রেকর্ডের বইটি কী"।

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

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


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

1

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

উত্তরটি আপনার আবেদনের প্রয়োজনীয়তার উপর নির্ভর করে। আমি এটি দুটি উপায়ে করে দেখেছি।

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

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


এটি কোন অ্যাকাউন্টিং প্যাকেজটি করে?
ম্যাগনাস

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