4 cơ sở dữ liệu chuỗi thời gian tốt nhất để xem trong năm 2019

Khi phát triển các ứng dụng IoT, tài chính hoặc công nghiệp, việc lựa chọn cơ sở dữ liệu chuỗi thời gian tốt thường là vấn đề đau đầu, lựa chọn giữa danh sách 30+ (và đang phát triển) của các nhà cung cấp chuỗi thời gian trong ngành.

Khi chọn cơ sở dữ liệu chuỗi thời gian, tốt nhất nên biết những gì họ cung cấp và làm thế nào họ có thể phù hợp với nhu cầu của bạn.

Bạn có nhiều hơn về việc viết SQL trực tiếp hay bạn thích một ngôn ngữ xử lý hoàn toàn mới cho chuỗi thời gian của bạn? Bạn có quan tâm đến các giải pháp dựa trên đám mây hay bạn có giải pháp tích hợp của riêng mình không?

Bài viết này sẽ giúp bạn điểm chuẩn các tùy chọn khác nhau của bạn.

Dưới đây là danh sách cơ sở dữ liệu chuỗi thời gian tốt nhất của tôi để sử dụng vào năm 2019.

1. InfluxDB

Bảng xếp hạng InfluxDB cho năm 2019

Được xây dựng bởi InfluxData vào năm 2013, InfluxDB là một cơ sở dữ liệu chuỗi thời gian nguồn mở hoàn toàn hoạt động trên tất cả các hệ điều hành hiện tại. InfluxDB hỗ trợ một bộ ngôn ngữ lập trình rất lớn (vâng .. ngay cả Lisp và Clojure,). Nó được tối ưu hóa cho tải văn bản nặng và hoạt động tốt đáng kinh ngạc với sự tương tranh.

InfluxDB không có lược đồ: nó được xây dựng dựa trên các hương vị NoQuery và cho phép sửa đổi lược đồ cơ sở dữ liệu nhanh chóng. Tùy thuộc vào những gì bạn đang cố gắng xây dựng, sự lựa chọn khái niệm này có thể hoặc không thể phù hợp với nhu cầu của bạn.

Tại sao bạn nên sử dụng InfluxDB?
  • Chơi với nó trong 5 phút

Năm phút là tất cả từ khi bạn tải xuống cho đến khi bạn có thể chơi với nó. Một tài liệu kỹ thuật tốt giúp dễ dàng cài đặt, cấu hình và khởi chạy InfluxDB. Là một cơ sở dữ liệu giống như NoQuery, bạn không nên thiết lập cơ sở dữ liệu của mình theo bất kỳ cách nào: bạn chèn dữ liệu của mình và bạn sẽ ổn.

  • Tích hợp ngăn xếp TICK

InfluxDB là một phần của ngăn xếp TICK: Telegraf, InfluxDB, Chronograf và Kapacitor. InfluxData cung cấp, ngoài công cụ, một công cụ trực quan (có thể so sánh với Grafana), một công cụ xử lý dữ liệu liên kết trực tiếp với InfluxDB và một bộ hơn 50 tác nhân có thể thu thập các số liệu thời gian thực cho nhiều nguồn dữ liệu khác nhau.

Bây giờ hãy để cho công bằng.

InfluxDB hầu hết thời gian được sử dụng với Grafana. Chronograf không (hiện tại) tốt như Grafana, nhưng InfluxData đang cố gắng xoay chuyển con tàu. Bằng cách xây dựng Flux, một ngôn ngữ xử lý mới và tích hợp nó trực tiếp với Chronograf, họ có thể cung cấp một số tính năng rất độc đáo cho nó trong những tháng tới.

(Bạn muốn biết thêm về Flux? Tôi đã viết một bài viết về nó.)

Trang web InfluxDB - Influxdata.com

2. TimescaleDB

Bảng xếp hạng TimescaleDB cho năm 2019

