VictoriaMetrics, một DBMS chuỗi thời gian tương thích với Prometheus, có nguồn mở

Mở văn bản nguồn VictoriaSố liệu - một DBMS nhanh và có thể mở rộng để lưu trữ và xử lý dữ liệu dưới dạng chuỗi thời gian (ví dụ: bản ghi tạo thành thời gian và một tập hợp các giá trị tương ứng với thời gian này, có được thông qua việc thăm dò định kỳ về trạng thái của cảm biến hoặc thu thập dữ liệu số liệu). Dự án cạnh tranh với các giải pháp như FluxDB, Thang thời gianDB, Thanos, Cortex и Uber M3. Mã được viết bằng Go và phân phối bởi được cấp phép theo Apache 2.0.

Ưu điểm và tính năng của VictoriaMetrics:

  • Dễ sử dụng. Nó là một tệp thực thi duy nhất với các cài đặt tối thiểu được truyền qua dòng lệnh khi khởi động. Tất cả dữ liệu được lưu trữ trong một thư mục, được chỉ định khi khởi động bằng cờ “-storageDataPath”;
  • Hỗ trợ ngôn ngữ truy vấn PromQL, được sử dụng trong hệ thống giám sát Prometheus. Truy vấn con PromQL và một số được hỗ trợ khả năng mở rộng, chẳng hạn như biểu thức "offset", các mẫu trong câu lệnh "WIDTH", "if" và "default", các chức năng bổ sung và khả năng bao gồm nhận xét;
  • Có thể được sử dụng như lưu trữ dữ liệu lâu dàikết nối với Prometheus và grafana.
  • Có sẵn chế độ chèn lấp để tải dữ liệu lịch sử;
  • Hỗ trợ các giao thức truyền dữ liệu khác nhau, bao gồm API Prometheus, Dòng chảy, than chì и mởTSDB. VictoriaMetrics có thể được sử dụng như một sự thay thế minh bạch cho InfluxDB và có thể hoạt động với các bộ sưu tập tương thích với InfluxDB như Telegraf;
  • Hiệu suất cao và tiêu thụ tài nguyên thấp so với các hệ thống cạnh tranh. Trong một số thử nghiệm, VictoriaMetrics vượt trội hơn InfluxDB và TimescaleDB tới 20 lần khi thực hiện các thao tác chèn và truy xuất. Khi thực hiện các truy vấn phân tích, mức tăng so với DBMS PostgreSQL và MySQL quan hệ có thể từ 10 đến 1000 lần.

    VictoriaMetrics, một DBMS chuỗi thời gian tương thích với Prometheus, có nguồn mở

    VictoriaMetrics, một DBMS chuỗi thời gian tương thích với Prometheus, có nguồn mở

    VictoriaMetrics, một DBMS chuỗi thời gian tương thích với Prometheus, có nguồn mở

  • cơ hội xử lý một số lượng rất lớn chuỗi thời gian duy nhất. Khi xử lý hàng triệu chuỗi thời gian khác nhau, tiêu thụ RAM ít hơn tới 10 lần so với InfluxDB.
  • Mức độ nén dữ liệu cao trong bộ lưu trữ đĩa. So với TimescaleDB, nó có thể chứa nhiều bản ghi hơn tới 70 lần trong cùng một dung lượng lưu trữ;
  • Tính sẵn có của các tính năng tối ưu hóa để lưu trữ với độ trễ cao và số lượng thao tác đầu vào/đầu ra mỗi giây thấp (ví dụ: ổ cứng và bộ lưu trữ đám mây AWS, Google Cloud và Microsoft Azure);
  • Dựa trên hệ thống sao lưu đơn giản ảnh chụp nhanh;
  • Sự sẵn có của các phương tiện để bảo vệ tính toàn vẹn của bộ lưu trữ khỏi bị hư hỏng dữ liệu, ví dụ, trong trường hợp mất điện khẩn cấp (bộ lưu trữ có dạng cây có cấu trúc log với sự hợp nhất);
  • Triển khai bằng ngôn ngữ Go, mang lại sự cân bằng giữa hiệu suất và độ phức tạp của mã so với Rust và C++.
  • Mã nguồn được cung cấp phiên bản cụm, hỗ trợ mở rộng quy mô theo chiều ngang trên nhiều máy chủ và có chi phí hoạt động thấp. Tính sẵn sàng cao có sẵn.

Nguồn: opennet.ru

Thêm một lời nhận xét