আমার পরিষেবাটিতে প্রচুর চলমান ব্যবহারকারীর ইভেন্ট রয়েছে এবং আমরা " তারিখ ডি থেকে ইভেন্ট টাইপের টি সংখ্যার গণনা" এর মতো কাজ করতে চাই ।
আমরা দুটি মূল সিদ্ধান্ত নেওয়ার চেষ্টা করছি:
কি সঞ্চয় করতে হবে? প্রতিটি ইভেন্ট বনাম বনাম কেবল সঞ্চয় করে St
- (ইভেন্ট লগ শৈলী) প্রতিটি ইভেন্ট লগ এবং তাদের গণনা পরে, বনাম।
- (টাইম-সিরিজ শৈলী) একটা একক সমষ্টিগত হয়েছে "এই ইভেন্টের গণনা সংরক্ষণ ই তারিখ জন্য ডি প্রতিদিন-এর জন্য"
কোথায় তথ্য সংরক্ষণ করতে হবে
- একটি সম্পর্কিত সম্পর্কিত ডাটাবেসে (বিশেষত মাইএসকিউএল)
- একটি সম্পর্কহীন (NoSQL) ডাটাবেসে
- ফ্ল্যাট লগ ফাইলগুলিতে (নেটওয়ার্কের মাধ্যমে কেন্দ্রীয়ভাবে সংগ্রহ করা
syslog-ng
)
স্ট্যান্ডার্ড অনুশীলন কী / আমি বিভিন্ন ধরণের সিস্টেমে তুলনা করার বিষয়ে আরও কোথায় পড়তে পারি?
অতিরিক্ত তথ্য:
- মোট ইভেন্ট স্ট্রিমটি বৃহত, সম্ভাব্য প্রতিদিন কয়েকশো হাজার এন্ট্রি
- তবে আমাদের বর্তমান প্রয়োজনটি কেবল এর মধ্যে নির্দিষ্ট ধরণের ইভেন্টগুলি গণনা করা
- আমাদের অগত্যা কাঁচা ডেটা বা সমষ্টিগত ফলাফলের রিয়েল-টাইম অ্যাক্সেসের প্রয়োজন নেই
আইএমএইচও, "সমস্ত ইভেন্টগুলিকে ফাইলে লগ করুন, ফিল্টারটি প্রবাহের জন্য এবং একত্রিত করার জন্য পরবর্তী সময়ে এগুলি ক্রল করুন" এটি একটি দুর্দান্ত স্ট্যান্ডার্ড ইউনিক্স ওয়ে, তবে আমার রেল-ওয়াই দেশবাসী মনে হয় যে এটি মাইএসকিউএল না থাকলে কিছুই আসল নয়।
SELECT...GROUP BY
সহজেই ব্যবহারের সমষ্টি সহজতর করে , এর ফলাফলগুলি সহজেই সংরক্ষণ করতে পারে SELECT
), ২) সাধারণ বড় আকারের সমষ্টি এবং ভিজ্যুয়ালাইজেশনের জন্য গ্রাফাইট ব্যবহার করে এবং 3) রেফারেন্সের জন্য এবং বাস্তব সময়ে ডেটা প্রবাহের বিশদটি দেখার জন্য সম্পূর্ণ ইভেন্টগুলিতে লগইন করা। প্রতিটি আসলে বিভিন্ন উপায়ে মূল্যবান হয়েছে।