Được xếp hạng 15 năm ngoái, TimescaleDB đang đạt được tiến bộ lớn trong bảng xếp hạng năm nay.

Tại sao?

Chà, nếu bạn hỏi tôi, họ cung cấp một sự thay thế rất chắc chắn và có thể mở rộng cho InfluxDB. TimescaleDB cũng có nguồn mở và dựa trên các tiền đề SQL. Họ cũng cung cấp một tập hợp lớn các ngôn ngữ lập trình được hỗ trợ (bao gồm Java và Python) để các ứng dụng của bạn tích hợp trực tiếp với nó.

TimescaleDB được liên kết trực tiếp với PostgresSQL khi nó chia tỷ lệ cơ sở dữ liệu quan hệ nổi tiếng để cung cấp một tập hợp các hoạt động liên quan đến chuỗi thời gian duy nhất (chẳng hạn như nhập nhanh).

Tại sao bạn nên sử dụng TimescaleDB?
  • Hỗ trợ SQL:

Một trong những tài sản lớn nhất của TimescaleDB là nó hỗ trợ ngôn ngữ SQL nguyên bản và cho phép các nhà phát triển nhanh chóng nhảy tàu mà không phải học bất kỳ ngôn ngữ mới nào. Tất nhiên đó là một khía cạnh rất hay cho năng suất của nhà phát triển, vì bạn có thể đảm bảo rằng các nhà phát triển có kinh nghiệm SQL trong nhóm của bạn có thể có hiệu quả ngay lập tức với TimescaleDB.

  • Tích hợp PostgresSQL:

The Guardian đã thực hiện một bài viết rất hay giải thích về việc họ đã chuyển từ MongoDB sang PostgresQuery để ủng hộ việc mở rộng kiến ​​trúc và mã hóa nội dung của họ tại REST. Như bạn có thể nói, các công ty lớn đang dựa vào các hệ thống ràng buộc SQL (với kiến ​​trúc đám mây tất nhiên) để đảm bảo độ tin cậy và khả năng truy cập hệ thống. Tôi tin rằng PostgresSQL sẽ tiếp tục phát triển, TimescaleDB cũng vậy. Bằng cách thuộc về hệ sinh thái PostgresSQL, TimescaleDB sẽ kế thừa từ tất cả các công cụ và plugin được phát triển bởi cộng đồng khổng lồ này.

  • Hiệu suất tốt hơn so với InfluxDB

Tôi phải nhấn mạnh rằng đây là một hiệu suất tốt hơn của G tranh cãi vì các hệ thống còn khá mới đối với thị trường và chúng chưa được thử nghiệm trên tất cả các trường hợp khác nhau mà ngành công nghiệp phải cung cấp.

Là một nhà văn có đầu óc công bằng, tôi phải chỉ ra thực tế rằng Matvey Arye đã viết một bài viết rất hay so sánh Flux với SQL và theo cách InfluxDB với TimescaleDB. Quan điểm của ông về tối ưu hóa truy vấn nói riêng nên được đọc cẩn thận và họ cung cấp một lời giải thích rất chắc chắn về lý do tại sao chúng có thể hiệu quả hơn (ít nhất là về lý thuyết).

Bài viết Matvey Arye - SQL vs Flux

Trang web TimescaleDB - timescale.com

3. OpenTSDB

Bảng xếp hạng OpenTSDB cho năm 2019

OpenTSDB đã hoạt động trong thời gian khá lâu so với các đối thủ cạnh tranh và là một trong những công nghệ đầu tiên giải quyết nhu cầu lưu trữ dữ liệu chuỗi thời gian ở quy mô rất lớn. OpenTSDB hứa hẹn có thể lưu trữ hàng trăm tỷ hàng dữ liệu trên các phiên bản phân tán của máy chủ TSD.

