Có nhiều công cụ được sử dụng trong Quản trị Cơ sở dữ liệu giúp đơn giản hóa việc quản lý cơ sở dữ liệu nguồn mở. Ưu điểm của việc sử dụng các loại ứng dụng này là các menu khả dụng từ các đối tượng khác nhau trong cơ sở dữ liệu (chẳng hạn như bảng, chỉ mục, trình tự, thủ tục, dạng xem, trình kích hoạt) để bạn không phải sử dụng dòng lệnh khi sử dụng máy khách cơ sở dữ liệu gốc. . Bạn chỉ cần duyệt qua menu và nó sẽ ngay lập tức xuất hiện trên màn hình.
Trong blog này, chúng tôi sẽ xem xét một trong những ứng dụng Quản lý Cơ sở dữ liệu của bên thứ ba cho PostgreSQL được gọi là pgAdmin. Nó là một công cụ quản lý cơ sở dữ liệu mã nguồn mở rất hữu ích cho việc quản trị cơ sở dữ liệu, từ việc tạo bảng, chỉ mục, chế độ xem, trình kích hoạt, thủ tục được lưu trữ. Bên cạnh đó, pgAdmin cũng có thể giám sát cơ sở dữ liệu để biết thông tin liên quan đến Phiên, Giao dịch trên giây và Khóa.
pgAdmin Giám sát
Có một số số liệu trong pgAdmin có thể là thông tin chi tiết có giá trị để hiểu trạng thái hiện tại của cơ sở dữ liệu. Đây là số liệu hiển thị trên pgAdmin.
Trong Trang tổng quan, bạn có thể theo dõi thông tin liên quan đến các kết nối đến với cơ sở dữ liệu thông qua Phiên máy chủ. Thông tin liên quan đến giao dịch cam kết, khôi phục và tổng số giao dịch mỗi giây trong cơ sở dữ liệu có thể được nhìn thấy trong màn hình Giao dịch trên giây. Tuples in chứa thông tin liên quan đến tổng số tuples chèn, cập nhật, xóa trong cơ sở dữ liệu. Tuples out chứa thông tin tuples được trả lại cho máy khách từ cơ sở dữ liệu. Bản thân Tuples là một thuật ngữ trong PostgreSQL cho các hàng. Metrics Block I / O chứa thông tin liên quan đến thông tin Disk, cả tổng số khối đã đọc và đã tìm nạp từ bộ nhớ cache của cơ sở dữ liệu.
Hoạt động của máy chủ chứa thông tin liên quan đến các phiên đang chạy, khóa xảy ra trong cơ sở dữ liệu, các câu lệnh chuẩn bị từ các truy vấn và cấu hình cơ sở dữ liệu. Như trong hình bên dưới.
Trong Thuộc tính, bạn có thể xem thông tin liên quan đến cơ sở dữ liệu PostgreSQL đang được được truy cập, chẳng hạn như tên cơ sở dữ liệu, loại máy chủ, phiên bản cơ sở dữ liệu, địa chỉ ip và tên người dùng được sử dụng.
SQL chứa thông tin liên quan đến tập lệnh SQL được tạo được tạo từ một đối tượng đã chọn như sau:
Thông tin trong đối tượng được đánh dấu được hiển thị rất chi tiết, vì nó chứa một tập lệnh để tái tạo lại một đối tượng.
Trong tab Thống kê, thông tin liên quan đến thống kê được thu thập từ từng đối tượng đang chạy trong cơ sở dữ liệu được hiển thị trên menu.
Ví dụ:bảng trên chứa thông tin liên quan đến Tuples (đã chèn, cập nhật , xóa, sống, chết). Ngoài ra còn có thông tin liên quan đến chân không và tự động phân tích.
Vacuum chạy để làm sạch các bộ dữ liệu đã chết trong cơ sở dữ liệu và lấy lại dung lượng đĩa được sử dụng bởi các bộ dữ liệu đã chết. Trong khi chức năng tự động phân tích để tạo thống kê về các đối tượng để trình tối ưu hóa có thể xác định chính xác kế hoạch thực thi của một truy vấn.
ClusterControl PostgreSQL Giám sát
ClusterControl có các số liệu khác nhau liên quan đến cơ sở dữ liệu PostgreSQL, có thể tìm thấy trên tab Tổng quan, Nút, Bảng điều khiển, Màn hình truy vấn và Hiệu suất. Các số liệu sau đây hiển thị trong ClusterControl.
Phần Tổng quan chứa thông tin liên quan đến số liệu tải của máy chủ, từ kết nối, số lượng chèn, xóa, cập nhật, cam kết &khôi phục và kết nối. Ngoài ra, còn có thông tin như các nút sức khỏe, trạng thái sao chép của cơ sở dữ liệu PostgreSQL và cả thông tin liên quan đến việc sử dụng máy chủ như thể hiện trong hình bên dưới.
Tab Nút cung cấp thông tin liên quan đến đồ thị ở phía máy chủ bắt đầu từ CPU Sử dụng, Bộ nhớ, Sử dụng Đĩa, Mạng và Sử dụng Hoán đổi.
Trang tổng quan có một số tùy chọn số liệu như Tổng quan hệ thống, Tổng quan cụm và Tổng quan về PostgreSQL. Đối với mỗi tùy chọn, có các số liệu khác nhau liên quan đến tình trạng hệ thống đang chạy. Ví dụ:trong số liệu Tổng quan về PostgreSQL, có thông tin khác nhau, từ Mức trung bình tải từ cơ sở dữ liệu, Bộ nhớ khả dụng và Truyền và nhận mạng như được hiển thị bên dưới.
Trình theo dõi Truy vấn chứa thông tin liên quan đến các truy vấn đang chạy trên cơ sở dữ liệu. Chúng ta có thể tìm hiểu những truy vấn nào đang chạy, thời gian thực hiện là bao lâu, thông tin địa chỉ máy khách nguồn và trạng thái của phiên. Bên cạnh đó, có một tính năng Kill session, nơi chúng ta có thể kết thúc phiên làm cho cơ sở dữ liệu bị chậm trễ. Sau đây là màn hình hiển thị từ Trình theo dõi truy vấn:
Ngoài việc chạy các truy vấn, chúng ta cũng có thể xem thông tin Thống kê Truy vấn, bắt đầu từ Truy cập theo Tuần tự hoặc quét chỉ mục, Thống kê I / O bảng, Thống kê I / O chỉ mục, Kích thước cơ sở dữ liệu, Top 10 bảng lớn nhất.
Tab Performance chứa thông tin liên quan đến các biến cơ sở dữ liệu và giá trị hiện đang chạy, bên cạnh đó còn có Advisor để cung cấp thông tin đầu vào liên quan đến việc theo dõi cảnh báo đã xảy ra.
Sự phát triển của cơ sở dữ liệu và bảng cũng có thể được theo dõi trên menu DB Growth, bạn có thể dự đoán nhu cầu lưu trữ hoặc các hành động khác sẽ được thực hiện bằng cách phân tích các chỉ số về sự tăng trưởng của các cơ sở dữ liệu và bảng này.
Công việc quản trị PostgreSQL với pgAdmin
pgAdmin có nhiều tính năng khác nhau để quản trị cơ sở dữ liệu và các đối tượng có trong cơ sở dữ liệu, từ tạo bảng, chỉ mục, người dùng và không gian bảng. Các tính năng khác nhau của pgAdmin rất hữu ích cho cả Developer và DBA, vì chúng giúp quản lý các đối tượng cơ sở dữ liệu rất dễ dàng. Sau đây là sự xuất hiện của Cây Menu trong pgAdmin.
Bạn chỉ cần nhấp chuột phải vào đối tượng được đánh dấu, sau đó sẽ là các hành động có thể được thực hiện từ đối tượng đó. Ví dụ:đánh dấu Cơ sở dữ liệu, sau đó bạn có thể tạo một cơ sở dữ liệu mới như sau:
Sẽ có một hộp thoại để điền thông tin tên cơ sở dữ liệu, chủ sở hữu của cơ sở dữ liệu sẽ được tạo, mã hóa sẽ được sử dụng, vùng bảng sẽ được cơ sở dữ liệu sử dụng, quyền truy cập bảo mật vào cơ sở dữ liệu.
Người dùng có quyền truy cập và những đặc quyền nào sẽ được cấp.
Công việc quản trị PostgreSQL với ClusterControl
ClusterControl cũng có thể tạo người dùng và các đặc quyền sẽ được cấp cho Quản lý người dùng như thể hiện trong hình sau.
Với ClusterControl, bạn có thể triển khai cơ sở dữ liệu PostgreSQL có tính khả dụng cao. Quản lý PostgreSQL của bạn dễ dàng như chỉ cần nhấp vào menu trong bảng điều khiển. Có một số tính năng để quản trị PostgreSQL của bạn ở phía Cluster, chẳng hạn như Thêm Load Balancer, Thêm Replication Slave, Bật / Tắt Cluster Recovery và Node Recovery như được hiển thị bên dưới.
Bạn cũng có thể tạo một cụm PostgreSQL mới và sao chép nó từ khi chạy , bằng cách sử dụng mục menu Create Slave Cluster. Sao chép cụm-thành-cụm là một tính năng mới được cung cấp bởi ClusterControl.
Ở phía Node, bạn có thể thực hiện một số tác vụ quản trị cơ sở dữ liệu, chẳng hạn như Reboot Host, Restart Node, Stop Node, Promotion Slave, Stop Slave. Bạn có thể truy cập máy chủ của mình từ xa thông qua Bảng điều khiển SSH.
Xây dựng lại Replication Slave là một tính năng gọn gàng để tự động sửa các máy chủ nô lệ đã bị hỏng sửa. Nó dừng nô lệ, xóa sạch nội dung của nó và truyền một bản sao lưu mới từ máy chủ chính. Sau khi áp dụng bản sao lưu, quá trình sao chép sẽ được tiếp tục để nó có thể bắt kịp lại với bản gốc. Tất cả điều này chỉ với một cú nhấp chuột.
Ngoài ra còn có một tính năng để trực quan hóa trạng thái hiện tại của kiến trúc Topo PostgreSQL của bạn trong ClusterControl.
Nó cung cấp thông tin hữu ích về Cụm PostgreSQL hiện tại như như độ trễ giữa các nút, thời gian hoạt động của cơ sở dữ liệu, phiên bản cơ sở dữ liệu mà bạn sử dụng, trạng thái đồng bộ hóa, độ trễ sao chép.
Bạn cũng có thể thay đổi cấu hình liên quan đến các tham số cơ sở dữ liệu và địa chỉ ip ACL có quyền truy cập cơ sở dữ liệu trong menu Cấu hình.
Chạy môi trường cơ sở dữ liệu phân tán thường yêu cầu một số loại cân bằng tải và kiểm soát lưu lượng , vì có nhiều trường hợp cơ sở dữ liệu và các ứng dụng sẽ không theo dõi cái nào là cái chính có thể ghi và cái nào là nô lệ chỉ đọc. ClusterControl cho phép bạn tích hợp HAProxy cho mục đích này. Bản thân HAProxy có thể được tạo ra ở mức độ khả dụng cao bằng Keepalived, để các ứng dụng có thể kết nối bằng một địa chỉ IP ảo được thả nổi sang một phiên bản khác trong trường hợp trình cân bằng tải HAProxy chính gặp sự cố.
ClusterControl có các tính năng khác như báo cáo hoạt động, cung cấp phân tích về việc sử dụng máy chủ, thời gian hoạt động, bảo mật và dung lượng hàng tuần hoặc hàng tháng. pgAdmin rất giỏi trong việc thao tác các đối tượng trong cơ sở dữ liệu, trong khi ClusterControl nhắm mục tiêu nhiều hơn vào việc vận hành và duy trì hệ thống.