ফাইল বা ডেটাবেস টেবিল লগ ইন?


12

আমি একটি ওয়েব অ্যাপ্লিকেশন বিকাশ করছি যা বিভিন্ন ডেটার জন্য এমএস এসকিউএল ব্যবহার করে: ব্যবহারকারী, ব্যবহারকারী অ্যাকাউন্ট, ব্যবহারকারীর লাইসেন্স, লাইসেন্সের দাম, চালান সহ।

সিস্টেমের আসল-সময় ব্যবহারের জন্য আমাকে লগ করতে হবে এবং এটি মাসিক বিলিংয়ের জন্য ব্যবহার করতে হবে: উদাহরণস্বরূপ যখন কোনও ব্যবহারকারী নির্দিষ্ট পৃষ্ঠা / ইউআরএল পায় এবং মাসের শেষে বিল ব্যবহারকারীরা তাদের প্রাপ্ত পৃষ্ঠাগুলির সংখ্যার ভিত্তিতে লগ করে থাকে।

  • আমার এমএস এসকিউএল ডাটাবেসে কোনও লগ ইভেন্টগুলিকে একটি টেবিলের মধ্যে লিখতে হবে?

  • আমি কি এই লগ ইভেন্টগুলিকে একটি নন-এসকিউএল অ্যাপেন্ড-কেবলমাত্র লগ ফাইলটিতে লিখতে পারি?

  • আমি কি প্রতিটি ব্যবহারকারীর জন্য এই লগ ইভেন্টগুলি আলাদা লগ ফাইলে লিখব?

এটি কোনও উচ্চ-ভলিউম ওয়েবসাইট নয়: উদাহরণস্বরূপ, সর্বোচ্চ 10,000 ব্যবহারকারী প্রত্যেকে গড়ে 5 লগযোগ্য ইভেন্ট / দিন => 50,000 ইভেন্ট / দিন = 30 ইভেন্ট / মিনিট = 18,000,000 ইভেন্ট / বছর করছেন।

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

বিলযোগ্য ইভেন্টের সাথে সম্পর্কিত ডেটাগুলি সহজ, যেমন:

  • ব্যবহারকারী আইডি (এসকিউএল ব্যবহারকারীদের সারণীর সাথে বিদেশী কী সম্পর্ক)
  • তারিখ এবং সময়
  • বিলযোগ্য পৃষ্ঠাটির URL

এই প্রশ্নের আমার নিজের উত্তর নিম্নরূপ:

  • ডেটাবেস টেবিলটিতে লগ লেখার কিছু সুবিধা:

    • প্রাসঙ্গিক অখণ্ডতা: যেমন লগ করা ইভেন্টগুলি বৈধ ব্যবহারকারী আইডিগুলির সাথে সম্পর্কিত হয় (সারণীর মধ্যে বিদেশী কী হিসাবে ব্যবহারকারী আইডি সংজ্ঞায়িত করে)
    • বিলিংয়ের জন্য পড়তে সহজ: উদাহরণস্বরূপ SELECT COUNT GROUP BYব্যবহারকারীর প্রতি লগ ইভেন্টের সংখ্যা গণনা করা
  • লগ ফাইল লিখতে কিছু সুবিধা:

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

আমার উত্তরটি ভুল হলে দয়া করে আমাকে জানান; বা কোনও কিছুর গুরুত্বকে অতিরঞ্জিত করে; বা কিছু গুরুত্বপূর্ণ বিবেচনা ভুলে গেছে।

এবং / অথবা দয়া করে আপনার উত্তরটি আমার জানা উচিত, যদি এটি আমার থেকে আলাদা হয়।


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

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

2
ওপি বলছে এটি মাসিক বিলিংয়ের জন্য - সুতরাং আমি কী বিলম্বিত যুক্তিটি ডিবিতে প্রয়োগ করা ফ্ল্যাট ফাইলগুলির চেয়ে আরও সহজ হতে পারব বলে আশা করি?
জুলিয়া

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

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

উত্তর:


13

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

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

আপনার তৃতীয় বিকল্পটি, উপায় দ্বারা, উভয়ই করা। সর্বাধিক প্রয়োজনের জন্য ডাটাবেস ব্যবহার করুন, তবে নিরীক্ষণের উদ্দেশ্যে লগ ফাইল রাখুন।


3
একটি ডেটাবেস ব্যবহার করার জন্য আরেকটি বোনাস হ'ল নির্দিষ্ট লগিংয়ের জন্য ট্রিগারগুলি ব্যবহার করে। কোনও অতিরিক্ত কোডের প্রয়োজন হবে না। যদি টেবিল A ​​তে ডেটা getsোকানো হয় তবে লগ বার্তাটি এক্স X
োকান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.