OpenTSDB là một cơ sở dữ liệu miễn phí được xây dựng trên Apache HBase. Đối với những người không biết, HBase là một hệ thống quản lý không liên quan được viết để xử lý việc lưu trữ các bảng lớn một cách thanh lịch và hiệu quả.

Tại sao bạn nên sử dụng OpenTSDB?
  • Hiệu suất!

Ted Dunning (Kiến trúc sư trưởng ứng dụng tại MapR) đã có một cuộc nói chuyện khá thú vị về cách xây dựng cơ sở dữ liệu chuỗi thời gian và cách sắp xếp các khoảng thời gian theo chiều ngang có thể mở rộng một DBMS lên tới 20 đến 30 triệu lần ghi mỗi giây. Đây là một tỷ lệ chèn rất lớn khi xem xét một cá thể nút InfluxDB có thể chèn tới một triệu lần ghi mỗi giây.

Bạn có thể muốn cung cấp cho OpenTSDB một cú đánh nếu bạn đang xử lý các tỷ lệ chèn thêm như vậy trong hệ thống của mình.

  • Tích hợp hệ sinh thái

Đọc tài liệu, OpenTSDB tích hợp với một số lượng lớn các công cụ như Cassandra, BigTable, CollectionD, StatsD, Chef và thậm chí là Puppet để quản lý triển khai.

Ted Dunning trên Kiến trúc cơ sở dữ liệu chuỗi thời gian

Trang web OpenTSDB - opentsdb.net

4. Than chì

Bảng xếp hạng than chì cho năm 2019

Graphite là một hệ thống cơ sở dữ liệu chuỗi thời gian được thiết lập nhiều hơn và được sử dụng rất rộng rãi. Graphite là một công cụ giám sát mạnh mẽ lưu trữ dữ liệu chuỗi thời gian số và hiển thị chúng theo yêu cầu thông qua giao diện Graphite-web với tốc độ hợp lý. Graphite là phần lớn thời gian được sử dụng như một cửa hàng số liệu hiệu suất hệ thống, mạng và ứng dụng. Các công ty lớn như Booking.com, Reddit và GitHub sử dụng nó hàng ngày để có thể dễ dàng phát hiện sự cố mất điện trên kiến ​​trúc của họ.

Tại sao bạn nên sử dụng Graphite?
  • Than chì làm một vài điều, nhưng nó làm tốt.

Than chì được xây dựng để đối phó với dữ liệu số. Vì bản thân nó có thể là một hạn chế nếu bạn không xử lý dữ liệu số, Graphite cung cấp cho bạn một bộ công cụ giúp các nhà phát triển dễ dàng bắt đầu. Graphite Web cung cấp một giao diện rất đẹp cho các nhà phát triển giám sát ứng dụng của họ.

  • Một hệ sinh thái tích hợp tốt

Là OpenTSDB, Graphite kết nối với rất nhiều công cụ nguyên bản và giúp các nhà phát triển dễ dàng kết nối với cơ sở hạ tầng hiện có của họ. Graphite có thể dễ dàng kết nối với Sưu tầm, Sensu, Riemann, Windows Server, Logstash và nhiều hơn nữa.

Trang web Graphite - graphitản.org

X - Đến lượt bạn chia sẻ!

Bạn có kinh nghiệm với các cơ sở dữ liệu chuỗi thời gian? Nếu vậy, bạn muốn giới thiệu cái nào và tại sao?

Ngoài ra, nếu bạn thấy rằng một số TSMS nên được xếp hạng cao hơn hoặc thấp hơn, vui lòng đưa ra thứ hạng của riêng bạn trong phần bình luận.

XI - Vỗ tay & Đăng ký

Nếu bạn thích bài viết này, hãy cho chúng tôi một số tiếng vỗ tay, nó luôn giúp ích. Như mọi khi, đăng ký vào ấn phẩm của chúng tôi để chắc chắn không bỏ lỡ bất kỳ bài viết kỹ thuật phần mềm nào trong tương lai.

Cảm ơn đã vỗ tay!