ClusterControl là một công cụ dễ sử dụng để theo dõi hiệu suất của TimescaleDB trong thời gian thực. Nó cung cấp hàng chục biểu đồ được xác định trước để hiển thị nhiều thống kê hiệu suất liên quan đến người dùng, thông lượng, không gian bảng, nhật ký làm lại, bộ đệm, bộ nhớ đệm và I / O chẳng hạn. Nó cũng cung cấp thông tin thời gian thực về khối lượng công việc cơ sở dữ liệu. Đồng nghiệp của tôi, Sebastian trước đây đã viết về cách dễ dàng triển khai TimescaleDB. Trong blog này, chúng tôi sẽ chỉ cho bạn cách theo dõi các khía cạnh khác nhau của hiệu suất TimescaleDB với ClusterControl. Trước hết, cho phép tôi giới thiệu một chút về TimescaleDB.
TimescaleDB được triển khai như một phần mở rộng trên PostgreSQL, có nghĩa là cơ sở dữ liệu Timescale chạy trong một phiên bản PostgreSQL. Mô hình mở rộng cho phép cơ sở dữ liệu tận dụng nhiều thuộc tính của PostgreSQL như độ tin cậy, bảo mật và khả năng kết nối với một loạt các công cụ của bên thứ ba. Đồng thời, TimescaleDB tận dụng mức độ tùy chỉnh cao có sẵn cho các tiện ích mở rộng bằng cách thêm các móc vào sâu trong công cụ lập kế hoạch truy vấn, mô hình dữ liệu và công cụ thực thi của PostgreSQL. Hệ sinh thái của nó sử dụng ngôn ngữ mẹ đẻ như PostgreSQL và bổ sung các chức năng chuyên biệt (và tối ưu hóa truy vấn) để làm việc với dữ liệu chuỗi thời gian. Một trong những lợi thế mà TimescaleDB cung cấp so với các kho dữ liệu chuyên biệt khác để lưu trữ IoT hoặc dữ liệu chuỗi thời gian là bạn có thể sử dụng cú pháp SQL, nghĩa là bạn có thể tận dụng các JOIN. Vì vậy, việc truy vấn một siêu dữ liệu đa dạng dễ dàng hơn cho các nhà phát triển - nó đơn giản hóa ngăn xếp của họ và loại bỏ các ngăn chứa dữ liệu.
TimescaleDB đã được thử nghiệm và chuẩn hóa với hàng trăm tỷ hàng, và nó mở rộng quy mô rất tốt - đặc biệt là với các phần bổ trợ hoặc chèn so với PostgreSQL vani. Nếu bạn quan tâm đến các công cụ đo điểm chuẩn của họ, bạn có thể cân nhắc xem Bộ công cụ điểm chuẩn chuỗi thời gian (TSBS) của họ.
Sử dụng TimescaleDB khá dễ dàng nếu bạn đã quen thuộc với RDBMS như MySQL hoặc PostgreSQL. Bạn phải chỉ định cơ sở dữ liệu của mình và tạo một phần mở rộng cho TimescaleDB. Sau khi được tạo, bạn sẽ tạo một Hypertable, hầu như xử lý tất cả các tương tác của người dùng với TimescaleDB. Xem ví dụ bên dưới:
nyc_data=# CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
WARNING:
WELCOME TO
_____ _ _ ____________
|_ _(_) | | | _ \ ___ \
| | _ _ __ ___ ___ ___ ___ __ _| | ___| | | | |_/ /
| | | | _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \
| | | | | | | | | __/\__ \ (_| (_| | | __/ |/ /| |_/ /
|_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/
Running version 1.2.2
For more information on TimescaleDB, please visit the following links:
1. Getting started: https://docs.timescale.com/getting-started
2. API reference documentation: https://docs.timescale.com/api
3. How TimescaleDB is designed: https://docs.timescale.com/introduction/architecture
Note: TimescaleDB collects anonymous reports to better understand and assist our users.
For more information and how to disable, please see our docs https://docs.timescaledb.com/using-timescaledb/telemetry.
CREATE EXTENSION
nyc_data=# SELECT create_hypertable('rides_count', 'one_hour');
create_hypertable
--------------------------
(1,public,rides_count,t)
(1 row)
Đơn giản như thế. Tuy nhiên, một khi dữ liệu trở nên lớn, một câu hỏi tiếp theo mà bạn có thể sẽ là "Làm thế nào bạn có thể theo dõi hiệu suất của TimescaleDB"? Đây là những gì blog của chúng tôi là tất cả về. Hãy xem cách bạn có thể thực hiện việc này với ClusterControl.
Theo dõi các cụm TimescaleDB
Giám sát một cụm TimescaleDB trong ClusterControl gần giống như giám sát một cụm cơ sở dữ liệu PostgreSQL. Chúng tôi có đồ thị cấp Cụm và Nút, Trang tổng quan, Cấu trúc liên kết, Giám sát truy vấn và Hiệu suất. Hãy xem xét từng điều này.
Tab "Tổng quan"
Các Đồ thị Tổng quan có thể được xác định bằng cách đi tới Cụm → Tổng quan tab.
Trên chế độ xem này, bạn có thể xem tải máy chủ, tỷ lệ truy cập bộ nhớ cache hoặc lọc trên các số liệu khác - số lần truy cập khối, số lần đọc khối, số lần cam kết hoặc số lượng kết nối.
Bạn cũng có thể tạo cài đặt trang tổng quan tùy chỉnh của mình tại đây giống như ví dụ của tôi bên dưới, tìm nạp lần truy cập khối và khối đọc.
Đây là một nơi tốt để bắt đầu cũng như bạn giám sát hoạt động mạng, kiểm tra việc truyền và nhận gói tin.
Tab "Nút"
Biểu đồ nút có thể được định vị bằng cách đi tới Cụm → Nút chuyển hướng. Điều này chứa một cái nhìn chuyên sâu về các nút của bạn, với các chỉ số ở cấp độ máy chủ và cơ sở dữ liệu. Xem biểu đồ bên dưới:
Bạn cũng có thể kiểm tra các quy trình hàng đầu đang chạy trong hệ thống máy chủ lưu trữ nếu bạn nhấp vào " Top ". Xem ảnh chụp màn hình ví dụ bên dưới:
Ngoài ra còn có một số tính năng khi nhấp chuột phải vào nút trong đó bạn có thể bật lưu trữ WAL hoặc khởi động lại daemon PostgreSQL hoặc khởi động lại máy chủ. Xem hình ảnh như bên dưới:
Điều này có thể hữu ích nếu bạn muốn lên lịch bảo trì trên một nút hoạt động kém.
Tab "Trang tổng quan"
Bảng điều khiển mới được phát hành vào năm ngoái và với sự hỗ trợ của bảng điều khiển PostgreSQL, bạn có thể tận dụng các biểu đồ này. Ví dụ:tôi đã chèn 1M hàng trong cơ sở dữ liệu nyc_data. Xem bên dưới nó phản ánh như thế nào trong Bảng điều khiển Tổng quan PostgreSQL:
Sau khi chèn 1,1 M hàng, chúng ta có thể thấy rằng nút 192.168.70.40 vẫn hoạt động tốt và không có dấu hiệu cho thấy CPU cao và sử dụng đĩa cao. Xem trang tổng quan sau trong khi chúng tôi theo dõi hiệu suất của nó:
Ngoài Bảng điều khiển tổng quan về cụm, bạn cũng có thể có cái nhìn chi tiết về hiệu suất hệ thống. Xem hình ảnh bên dưới:
Tab "Cấu trúc liên kết"
Tab này đơn giản nhưng cung cấp một cái nhìn về cấu trúc liên kết sao chép master-slave của bạn. Nó cung cấp cho bạn thông tin ngắn gọn nhưng súc tích về cách chủ nhân và nô lệ của bạn thực hiện. Xem hình ảnh bên dưới:
Tab "Giám sát truy vấn"
Giám sát các truy vấn trong TimescaleDB là rất quan trọng đối với một DBA cũng như các nhà phát triển xử lý logic ứng dụng. Tab này rất quan trọng để hiểu cách các truy vấn hoạt động. Bạn có thể xem ở đây các truy vấn hàng đầu, truy vấn đang chạy, ngoại lệ truy vấn và thống kê truy vấn. Ví dụ:bạn có thể xem các truy vấn đang chạy trên tất cả các máy chủ hoặc bạn có thể lọc dựa trên nút mà bạn đang cố gắng theo dõi. Ví dụ bên dưới cho thấy nó trông như thế nào khi được xem trong Trình theo dõi truy vấn.
Nếu bạn muốn thu thập thống kê của các phần / chỉ mục TimescaleDB của mình, bạn có thể tận dụng tại đây trong Thống kê truy vấn. Nó hiển thị danh sách các chỉ mục của bạn được TimescaleDB sử dụng. Xem hình ảnh bên dưới:
Bạn không chỉ có thể xem số liệu thống kê của các chỉ mục cụ thể, bạn còn có thể lọc nó theo thống kê I / O trong bảng, thống kê I / O chỉ mục hoặc thời gian chờ khóa độc quyền của nó. Do đó, bạn có thể xem các mục khác trong danh sách "Thống kê" mà bạn muốn theo dõi.
Tab "Hiệu suất"
Trong tab này, đây là nơi bạn có thể xem lại các biến được đặt để tối ưu hóa và điều chỉnh, thiết lập cố vấn, kiểm tra sự phát triển của cơ sở dữ liệu và tạo phân tích lược đồ để thu thập các bảng mà không có Khóa chính.
Ví dụ:bạn có thể xem song song các nút có sẵn trong thiết lập và so sánh các biến. Xem tab bên dưới:
Đó là tất cả cho bây giờ. Thật vui khi nghe phản hồi của bạn và đặc biệt là hãy cho chúng tôi biết những gì chúng tôi đang thiếu.