معرفی ابزار: InfluxDB

🖌 پایگاه داده InfluxDB یک پایگاه داده سری زمانی متن باز (TSDB) است که توسط شرکت InfluxData توسعه یافته است. این پایگاه داده با استفاده از زبان برنامه نویسی Go برای ذخیره و بازیابی داده‌های سری زمانی با کاربردهایی مانند پایش عملیات، داده‌های حسگرهای اینترنت اشیا و تحلیل‌گری بلادرنگ نوشته شده است.

✳️ به طور کلی پایگاه داده‌های سری زمانی شامل اندازه‌گیری‌ها یا رویدادهایی است که تحت پایش، ردیابی و پالایش داده‌ها شامل نمونه‌برداری و جمع‌آوری در طول زمان قرار می‌گیرند و بنابراین می‌توانند شامل داده‌های نظارت بر اپلیکیشن‌ها، داده‌های مربوط به حسگرها، داده‌های معاملات بازار و بورس اوراق بهادار باشند. پایگاه داده سری زمانی قادر به دریافت میلیون‌ها نقطه داده در ثانیه است که بر این اساس عملکرد سطح بالایی را ارائه می‌دهد.

♦️ بنابراین با استفاده از InfluxDB، اپلیکیشن‌های بلادرنگ برای تحلیل‌گری، اینترنت اشیا و سرویس‌های ابری بومی (cloud-native) در زمان کمتر و با کد کمتر قابل دستیابی است. همچنین InfluxDB دارای یک زبان پرس و جو (کوئری) از نوع SQL است که به طور خاص برای داده‌های سری زمانی ایجاد شده است.

📍مفاهیم پایه در InfluxDB عبارتند از:

1️⃣ اندازه‌گیری (measurement): اندازه‌گیری تقریباً معادل مفهوم جدول در پایگاه‌های داده رابطه‌ای است. بنابراین داده‌ها در آن ذخیره می‌شود و پایگاه داده می‌تواند چندین اندازه‌گیری داشته باشد. یک اندازه گیری از 3 نوع ستون Time، Tags و Fields تشکیل شده است.

2️⃣ زمان: یکی دیگر از اجزای این پایگاه داده زمان است که به صورت timestamp جهت ردیابی ستون برای انجام عملیات سری زمانی به روشی بهتر مورد استفاده قرار می‌گیرد. به طور پیش‌فرض زمان مورد استفاده، زمان Influxdb است که بر حسب نانوثانیه می‌باشد، اما می‌توان آن را با زمان رویداد جایگزین کرد.

3️⃣ برچسب‌ها: یک برچسب شبیه به یک ستون ایندکس شده در یک پایگاه داده رابطه‌ای است. نکته مهمی که در این خصوص وجود دارد این است که عملیات رابطه‌ای مانند WHERE، GROUP BY و غیره را می‌توان بر روی یک ستون تنها در صورتی انجام داد که به عنوان یک برچسب مشخص شده باشد.

4️⃣ فیلدها: فیلدها ستون‌هایی هستند که عملیات ریاضی مانند مجموع، میانگین و غیره را می‌توان بر روی آنها انجام داد. با این حال، در نسخه های اخیر، مقادیر به صورت رشته را نیز می‌توان به عنوان یک فیلد ذخیره کرد.

5️⃣ سری‌ها: سری‌ها مهم‌ترین مفهوم Influxdb هستند. یک سری ترکیبی از برچسب‌ها، اندازه‌گیری و سیاست نگهداشت است. عملکرد پایگاه داده Influxdb به شدت به تعداد سری‌های منحصر به فرد آن بستگی دارد.

📍با توجه به اینکه Spark از متداول‌ترین ابزارهای متن باز در زمینه پردازش داده‌های عظیم است، پایگاه داده InfluxDB می‌تواند به همراه جریان با ساختار اسپارک برای پردازش، ذخیره و مصورسازی داده‌ها به صورت بلادرنگ مورد استفاده گیرد. در حال حاضر دو پیاده‌سازی متن باز از InfluxDb sink برای نوشتن داده‌ها از طریق جریان ساختاریافته، chronicler و reactive-influx وجود دارد. همچنین با ذخیره داده می‌توان از ابزارهای مختلفی مانند Grafana و Chronograph و غیره برای مصورسازی آن استفاده نمود.

❇️ برای دانلود می‌توانید به سایت زیر مراجعه فرمایید:
🔗 https://www.influxdata.com

پیمایش به بالا