Tính sẵn sàng cao và Kết nối trong suốt với IBM solidDB
Diễn đàn - Ngày đăng : 07:23, 04/11/2015
Mở đầu
Tính năng sẵn sàng cao của solidDB được sử dụng để triển khai thực hiện chức năng Dự trữ nóng (HSB - HotStandby). HSB cho phép một máy chủ thứ cấp chạy song song với máy chủ chính và giữ một bản sao cập nhật của dữ liệu trong máy chủ chính. Kết nối trong suốt của solidDB khắc họa các máy chủ HSB từ các ứng dụng và cho phép một ứng dụng thực hiện một kết nối hợp lý duy nhất đến các máy chủ trong chế độ HSB. Các trình điều khiển IBM solidDB, bao gồm trình điều khiển kết nối cơ sở dữ liệu Java (JDBC), duy trì các kết nối tới các máy chủ sao cho có một kết nối dự phòng thứ cấp tới máy chủ HSB thứ cấp trong trường hợp kết nối đến máy chủ chính bị ngắt. Trình điều khiển JDBC chỉ ra sự ngắt kết nối với một mã lỗi đặc biệt.
Kiến trúc
Hình 1 minh họa kiến trúc của một cấu hình Tính sẵn sàng cao của solidDB.
Hình 1. Kiến trúc Tính sẵn sàng cao
Sau đây là các mô tả về các thành phần trong hình trên:
Nút 1(Node 1) là máy vật lý bao gồm máy chủ solidDB chính và Trình điều khiển Tính sẵn sàng cao (HA Controller).
Nút 2(Node 2) là máy tính vật lý bao gồm máy chủ solidDB thứ cấp và HA Controller. Máy chủ solidDB thứ cấp luôn duy trì cập nhật với máy chủ solidDB chính.
Máy chủ chính (Primary server) bao gồm cơ sở dữ liệu IBM solidDB chính. Các ứng dụng kết nối đến máy chủ này và thực hiện các giao dịch dựa vào cơ sở dữ liệu chính.
Máy chủ thứ cấp (Secondary server) bao gồm cơ sở dữ liệu thứ cấp. Nếu máy chủ chính bị lỗi, Trình điều khiển HA (HAC) thực hiện xử lý dữ phòng lỗi để chuyển đổi máy chủ thứ cấp thành máy chủ chính.
Trình điều khiển HA (HA Controller-HAC) là chương trình quản lý dự phòng tự động cho HSB của IBM solidDB. HAC phát hiện các lỗi, thực hiện các dự phòng lỗi và khởi động lại máy chủ khi cần thiết. HAC cũng có một API cho phép Các nhà quản lý HA (HA Manager) kết nối với nó.
Trình quản lý HA ( HA Manager) là một công cụ dựa trên giao diện người dùng đồ họa cho thấy trạng thái của các máy chủ dự trữ nóng (HotStandby) và trạng thái của Các trình điều khiển HA. HA Manager cũng bao gồm chức năng cơ bản để quản lý HAC. Công cụ này được sử dụng trong trình diễn để mô phỏng một lỗi trên máy chủ chính và thực hiện một chuyển đổi sang máy chủ thứ cấp.
Các lợi ích và hiệu năng
Lợi ích chính của Tính sẵn sàng cao trong một môi trường IBM solidDB là các ứng dụng được bảo vệ khỏi các tác động của một lỗi trong cơ sở dữ liệu chính. Một cấu hình HA cùng với Kết nối trong suốt cho phép các ứng dụng hoàn toàn sử dụng được ngay cả khi có lỗi cơ sở dữ liệu trong một giao dịch. Một lợi ích nữa là các ứng dụng, sử dụng một cấu hình HA, có thể cho thấy sự cải thiện về hiệu năng.
Hiệu năng
Phần này nói thêm về hiệu năng có thể thực sự cải thiện như thế nào khi bạn sử dụng một cấu hình HA trong IBM solidDB.
Hiệu năng IBM solidDB bị ảnh hưởng bởi các phần tử như cấu hình, cách sử dụng cơ sở dữ liệu, bộ nhớ có sẵn và hoạt động mạng và I/O. Ba cái sau là những phần tử phổ biến nhất ảnh hưởng đến hiệu năng của IBM solidDB (và hầu hết các cơ sở dữ liệu khác).
Các phần tử ảnh hưởng lớn đến hiệu năng IBM solidDB là:
Độ bền ghi nhật ký giao dịch.
Giao thức sao chép giữa các máy chủ.
Chính sách báo nhận cho giao thức sao chép.
Các giao dịch chỉ đọc được thực hiện trên máy chủ thứ cấp.
Song song hóa bên trong của máy chủ.
Bạn có thể thiết lập độ bền giao dịch là strict (chặt chẽ), relaxed (thoải mái), adaptive (thích nghi). Các thiết lập độ bền strict có nghĩa là giao dịch được ghi nhật ký ngay sau khi nó được cam kết. Các thiết lập độ bền relaxed có nghĩa là một giao dịch được ghi nhật ký khi máy chủ ít bận hoặc khi máy chủ có thể ghi một số giao dịch cùng một lúc. Các thiết lập độ bền adaptive có nghĩa là máy chủ chính hoạt động trong chế độ ghi nhật ký thoải mái nếu máy chủ thứ cấp cũng đang hoạt động. Các thiết lập ghi nhật ký strict là an toàn nhất; còn các thiết lập relaxed là nhanh nhất.
Giao thức sao chép giữa các máy chủ liên quan đến mức an toàn của bản sao này. Bạn có thể thiết lập giao thức sao chép giữa các máy chủ là hoặc 1-safe hoặc 2-safe. Với thiết lập 1-safe (an toàn-1), thành phần điều khiển trả về ứng dụng ngay sau khi giao dịch được cam kết trên máy chủ chính; việc sao chép đến máy chủ thứ cấp được thực hiện không đồng bộ. Với thiết lập 2-safe (an toàn-2), thành phần điều khiển trả về ứng dụng chỉ sau khi giao dịch được cam kết trên cả máy chủ chính lẫn máy chủ thứ cấp. Thiết lập 1-safe nhanh nhất; thiết lập 2-safe an toàn nhất.
Cấu hình chính sách báo nhận ảnh hưởng đến hiệu năng khi giao thức sao chép được thiết lập là 2-safe. Bạn có thể thiết lập chính sách báo nhận là 2-safe received, 2-safe visible hay 2-safe durable. Thiết lập này xác định khi nào máy chủ thứ cấp gửi một tin báo nhận tới máy chủ chính. Với thiết lập 2-safe received, tin báo nhận được gửi đi khi nhận được dữ liệu. Với thiết lập 2-safe visible, tin báo nhận được gửi đi khi các ứng dụng thấy dữ liệu. Với thiết lập 2-safe durable, tin báo nhận được gửi đi khi dữ liệu được ghi vào đĩa.
Hai phần tử cuối cùng, có ảnh hưởng đến hiệu năng, đang đọc từ máy chủ thứ cấp và song song hóa bên trong. Các ứng dụng cho phép các phần tử này hoạt động. Với một cấu hình HA, có thể đọc dữ liệu từ cả hai máy chủ chính và thứ cấp để phân bố tải trọng đồng đều giữa hai máy. Song song hóa bên trong đơn giản chỉ có nghĩa là các ứng dụng có thể sử dụng nhiều kết nối cơ sở dữ liệu để truy cập tới cơ sở dữ liệu solidDB và do đó cải thiện hiệu năng trong nhiều trường hợp.
Cấu hình
Việc đặt cấu hình IBM solidDB với Tính sẵn sàng cao là một nhiệm vụ nhanh chóng và dễ dàng. Sử dụng các bước sau đây để triển khai một môi trường Tính sẵn sàng cao của solidDB với các thay đổi tối thiểu đối với các giá trị cấu hình mặc định:
Cài đặt IBM solidDB trên hai máy chủ. Tên các máy chủ là Primary (Chính) và Secondary (Thứ cấp).
Trên mỗi máy chủ tạo ra một thư mục làm việc (ví dụ, c:\solidDB) và tạo ra một cơ sở dữ liệu có tên là dba. Sử dụng dba làm tên người dùng và mật khẩu của cơ sở dữ liệu.
Trong thư mục làm việc của máy chủ có tên là Primary, tạo ra một tệp cấu hình có tên là solid.ini, như trong 1:
Hình 2 cho thấy một hiển thị trực quan ví dụ của một cấu hình HA khi được HA Manager hiển thị.
Hình 2. HA Manager cho thấy cấu hình Dự trữ nóng của IBM solidDB
Cấu hình ảnh hưởng đến hiệu năng như thế nào
Để cho thấy cấu hình HA có thể ảnh hưởng đến hiệu năng như thế nào, sử dụng ứng dụng thử nghiệm từ phần trước để chèn 5000 hàng vào cơ sở dữ liệu. Bảng 1 so sánh hiệu năng dựa trên các kiến trúc và các thiết lập ghi nhật ký khác nhau.
Bảng 1. Cấu hình IBM solidDB ảnh hưởng đến hiệu năng
Kiến trúc | Ghi nhật ký | Thời gian trung bình (msec) |
Độc lập | Chặt chẽ | 14.1344 |
Độc lập | Thoải mái | 5.125 |
HA, Dự trữ nóng | Chặt chẽ | 17.3314 |
HA, Dự trữ nóng | Thoải mái | 5.472 |
Các kết quả cho thấy rằng việc sử dụng ghi nhật ký thoải mái trong một cấu hình HA chỉ ảnh hưởng chút ít đến hiệu năng
Các thử nghiệm trên đã được chạy khi sử dụng cả hai IBM solidDB như là các ảnh ảo VMWare trong một máy chủ duy nhất trong một mạng WLAN.
Trình diễn
Để xem các khái niệm được mô tả trong bài viết này đang hoạt động, bạn có thể xem video YouTube này: Trình diễn Tính sẵn sàng cao của IBM solidDB. Hình 3 cho thấy một ảnh chụp màn hình từ video này.
Hình 3. Video trình diễn
Kết luận
Bài viết này đã giải thích cách cấu hình Tính sẵn sàng cao của IBM solidDB và cách các ứng dụng có thể tận dụng tính năng Kết nối trong suốt của IBM solidDB.
Tính sẵn sàng cao của IBM solidDB, kết hợp với tốc độ rất cao của IBM solidDB, cung cấp một tầng cơ sở dữ liệu rất mạnh mẽ cho các ứng dụng. Ngoài ra, với yêu cầu quản trị rất nhỏ (nếu có) cho IBM solidDB, làm cho IBM solidDB trở thành một lựa chọn cơ sở dữ liệu tốt cho bất kỳ ứng dụng ISV nào.
Minh Phượng
(Theo nguồn IBM)