Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

SQL Server Clustering từ Oracle RAC Perspective

Không có gì bí mật khi tôi biết khá rõ giải pháp phân cụm cơ sở dữ liệu của Oracle. Gần đây, tôi đã hoàn thành giải pháp phân cụm SQL Server, tính khả dụng cao, mất hai năm từ thiết kế ban đầu đến triển khai cuối cùng. Quá trình đó liên quan đến việc lập hồ sơ các yêu cầu, xác định các tùy chọn, ánh xạ các yêu cầu đến chi tiết thực hiện, lập ngân sách, mua sắm, cài đặt, cấu hình và thử nghiệm.

Bây giờ dự án của tôi đã hoàn thành, tôi nghĩ rằng tôi sẽ đưa ra một số mục về phân cụm của SQL Server từ quan điểm của một người làm Oracle RAC. Chúng ta đều biết rằng SQL Server và Oracle đều là công cụ RDBMS và chúng có thể có một số điểm chung. Nhưng chúng cũng là những sinh vật hoàn toàn khác. Vì vậy, nếu bạn cảm thấy hài lòng với Cơ sở hạ tầng lưới và RAC và Bảo vệ dữ liệu của Oracle và đang xem xét triển khai giải pháp SQL Server HA, có thể điều này sẽ cung cấp một số thông tin tốt cho bạn.

Hệ thống sản xuất hiện tại của chúng tôi là cơ sở dữ liệu chính Oracle RAC 4 nút. Điều này cung cấp tính khả dụng cao (và hiệu suất cao) trong trung tâm dữ liệu chính của chúng tôi. Chúng tôi sử dụng Data Guard để vận chuyển quá trình làm lại tới cơ sở dữ liệu dự phòng vật lý RAC 3 nút. Mặc dù SQL Server <> Oracle, tôi muốn giữ cấu hình của chúng tôi giống nhau nhất có thể để dễ quản lý. Vì vậy, chúng tôi đã triển khai Cụm chuyển đổi dự phòng SQL Server 2 nút tại trang web chính của chúng tôi và cơ sở dữ liệu "dự phòng" 1 nút tại trang web DR của chúng tôi.

