প্রথমত, আমি বলতে চাই এটি একটি উপেক্ষিত প্রশ্ন / ক্ষেত্র বলে মনে হচ্ছে, সুতরাং যদি এই প্রশ্নের উন্নতির প্রয়োজন হয় তবে আমাকে এটিকে একটি দুর্দান্ত প্রশ্ন তৈরি করতে সহায়তা করুন যা অন্যের উপকার করতে পারে! আমি এমন লোকদের পরামর্শ এবং সাহায্যের সন্ধান করছি যারা এই সমস্যার সমাধান করেছেন যা এই সমস্যার সমাধান করে, কেবলমাত্র চেষ্টা করার মত ধারণা নয়।
আমার অভিজ্ঞতা হিসাবে, একটি অ্যাপ্লিকেশনটির দুটি পক্ষ রয়েছে - "টাস্ক" দিকটি, যা মূলত ডোমেন চালিত এবং যেখানে ব্যবহারকারীরা ডোমেন মডেল (অ্যাপ্লিকেশনটির "ইঞ্জিন") এবং রিপোর্টিংয়ের দিক দিয়ে সমৃদ্ধভাবে যোগাযোগ করেন যেখানে ব্যবহারকারীরা টাস্ক সাইডে কী ঘটে তার উপর ভিত্তি করে ডেটা পান।
কার্যক্ষেত্রে, এটি পরিষ্কার যে একটি সমৃদ্ধ ডোমেন মডেলযুক্ত অ্যাপ্লিকেশনটির ডোমেন মডেলটিতে ব্যবসায়িক যুক্তি থাকা উচিত এবং বেশিরভাগ অধ্যবসায়ের জন্য ডাটাবেস ব্যবহার করা উচিত। উদ্বেগের পৃথকীকরণ, প্রতিটি বই এটি সম্পর্কে লেখা হয়, আমরা কী করব তা জানি, দুর্দান্ত।
রিপোর্টিং দিকটি কী? ডেটা গুদামগুলি কি গ্রহণযোগ্য, বা তারা ডেটাবেজে ব্যবসায়ের লজিক এবং খুব ডেটা নিজেই অন্তর্ভুক্ত করার কারণে এগুলি খারাপ নকশা? ডেটাবেস থেকে ডেটা গুদামের ডেটাতে ডেটা একত্রিত করার জন্য আপনাকে অবশ্যই ব্যবসায়িক যুক্তি এবং ডেটাতে নিয়ম প্রয়োগ করতে হবে এবং এই যুক্তি এবং নিয়মগুলি আপনার ডোমেন মডেল থেকে আসে নি, এটি আপনার ডেটা একত্রিতকরণ প্রক্রিয়া থেকে এসেছে। এটা কি ভুল?
আমি বড় আর্থিক এবং প্রকল্প পরিচালনার অ্যাপ্লিকেশনগুলিতে কাজ করি যেখানে ব্যবসায়ের যুক্তি ব্যাপক। এই ডেটা সম্পর্কে প্রতিবেদন করার সময়, প্রতিবেদন / ড্যাশবোর্ডের জন্য প্রয়োজনীয় তথ্যগুলি টানতে আমার প্রায়শই প্রচুর পরিমাণে সমাহার করতে হবে এবং সমষ্টিগুলিতে তাদের মধ্যে প্রচুর ব্যবসায়িক যুক্তি রয়েছে। পারফরম্যান্সের জন্য, আমি এটি অত্যন্ত সংহত টেবিল এবং সঞ্চিত পদ্ধতি দিয়ে করছি।
উদাহরণস্বরূপ, আসুন বলি যে সক্রিয় প্রকল্পগুলির একটি তালিকা দেখানোর জন্য একটি প্রতিবেদন / ড্যাশবোর্ডের প্রয়োজন (10,000 প্রকল্পের কল্পনা করুন)। প্রতিটি প্রকল্পের সাথে এটি প্রদর্শিত মেট্রিকের একটি সেট প্রয়োজন হবে, উদাহরণস্বরূপ:
- মোট বাজেট
- তারিখ চেষ্টা
- দহনের হার
- বর্তমান বার্ন রেটে বাজেট ক্লান্তি তারিখ
- প্রভৃতি
এর প্রত্যেকটিতে প্রচুর ব্যবসায়িক যুক্তি জড়িত। এবং আমি কেবল সংখ্যা বা কিছু সাধারণ যুক্তির কথা বলছি না। আমি বাজেট পাওয়ার জন্য কথা বলছি, আপনাকে 500 টি ভিন্ন হারের সাথে একটি রেট শিট প্রয়োগ করতে হবে, প্রতিটি কর্মীর সময়ের জন্য একটি (কিছু প্রকল্পে, অন্যের একটি গুণক রয়েছে), ব্যয় এবং কোনও উপযুক্ত মার্কআপ ইত্যাদি প্রয়োগ করতে হবে। যুক্তি বিস্তৃত। ক্লায়েন্টের জন্য যুক্তিসঙ্গত পরিমাণে এই ডেটাটি পেতে এটি প্রচুর একত্রিত এবং ক্যোয়ারী টিউনিং নিয়েছিল।
এটি কি প্রথমে ডোমেনের মাধ্যমে চালানো উচিত? পারফরম্যান্সের কী হবে? এমনকি সোজা এসকিউএল কোয়েরি সহ, ক্লায়েন্টের পক্ষে যুক্তিসঙ্গত সময়ের জন্য প্রদর্শন করার জন্য আমি সবেমাত্র এই ডেটাটি পাচ্ছি। আমি যদি এই সমস্ত ডোমেন অবজেক্টগুলিকে পুনরায় সংশ্লেষ করতে এবং অ্যাপ্লিকেশন স্তরে তাদের ডেটা মেশানো এবং মিলিয়ে এবং সংহত করে দিচ্ছি বা অ্যাপ্লিকেশনটিতে ডেটা একত্রিত করার চেষ্টা করছি তবে ক্লায়েন্টের কাছে এই ডেটাটি দ্রুত পাওয়ার চেষ্টা করা আমি কল্পনা করতে পারি না।
এই ক্ষেত্রেগুলি দেখে মনে হয় যে এসকিউএল ডেটা ক্রাঞ্চ করার ক্ষেত্রে ভাল, এবং কেন এটি ব্যবহার করবেন না? তবে তারপরে আপনার ডোমেন মডেলের বাইরে আপনার ব্যবসায়িক যুক্তি রয়েছে। ব্যবসায়ের যুক্তিতে যে কোনও পরিবর্তন আপনার ডোমেন মডেল এবং আপনার প্রতিবেদনের সমষ্টি স্কিমগুলিতে পরিবর্তন করতে হবে।
আমি কীভাবে কোনও ডোমেইন চালিত নকশা এবং ভাল অভ্যাসের ক্ষেত্রে কোনও অ্যাপ্লিকেশনটির রিপোর্টিং / ড্যাশবোর্ড অংশটি ডিজাইন করতে পারি তার জন্য আমি খুব ক্ষতি করছি।
আমি এমভিসি ট্যাগ যুক্ত করেছি কারণ এমভিসি হ'ল ডিজাইনের স্বাদ ডু ভ্রমণ এবং আমি এটি আমার বর্তমান ডিজাইনে ব্যবহার করছি তবে প্রতিবেদনের ডেটা এই ধরণের প্রয়োগের সাথে কীভাবে খাপ খায় তা বুঝতে পারি না।
আমি এই অঞ্চলে কোনও সহায়তা খুঁজছি - বই, ডিজাইনের নিদর্শন, গুগলের মূল শব্দ, নিবন্ধগুলি, যে কোনও কিছু। আমি এই বিষয়টিতে কোনও তথ্য খুঁজে পাই না।
সম্পাদনা করুন এবং অন্য উদাহরণ
আরেকটি নিখুঁত উদাহরণ আমি আজ জুড়ে ছড়িয়েছি। গ্রাহক গ্রাহক বিক্রয় দলের জন্য একটি প্রতিবেদন চান। তারা সাধারণ মেট্রিকের মতো দেখতে চায়:
প্রতিটি বিক্রয় ব্যক্তির জন্য, আজ পর্যন্ত তাদের বার্ষিক বিক্রয় কত?
তবে তা জটিল। প্রতিটি বিক্রয় ব্যক্তি একাধিক বিক্রয় সুযোগে অংশ নিয়েছিল। কিছু তারা জিতেছে, কিছু তারা জিতেনি। প্রতিটি বিক্রয় সুযোগে, একাধিক বিক্রয়কর্মী রয়েছেন যারা প্রত্যেককে তাদের ভূমিকা এবং অংশগ্রহণ অনুযায়ী বিক্রয়ের জন্য শতাংশের এক শতাংশ বরাদ্দ করা হয়। সুতরাং এখন আপনি এটির জন্য ডোমেনটির মধ্য দিয়ে যাওয়ার কল্পনা করুন ... প্রতিটি বিক্রয় ব্যক্তির ডাটাবেস থেকে এই ডেটাটি টানতে আপনাকে কত পরিমাণ অবজেক্ট রিহাইড্রেশন করতে হবে:
সকলের জন্য
SalesPeople
->
প্রত্যেকের জন্য তাদেরSalesOpportunities
->
প্রত্যেকের জন্য তার বিক্রির শতাংশ পান এবং তাদের বিক্রয় পরিমাণ গণনা
করুন তারপরে তাদের সমস্তSalesOpportunity
বিক্রয় পরিমাণ যুক্ত করুন।
এবং এটি এক মেট্রিক। অথবা আপনি একটি এসকিউএল কোয়েরি লিখতে পারেন যা এটি দ্রুত এবং দক্ষতার সাথে করতে এবং এটি দ্রুত হওয়ার জন্য টিউন করতে পারে।
সম্পাদনা 2 - সিকিউআরএস প্যাটার্ন
আমি সিকিউআরএস প্যাটার্ন সম্পর্কে পড়েছি এবং আগ্রহের সময়, এমনকি মার্টিন ফোলারও বলেছেন যে এটি পরীক্ষা করা হয়নি। অতীতে এই সমস্যাটি কীভাবে সমাধান হয়েছে। এটি এক পর্যায়ে বা অন্য কোনও সময়ে প্রত্যেকের মুখোমুখি হতে হয়েছিল। সাফল্যের ট্র্যাক রেকর্ড সহ একটি প্রতিষ্ঠিত বা সুসজ্জিত দৃষ্টিভঙ্গি কী?
সম্পাদনা 3 - রিপোর্টিং সিস্টেম / সরঞ্জামসমূহ
এই প্রসঙ্গে বিবেচনা করার মতো আরেকটি বিষয় হ'ল রিপোর্টিং সরঞ্জাম। পরিষেবাদি / স্ফটিক প্রতিবেদনগুলি, বিশ্লেষণ পরিষেবাদিগুলি এবং কাগনোসেন্টি ইত্যাদি ইত্যাদি রিপোর্টিং এসকিউএল / ডাটাবেস থেকে ডেটা আশা করে। আমি সন্দেহ করি যে এর পরে আপনার ডেটা আপনার ব্যবসায়ের মাধ্যমে আসবে। এবং তবুও তারা এবং তাদের মতো অন্যান্যরা প্রচুর বৃহত সিস্টেমে প্রতিবেদনের একটি অতীব গুরুত্বপূর্ণ অংশ। এই সিস্টেমগুলির ডেটা উত্সে এবং পাশাপাশি নিজস্ব প্রতিবেদনে এমনকি ব্যবসায়ের যুক্তি যেখানে সঠিকভাবে পরিচালিত হয় সেগুলির ডেটা কীভাবে করা হয়?