ProHoster > وبلاگ > اخبار اینترنتی > VictoriaMetrics، یک موتور پایگاه داده سری زمانی سازگار با Prometheus، منبع باز است
VictoriaMetrics، یک موتور پایگاه داده سری زمانی سازگار با Prometheus، منبع باز است
باز کن متون منبع ویکتوریا متریکس - یک DBMS سریع و مقیاس پذیر برای ذخیره و پردازش داده ها در قالب یک سری زمانی (رکورد زمان و مجموعه ای از مقادیر مربوط به این زمان را تشکیل می دهد، به عنوان مثال، از طریق نظرسنجی دوره ای وضعیت سنسورها یا جمع آوری معیارهای). این پروژه با راه حل هایی مانند InfluxDB, TimescaleDB, Thanos, قشر и اوبر M3. کد به زبان Go نوشته شده است و توزیع شده توسط دارای مجوز Apache 2.0.
مزایا و ویژگی های VictoriaMetrics:
آسان برای استفاده. این یک فایل اجرایی واحد با حداقل تنظیمات است که هنگام راه اندازی از طریق خط فرمان منتقل می شود. همه دادهها در یک فهرست ذخیره میشوند که در هنگام راهاندازی با استفاده از پرچم «-storageDataPath» مشخص شده است.
پشتیبانی از زبان پرس و جو PromQL، در سیستم مانیتورینگ استفاده می شود تیتان فرزند پاپتوس. سوالات فرعی PromQL و برخی از آنها پشتیبانی می شوند قابلیت های توسعه یافتهمانند عبارت «offset»، الگوهای درون عبارات «WIDTH»، «if» و «پیشفرض»، توابع اضافی، و امکان گنجاندن نظرات.
در دسترس بودن حالت backfill برای بارگیری داده های تاریخی.
پشتیبانی از پروتکل های مختلف انتقال داده، از جمله Prometheus API, هجوم, گرافیت и OpenTSDB. VictoriaMetrics می تواند به عنوان یک جایگزین شفاف برای InfluxDB استفاده شود و می تواند با مجموعه های سازگار با InfluxDB مانند Telegraf کار کند.
عملکرد بالا و مصرف کم منابع مقایسه کرد با سیستم های رقیب در برخی آزمایشها، VictoriaMetrics هنگام انجام عملیات درج و بازیابی تا 20 برابر از InfluxDB و TimescaleDB بهتر عمل میکند. هنگام انجام پرس و جوهای تحلیلی، سود در مقایسه با DBMS رابطه ای PostgreSQL و MySQL می تواند از 10 تا 1000 برابر باشد.
موجود است فرصت پردازش تعداد بسیار زیادی سری زمانی منحصر به فرد. هنگام پردازش میلیونها سری زمانی مختلف، رم تا 10 برابر کمتر از InfluxDB مصرف میشود.
درجه بالایی از فشرده سازی داده ها در ذخیره سازی دیسک. در مقایسه با TimescaleDB، می تواند تا 70 برابر رکوردهای بیشتری را در همان مقدار ذخیره سازی جای دهد.
در دسترس بودن بهینه سازی برای ذخیره سازی با تأخیر بالا و تعداد عملیات ورودی/خروجی کم در ثانیه (به عنوان مثال، هارد دیسک ها و فضای ذخیره سازی ابری AWS، Google Cloud و Microsoft Azure).
در دسترس بودن وسایلی برای محافظت از یکپارچگی ذخیره سازی در برابر آسیب داده ها، به عنوان مثال، در صورت قطع برق اضطراری (ذخیره سازی به شکل درخت لگاریتم ساختار با ادغام);
پیادهسازی در زبان Go، که تعادلی بین عملکرد و پیچیدگی کد در مقایسه با Rust و C++ ایجاد میکند.
کدهای منبع ارائه شده است نسخه های خوشه ای، که از مقیاس افقی در چندین سرور پشتیبانی می کند و سربار کم را نشان می دهد. ویژگی های در دسترس بودن بالا در دسترس هستند.