Bây giờ theo quan sát của tôi, không theo thứ tự cụ thể.

  • Giải pháp phân cụm HA của SQL Server là Hoạt động / Bị động. Oracle’s là Active / Active mà đối với tôi là “tốt hơn”, và vâng… đó là một thuật ngữ chủ quan. Đối với việc triển khai Chủ động / Bị động của chúng tôi, tôi không thích ý tưởng về hai máy chủ vật lý ngồi ở đó với một máy chủ về cơ bản luôn không hoạt động. Vì vậy, chúng tôi có một máy chủ vật lý là nút "ưu tiên" và một máy chủ ảo. Nếu máy chủ vật lý bị lỗi, phân cụm sẽ tự động chuyển đổi dự phòng phiên bản SQL Server sang máy chủ ảo và chúng tôi sẽ hoạt động trở lại. Cụm Chủ động / Bị động này không giải quyết khả năng mở rộng như Oracle RAC, nhưng nó mang lại cho tôi tính khả dụng cao hơn trong môi trường chính của chúng tôi.
  • Việc triển khai phân cụm cực kỳ dễ dàng. Bật tính năng phân nhóm ở cấp hệ điều hành. Bởi vì đây là một ngăn xếp hoàn toàn của Microsoft, họ đã xây dựng phân cụm vào hệ điều hành. Nó đã ở đó cho bạn. Bạn chỉ cần bật nó lên. Sau đó, kích hoạt Công cụ quản trị -> Trình quản lý cụm chuyển đổi dự phòng và các trình hướng dẫn sẽ hướng dẫn bạn thiết lập. Nó dễ dàng hơn nhiều so với cài đặt Cơ sở hạ tầng lưới. Nhưng Oracle thực sự phải cạnh tranh với các nền tảng hệ điều hành khác nhau, điều này làm cho nó khó khăn hơn ở đó. Sẽ rất thú vị khi xem cách SQL Server 2016 trên Linux xử lý cụm chuyển đổi dự phòng.
  • Oracle sử dụng mô hình Đĩa dùng chung trong khi Máy chủ SQL là Không có gì được chia sẻ. Nhưng bạn cần phải sử dụng "đĩa chia sẻ" theo cách vì đĩa cần phải có sẵn trên cả hai nút. Tuy nhiên, MS Failover Clustering (MSFC) gắn đĩa đã phân cụm trên nút đang hoạt động. Khi SQL Server được chuyển đến nút khác, tự động hoặc thủ công, MSFC sẽ ngắt kết nối đĩa trên một nút sau đó gắn nó vào nút kia. Thật kỳ lạ khi mở cửa sổ Windows Explorer và thấy đĩa xuất hiện hoặc biến mất trong quá trình chuyển đổi này.
  • Cơ sở hạ tầng lưới sử dụng Đĩa biểu quyết cho các hoạt động số đại biểu. Trong MSFC, bạn có thể có đĩa Quorum, sử dụng chia sẻ tệp hoặc định cấu hình không có túc số. Nếu bạn sử dụng cái sau, bạn sẽ cản trở khả năng chuyển đổi dự phòng tự động của mình.
  • Tôi đã quen với việc chính của tôi có cụm riêng và cụm dự phòng của riêng nó. Với SQL Server, các nút chính và các nút dự phòng cần phải là một phần của cùng một cụm. Rất may, cụm có thể vượt qua các mạng con khác với Oracle GI. Thêm nút dự phòng rất dễ dàng, chúng tôi chỉ xóa quyền biểu quyết của nó và chúng tôi không định cấu hình đĩa đại biểu cho nút dự phòng. Điều này là tốt với chúng tôi vì chúng tôi muốn chuyển đổi dự phòng sang chế độ chờ chỉ là một thao tác thủ công.
  • Đối với cơ sở dữ liệu dự phòng, bạn có thể sử dụng Phản chiếu cơ sở dữ liệu, Ghi nhật ký vận chuyển hoặc Nhóm luôn sẵn sàng (AG). Hai người đầu tiên đang trên đường rời đi vì vậy tôi đã đi với các AG. AG yêu cầu nút chờ phải là một phần của cùng một cụm với nút chính. Có một trình hướng dẫn để hướng dẫn bạn cách thiết lập cơ sở dữ liệu để tham gia vào AG. Điều này dễ dàng hơn nhiều so với việc thiết lập chế độ chờ vật lý của Oracle.
  • Đối với những người bạn ghét tài liệu Oracle, đã đến lúc biết ơn. Nhiều lần trong quá trình này, tôi thấy tài liệu MS bị thiếu những phần rất lớn. Ví dụ:tôi chưa bao giờ tìm ra cách định cấu hình nút chờ của mình để không có quyền biểu quyết. May mắn thay, chúng tôi đã có thể vượt qua nó.

Khi tất cả đã được nói và làm xong, việc triển khai giải pháp SQL Server không quá khó. Đôi khi tôi phải dựa vào kiến ​​thức của mình về phân cụm. Những lần khác, thuật ngữ của Microsoft đã cản trở. Ví dụ, phần còn lại của thế giới gọi nó là “bộ não phân chia” nhưng MS gọi nó là “cụm phân tách”. Đôi khi vượt qua sự khác biệt về từ vựng là trở ngại lớn nhất.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để xem kế hoạch thực thi SQL trong Oracle?

  2. Số Oracle thành số thập phân C #

  3. Cách sắp xếp theo ngày trong PostgreSQL hoặc Oracle

  4. LongOpsWatcher trong SQL Dev

  5. Bản dịch Microsoft T-SQL sang Oracle SQL