Doanh nghiệp liên tục mong muốn có được những hiểu biết sâu sắc từ thông tin để đưa ra các quyết định đáng tin cậy, thông minh hơn, theo thời gian thực, dựa trên thực tế. Khi các công ty phụ thuộc nhiều hơn vào dữ liệu và cơ sở dữ liệu, xử lý thông tin và dữ liệu là cốt lõi của nhiều hoạt động kinh doanh và các quyết định kinh doanh. Niềm tin vào cơ sở dữ liệu là hoàn toàn. Không có dịch vụ công ty hàng ngày nào có thể chạy mà không có nền tảng cơ sở dữ liệu bên dưới. Do đó, sự cần thiết về khả năng mở rộng và hiệu suất của phần mềm hệ thống cơ sở dữ liệu là quan trọng hơn bao giờ hết. Các lợi ích chính của hệ thống cơ sở dữ liệu phân cụm là khả năng mở rộng và tính sẵn sàng cao. Trong blog này, chúng tôi sẽ cố gắng so sánh Oracle RAC và Galera Cluster dưới góc độ của hai khía cạnh này. Các cụm ứng dụng thực (RAC) là giải pháp cao cấp của Oracle để phân nhóm các cơ sở dữ liệu Oracle và cung cấp Tính khả dụng và khả năng mở rộng cao. Galera Cluster là công nghệ phân cụm phổ biến nhất cho MySQL và MariaDB.
Tổng quan về kiến trúc
Oracle RAC sử dụng phần mềm Oracle Clusterware để liên kết nhiều máy chủ. Oracle Clusterware là một giải pháp quản lý cụm được tích hợp với Cơ sở dữ liệu Oracle, nhưng nó cũng có thể được sử dụng với các dịch vụ khác, không chỉ cơ sở dữ liệu. Oracle Clusterware là một phần mềm bổ sung được cài đặt trên các máy chủ chạy cùng một hệ điều hành, cho phép các máy chủ được liên kết với nhau để hoạt động như thể chúng là một máy chủ.
Oracle Clusterware theo dõi phiên bản và tự động khởi động lại nó nếu xảy ra sự cố. Nếu ứng dụng của bạn được thiết kế tốt, bạn có thể không gặp bất kỳ gián đoạn dịch vụ nào. Chỉ một nhóm các phiên (những phiên được kết nối với phiên bản không thành công) bị ảnh hưởng bởi lỗi này. Người dùng cuối có thể che giấu hiệu quả sự cố mất điện bằng cách sử dụng các tính năng RAC nâng cao như Thông báo ứng dụng nhanh và Chuyển đổi dự phòng kết nối nhanh của ứng dụng khách Oracle. Oracle Clusterware kiểm soát tư cách thành viên của nút và ngăn ngừa các triệu chứng não bị chia rẽ trong đó hai hoặc nhiều trường hợp cố gắng kiểm soát phiên bản đó.
Galera Cluster là một công nghệ phân nhóm cơ sở dữ liệu hoạt động tích cực đồng bộ cho MySQL và MariaDB. Galera Cluster khác với cái được gọi là Oracle’s MySQL Cluster - NDB. MariaDB cluster dựa trên plugin nhân rộng đa chủ do Codership cung cấp. Kể từ phiên bản 5.5, plugin Galera (API wsrep) là một phần không thể thiếu của MariaDB. Percona XtraDB Cluster (PXC) cũng dựa trên plugin Galera. Kiến trúc plugin Galera dựa trên ba lớp cốt lõi:chứng nhận, nhân rộng và khung giao tiếp nhóm. Lớp chứng nhận chuẩn bị các bộ ghi và kiểm tra chứng nhận trên chúng, đảm bảo rằng chúng có thể được áp dụng. Lớp nhân bản quản lý giao thức nhân bản và cung cấp tổng khả năng đặt hàng. Khung giao tiếp nhóm triển khai kiến trúc plugin cho phép các hệ thống khác kết nối thông qua lược đồ back-end gcomm.
Để giữ trạng thái giống hệt nhau trên toàn bộ cụm, API wsrep sử dụng ID giao dịch toàn cầu. Mã định danh duy nhất GTID được tạo và liên kết với mỗi giao dịch được cam kết trên nút cơ sở dữ liệu. Trong Oracle RAC, các cá thể cơ sở dữ liệu khác nhau chia sẻ quyền truy cập vào các tài nguyên như khối dữ liệu trong bộ đệm đệm để xếp hàng các khối dữ liệu. Việc truy cập vào các tài nguyên được chia sẻ giữa các cá thể RAC cần được phối hợp để tránh xung đột. Để tổ chức quyền truy cập được chia sẻ vào các tài nguyên này, bộ đệm ẩn phân tán duy trì thông tin như ID khối dữ liệu, cá thể RAC giữ phiên bản hiện tại của khối dữ liệu này và chế độ khóa trong đó mỗi phiên bản chứa khối dữ liệu.
Các khái niệm về khóa lưu trữ dữ liệu
Oracle RAC dựa trên kiến trúc đĩa phân tán. Các tệp cơ sở dữ liệu, tệp điều khiển và nhật ký làm lại trực tuyến cho cơ sở dữ liệu cần có thể truy cập được đối với mỗi nút trong cụm. Có nhiều cách khác nhau để định cấu hình bộ nhớ dùng chung bao gồm đĩa được gắn trực tiếp, Mạng vùng lưu trữ (SAN) và Bộ nhớ đính kèm mạng (NAS) và Oracle ASM. Hai phổ biến nhất là OCFS và ASM. Oracle Cluster File System (OCFS) là một hệ thống tệp chia sẻ được thiết kế đặc biệt cho Oracle RAC. OCFS loại bỏ yêu cầu các tệp cơ sở dữ liệu Oracle phải được kết nối với các ổ đĩa logic và cho phép tất cả các nút chia sẻ một Thiết bị RAW, Oracle Home ASM. Oracle ASM là giải pháp quản lý lưu trữ được khuyến nghị của Oracle cung cấp giải pháp thay thế cho các trình quản lý khối lượng thông thường, hệ thống tệp và thiết bị thô. Oracle ASM cung cấp một lớp ảo hóa giữa cơ sở dữ liệu và bộ nhớ. Nó coi nhiều đĩa như một nhóm đĩa duy nhất và cho phép bạn thêm hoặc xóa động các ổ đĩa trong khi duy trì cơ sở dữ liệu trực tuyến.
Không cần thiết phải xây dựng bộ lưu trữ đĩa chia sẻ phức tạp cho Galera, vì mỗi nút đều có bản sao dữ liệu đầy đủ của nó. Tuy nhiên, một phương pháp hay là làm cho bộ nhớ đáng tin cậy với bộ nhớ đệm ghi được hỗ trợ bằng pin.
Oracle RAC, Lưu trữ cụm Bản sao Galera, các đĩa được gắn với các nút cơ sở dữ liệuGiao tiếp và bộ nhớ cache của các nút cụm
Oracle Real Application Clusters có kiến trúc bộ đệm chia sẻ, nó sử dụng Cơ sở hạ tầng lưới Oracle để cho phép chia sẻ máy chủ và tài nguyên lưu trữ. Giao tiếp giữa các nút là khía cạnh quan trọng của tính toàn vẹn cụm. Mỗi nút phải có ít nhất hai bộ điều hợp mạng hoặc thẻ giao diện mạng:một cho giao diện mạng công cộng và một cho kết nối liên thông. Mỗi nút cụm được kết nối với tất cả các nút khác thông qua mạng tốc độ cao riêng, cũng được coi là kết nối liên cụm.
Oracle RAC, kiến trúc mạngMạng riêng thường được hình thành với Gigabit Ethernet, nhưng đối với môi trường khối lượng lớn, nhiều nhà cung cấp cung cấp các giải pháp băng thông cao, độ trễ thấp được thiết kế cho Oracle RAC. Linux cũng mở rộng phương tiện liên kết nhiều NIC vật lý thành một NIC ảo duy nhất để cung cấp băng thông và tính khả dụng tăng lên.
Mặc dù cách tiếp cận mặc định để kết nối các nút Galera là sử dụng một NIC cho mỗi máy chủ lưu trữ, bạn có thể có nhiều hơn một thẻ. ClusterControl có thể hỗ trợ bạn thiết lập như vậy. Sự khác biệt chính là yêu cầu băng thông trên kết nối. Oracle RAC vận chuyển các khối dữ liệu giữa các phiên bản, vì vậy nó đặt tải nặng hơn lên kết nối so với các bộ ghi Galera (bao gồm một danh sách các hoạt động).
Với Sử dụng kết nối dự phòng trong RAC, bạn có thể xác định nhiều giao diện để sử dụng cho mạng cụm riêng mà không cần sử dụng liên kết hoặc các công nghệ khác. Chức năng này có sẵn bắt đầu với Cơ sở dữ liệu Oracle 11gR2. Nếu bạn sử dụng tính năng kết nối quá mức của Oracle Clusterware, thì bạn phải sử dụng địa chỉ IPv4 cho các giao diện (UDP là mặc định).
Để quản lý tính khả dụng cao, mỗi nút cụm được gán một địa chỉ IP ảo (VIP). Trong trường hợp nút bị lỗi, địa chỉ IP của nút bị lỗi có thể được gán lại cho một nút còn tồn tại để cho phép các ứng dụng tiếp tục truy cập cơ sở dữ liệu thông qua cùng một địa chỉ IP.
Thiết lập mạng phức tạp là cần thiết đối với công nghệ Cache Fusion của Oracle để ghép bộ nhớ vật lý trong mỗi máy chủ thành một bộ nhớ đệm duy nhất. Oracle Cache Fusion cung cấp dữ liệu được lưu trữ trong bộ đệm ẩn của một phiên bản Oracle để bất kỳ phiên bản nào khác có thể truy cập bằng cách vận chuyển nó qua mạng riêng. Nó cũng bảo vệ tính toàn vẹn của dữ liệu và đồng tiền trong bộ nhớ cache bằng cách truyền thông tin khóa và đồng bộ hóa bổ sung bên ngoài các nút cụm.
Trên đầu thiết lập mạng được mô tả, bạn có thể đặt một địa chỉ cơ sở dữ liệu duy nhất cho ứng dụng của mình - Tên truy cập máy khách duy nhất (SCAN). Mục đích chính của SCAN là cung cấp khả năng quản lý kết nối dễ dàng. Ví dụ:bạn có thể thêm các nút mới vào cụm mà không cần thay đổi chuỗi kết nối máy khách của mình. Chức năng này là do Oracle sẽ tự động phân phối các yêu cầu tương ứng dựa trên các IP SCAN trỏ đến các VIP bên dưới. Trình nghe quét làm cầu nối giữa khách hàng và trình nghe cục bộ cơ bản phụ thuộc vào VIP.
Đối với Galera Cluster, tương đương với SCAN sẽ là thêm một proxy cơ sở dữ liệu phía trước các nút Galera. Proxy sẽ là một điểm liên lạc duy nhất cho các ứng dụng, nó có thể đưa vào danh sách đen các nút bị lỗi và định tuyến các truy vấn đến các nút lành mạnh. Bản thân proxy có thể được tạo dư thừa với Keepalived và Virtual IP.
Chuyển đổi dự phòng và khôi phục dữ liệu
Sự khác biệt chính giữa Oracle RAC và MySQL Galera Cluster là Galera không được chia sẻ kiến trúc. Thay vì các đĩa dùng chung, Galera sử dụng sao chép dựa trên chứng nhận với giao tiếp nhóm và sắp xếp giao dịch để đạt được sự nhân rộng đồng bộ. Một cụm cơ sở dữ liệu sẽ có thể tồn tại khi mất một nút, mặc dù nó đạt được theo những cách khác nhau. Trong trường hợp của Galera, khía cạnh quan trọng là số lượng nút, Galera yêu cầu một số đại biểu để duy trì hoạt động. Một cụm ba nút có thể tồn tại sau sự cố của một nút. Với nhiều nút hơn trong cụm của bạn, tính khả dụng của bạn sẽ tăng lên. Oracle RAC không yêu cầu túc số để duy trì hoạt động sau sự cố nút. Đó là vì quyền truy cập vào bộ nhớ phân tán giữ thông tin nhất quán về trạng thái cụm. Tuy nhiên, việc lưu trữ dữ liệu của bạn có thể là một điểm tiềm ẩn thất bại trong gói tính khả dụng cao của bạn. Mặc dù nhiệm vụ hợp lý là đơn giản để có các nút cụm Galera trải rộng trên các trung tâm dữ liệu định vị địa lý, nhưng với RAC sẽ không dễ dàng như vậy. Oracle RAC yêu cầu nhân bản đĩa cao cấp bổ sung, tuy nhiên, RAID cơ bản như dự phòng có thể đạt được bên trong một ASM diskgroup.
Loại nhóm đĩa | Các mức sao chép được hỗ trợ | Mức sao chép mặc định |
---|---|---|
Dự phòng bên ngoài | Không được bảo vệ (không có) | Không được bảo vệ |
Dự phòng thông thường | Hai chiều, ba chiều, không được bảo vệ (không có) | Hai chiều |
Dự phòng cao | Ba chiều | Ba chiều |
Dự phòng linh hoạt | Hai chiều, ba chiều, không được bảo vệ (không có) | Hai chiều (mới tạo) |
Dự phòng mở rộng | Hai chiều, ba chiều, không được bảo vệ (không có) | Hai chiều |
Lược đồ khóa
Trong cơ sở dữ liệu một người dùng, người dùng có thể thay đổi dữ liệu mà không cần quan tâm đến các phiên khác sửa đổi cùng một dữ liệu cùng một lúc. Tuy nhiên, trong môi trường đa nút cơ sở dữ liệu nhiều người dùng, điều này trở nên phức tạp hơn. Cơ sở dữ liệu nhiều người dùng phải cung cấp những điều sau:
- dữ liệu đồng thời - đảm bảo rằng người dùng có thể truy cập dữ liệu cùng một lúc,
- tính nhất quán của dữ liệu - sự đảm bảo rằng mỗi người dùng đều nhìn thấy một chế độ xem dữ liệu nhất quán.
Các phiên bản cụm yêu cầu ba loại khóa đồng thời chính:
- Đồng thời dữ liệu đọc trên các trường hợp khác nhau,
- Dữ liệu đồng thời đọc và ghi trên các trường hợp khác nhau,
- Dữ liệu đồng thời ghi trên các trường hợp khác nhau.
Oracle cho phép bạn chọn chính sách khóa, bi quan hoặc lạc quan, tùy thuộc vào yêu cầu của bạn. Để có được khóa đồng thời, RAC có hai bộ đệm bổ sung. Đó là Global Cache Service (GCS) và Global Enqueue Service (GES). Hai dịch vụ này bao gồm quy trình Cache Fusion, chuyển tài nguyên và leo thang tài nguyên giữa các phiên bản. GES bao gồm khóa bộ nhớ cache, khóa từ điển, khóa giao dịch và khóa bảng. GCS duy trì các chế độ khối và chuyển khối giữa các phiên bản.
Trong cụm Galera, mỗi nút có bộ nhớ và bộ đệm của nó. Khi một giao dịch được bắt đầu, các tài nguyên cơ sở dữ liệu cục bộ cho nút đó có liên quan. Khi cam kết, các hoạt động là một phần của giao dịch đó được truyền phát như một phần của bộ ghi cho phần còn lại của nhóm. Vì tất cả các nút đều có cùng trạng thái nên tập hợp ghi sẽ thành công trên tất cả các nút hoặc sẽ thất bại trên tất cả các nút.
Galera Cluster sử dụng điều khiển đồng thời lạc quan cấp độ cụm, có thể xuất hiện trong các giao dịch dẫn đến hủy bỏ COMMIT. Cam kết đầu tiên sẽ thắng. Khi hủy bỏ xảy ra ở cấp độ cụm, Galera Cluster sẽ đưa ra lỗi bế tắc. Điều này có thể có hoặc không ảnh hưởng đến kiến trúc ứng dụng của bạn. Số lượng hàng cao để sao chép trong một giao dịch sẽ ảnh hưởng đến phản hồi của nút, mặc dù có các kỹ thuật để tránh hành vi như vậy.
Yêu cầu phần cứng &phần mềm
Việc định cấu hình phần cứng của cả hai cụm không yêu cầu tài nguyên mạnh. Cấu hình cụm Oracle RAC tối thiểu sẽ được đáp ứng bởi hai máy chủ có hai CPU, bộ nhớ vật lý ít nhất 1,5 GB RAM, một lượng không gian hoán đổi bằng dung lượng RAM và hai Gigabit Ethernet NIC. Cấu hình nút tối thiểu của Galera là ba nút (một trong các nút có thể là trọng tài, gardb), mỗi nút có CPU lõi đơn 1GHz RAM 512MB, thẻ mạng 100 Mb / giây. Mặc dù những điều này là tối thiểu, nhưng chúng tôi có thể nói một cách an toàn rằng trong cả hai trường hợp, bạn có thể muốn có thêm tài nguyên cho hệ thống sản xuất của mình.
Mỗi nút lưu trữ phần mềm nên bạn cần chuẩn bị vài gigabyte dung lượng lưu trữ của mình. Oracle và Galera đều có khả năng vá các nút riêng lẻ bằng cách gỡ chúng xuống từng nút một. Bản vá hoàn chỉnh này tránh tình trạng ngừng hoạt động ứng dụng hoàn toàn vì luôn có sẵn các nút cơ sở dữ liệu để xử lý lưu lượng truy cập.
Điều quan trọng cần đề cập là một cụm Galera sản xuất có thể dễ dàng chạy trên VM’s hoặc kim loại trần cơ bản, trong khi RAC sẽ cần đầu tư vào lưu trữ chia sẻ phức tạp và giao tiếp cáp quang.
Giám sát và Quản lý
Oracle Enterprise Manager là cách tiếp cận được ưa chuộng để giám sát Oracle RAC và Oracle Clusterware. Oracle Enterprise Manager là một hệ thống quản lý thống nhất dựa trên Web của Oracle để giám sát và quản trị môi trường cơ sở dữ liệu của bạn. Nó là một phần của Giấy phép Doanh nghiệp Oracle và phải được cài đặt trên máy chủ riêng biệt. Giám sát và quản lý điều khiển cụm được thực hiện thông qua sự kết hợp trên các lệnh crsctl và srvctl là một phần của mã nhị phân cụm. Dưới đây, bạn có thể tìm thấy một số lệnh ví dụ.
Kiểm tra trạng thái tài nguyên phần mềm cụm:
crsctl status resource -t (or shorter: crsctl stat res -t)
Ví dụ:
$ crsctl stat res ora.test1.vip
NAME=ora.test1.vip
TYPE=ora.cluster_vip_net1.type
TARGET=ONLINE
STATE=ONLINE on test1
Kiểm tra trạng thái của ngăn xếp Oracle Clusterware:
crsctl check cluster
Ví dụ:
$ crsctl check cluster -all
*****************************************************************
node1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
*****************************************************************
node2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
Kiểm tra trạng thái của các Dịch vụ Khả dụng Cao của Oracle và ngăn xếp Oracle Clusterware trên máy chủ cục bộ:
crsctl check crs
Ví dụ:
$ crsctl check crs
CRS-4638: Oracle High Availablity Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
Dừng Dịch vụ Tính sẵn sàng Cao của Oracle trên máy chủ cục bộ.
crsctl stop has
Dừng Dịch vụ Tính sẵn sàng Cao của Oracle trên máy chủ cục bộ.
crsctl start has
Hiển thị trạng thái của các ứng dụng nút:
srvctl status nodeapps
Hiển thị thông tin cấu hình cho tất cả SCAN VIP
srvctl config scan
Ví dụ:
srvctl config scan -scannumber 1
SCAN name: testscan, Network: 1
Subnet IPv4: 192.51.100.1/203.0.113.46/eth0, static
Subnet IPv6:
SCAN 1 IPv4 VIP: 192.51.100.195
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes:
SCAN VIP is individually disabled on nodes:
Tiện ích xác minh cụm (CVU) thực hiện kiểm tra hệ thống để chuẩn bị cài đặt, cập nhật bản vá hoặc các thay đổi hệ thống khác:
cluvfy comp ocr
Ví dụ:
Verifying OCR integrity
Checking OCR integrity...
Checking the absence of a non-clustered configurationl...
All nodes free of non-clustered, local-only configurations
ASM Running check passed. ASM is running on all specified nodes
Checking OCR config file “/etc/oracle/ocr.loc"...
OCR config file “/etc/oracle/ocr.loc" check successful
Disk group for ocr location “+DATA" available on all the nodes
NOTE:
This check does not verify the integrity of the OCR contents. Execute ‘ocrcheck' as a privileged user to verify the contents of OCR.
OCR integrity check passed
Verification of OCR integrity was successful.
Các nút Galera và cụm yêu cầu API wsrep báo cáo một số trạng thái được hiển thị. Hiện tại, có 34 biến trạng thái chuyên dụng có thể được xem bằng câu lệnh SHOW STATUS.
mysql> SHOW STATUS LIKE 'wsrep_%';
wsrep_apply_oooe wsrep_apply_oool wsrep_cert_deps_distance wsrep_cluster_conf_id wsrep_cluster_size wsrep_cluster_state /> wsrep_cluster_status wsrep_connected wsrep_flow_control_paused wsrep_flow_control_paused_ns wsrep_flow_control_recv | wsrep_local_send_queue_avg wsrep_local_state_uuid wsrep_protocol_version wsrep_provider_name wsrep_provider_vendor wsrep_provider_flow wsrep_flow wsrep_flow wsrep_flow br /> wsrep_last_comiled wsrep_local_bf_aborts wsrep_local_cert_failures | wsrep_local_commits wsrep_local_index wsrep_local_recv_queue wsrep_local_recv_queue_avg wsrep_local_replays wsrep_local_send_queue wsrep_local_send_quere. br /> wsrep_receive_bytes wsrep_replicated wsrep_replicated_bytes wsrep_thread_count |
Việc quản trị MySQL Galera Cluster ở nhiều khía cạnh rất giống nhau. Chỉ có một số ngoại lệ như khởi động cụm từ nút ban đầu hoặc khôi phục các nút thông qua hoạt động SST hoặc IST.
Cụm khởi động:
$ service mysql bootstrap # sysvinit
$ service mysql start --wsrep-new-cluster # sysvinit
$ galera_new_cluster # systemd
$ mysqld_safe --wsrep-new-cluster # command line
Giải pháp tương đương dựa trên Web để quản lý và giám sát Cụm Galera là ClusterControl. Nó cung cấp giao diện dựa trên web để triển khai các cụm, giám sát các chỉ số chính, cung cấp cố vấn cơ sở dữ liệu và đảm nhận các tác vụ quản lý như sao lưu và khôi phục, vá lỗi tự động, mã hóa lưu lượng và quản lý tính khả dụng.
Hạn chế về khối lượng công việc
Oracle cung cấp công nghệ SCAN mà chúng tôi thấy còn thiếu trong Galera Cluster. Lợi ích của SCAN là thông tin kết nối của máy khách không cần thay đổi nếu bạn thêm hoặc xóa các nút hoặc cơ sở dữ liệu trong cụm. Khi sử dụng SCAN, cơ sở dữ liệu Oracle kết nối ngẫu nhiên với một trong các trình nghe SCAN có sẵn (thường là ba) theo kiểu vòng tròn và cân bằng các kết nối giữa chúng. Có thể định cấu hình hai loại cân bằng tải:phía máy khách, cân bằng tải thời gian kết nối và phía máy chủ, cân bằng tải thời gian chạy. Mặc dù không có gì tương tự trong chính cụm Galera, nhưng chức năng tương tự có thể được giải quyết bằng phần mềm bổ sung như ProxySQL, HAProxy, Maxscale kết hợp với Keepalived.
Khi nói đến thiết kế khối lượng công việc ứng dụng cho Galera Cluster, bạn nên tránh cập nhật xung đột trên cùng một hàng, vì nó dẫn đến bế tắc trên toàn bộ cụm. Tránh chèn hàng loạt hoặc cập nhật, vì chúng có thể lớn hơn bộ ghi tối đa cho phép. Điều đó cũng có thể gây ra sự cố theo cụm.
Thiết kế Oracle HA với RAC, bạn cần lưu ý rằng RAC chỉ bảo vệ khỏi sự cố máy chủ và bạn cần phản chiếu bộ nhớ và có dự phòng mạng. Các ứng dụng web hiện đại yêu cầu quyền truy cập vào các dịch vụ dữ liệu độc lập với vị trí và do các giới hạn về kiến trúc lưu trữ của RAC, nên có thể khó đạt được. Bạn cũng cần dành một khoảng thời gian đáng kể để có được kiến thức liên quan để quản lý môi trường; nó là một quá trình lâu dài. Về mặt khối lượng công việc của ứng dụng, có một số hạn chế. Việc phân phối các hoạt động đọc hoặc ghi được tách biệt trên cùng một tập dữ liệu không phải là tối ưu vì độ trễ được thêm vào bằng cách trao đổi dữ liệu lóng bổ sung. Những thứ như phân vùng, bộ nhớ cache trình tự và hoạt động sắp xếp nên được xem xét trước khi chuyển sang RAC.
Dự phòng nhiều trung tâm dữ liệu
Theo tài liệu của Oracle, khoảng cách tối đa giữa hai hộp kết nối theo kiểu điểm-điểm và chạy đồng bộ có thể chỉ là 10 km. Sử dụng các thiết bị chuyên dụng, khoảng cách này có thể tăng lên 100 km.
Galera Cluster nổi tiếng với khả năng sao chép nhiều trung tâm dữ liệu. Nó có hỗ trợ phong phú cho các cài đặt mạng Wider Area Networks. Nó có thể được định cấu hình cho độ trễ mạng cao bằng cách thực hiện các phép đo Thời gian khứ hồi (RTT) giữa các nút cụm và điều chỉnh các thông số cần thiết. Các thông số wsrep_provider_options cho phép bạn định cấu hình các cài đặt như nghi ngờ_timeout, tương tác_timeout, join_retrans_timouts và nhiều cài đặt khác.
Sử dụng Galera và RAC trong Đám mây
Theo lưu ý của Oracle www.oracle.com/technetwork/database/options/.../rac-cloud-support-2843861.pdf hiện không có đám mây của bên thứ ba nào đáp ứng các yêu cầu của Oracle về bộ nhớ dùng chung được cung cấp nguyên bản. “Gốc” trong ngữ cảnh này có nghĩa là nhà cung cấp dịch vụ đám mây phải hỗ trợ bộ nhớ dùng chung như một phần của cơ sở hạ tầng của họ theo chính sách hỗ trợ của Oracle.
Nhờ kiến trúc không dùng chung, không bị ràng buộc với giải pháp lưu trữ phức tạp, cụm Galera có thể dễ dàng triển khai trong môi trường đám mây. Những thứ như:
- giao thức mạng được tối ưu hóa,
- bản sao nhận biết cấu trúc liên kết,
- mã hóa lưu lượng,
- phát hiện và tự động loại bỏ các nút không đáng tin cậy,
làm cho quá trình di chuyển trên đám mây trở nên đáng tin cậy hơn.
Giấy phép và Chi phí Ẩn
Cấp phép của Oracle là một chủ đề phức tạp và sẽ yêu cầu một bài viết trên blog riêng. Yếu tố cụm làm cho nó thậm chí còn khó khăn hơn. Chi phí tăng lên do chúng tôi phải thêm một số tùy chọn để cấp phép cho một giải pháp RAC hoàn chỉnh. Ở đây chúng tôi chỉ muốn làm nổi bật những gì sẽ xảy ra và nơi để tìm thêm thông tin.
RAC là một tính năng của giấy phép Oracle Enterprise Edition. Giấy phép Oracle Enterprise được chia thành hai loại, cho mỗi người dùng được đặt tên và cho mỗi bộ xử lý. Nếu bạn xem xét Phiên bản Doanh nghiệp với mỗi giấy phép lõi, thì chi phí lõi đơn là RAC 23.000 USD + Oracle DB EE 47.500 USD và bạn vẫn cần thêm phí hỗ trợ ~ 22%. Chúng tôi muốn tham khảo một blog tuyệt vời về giá cả được tìm thấy trên https://flashdba.com/2013/09/18/the-real-cost-of-oracle-rac/.
Flashdba đã tính toán giá của Oracle RAC bốn nút. Tổng số tiền là 902.400 USD cộng thêm 595.584 USD cho ba năm bảo trì DB và không bao gồm các tính năng như phân vùng hoặc cơ sở dữ liệu trong bộ nhớ, tất cả đều được giảm giá 60% của Oracle.
Galera Cluster là một giải pháp mã nguồn mở mà bất kỳ ai cũng có thể chạy miễn phí. Đăng ký có sẵn để triển khai sản xuất yêu cầu hỗ trợ của nhà cung cấp. Cách tính TCO tốt có thể được tìm thấy tại https://severalnines.com/blog/database-tco-calculating-total-cost-ownership-mysql-management.
Kết luận
Mặc dù có sự khác biệt đáng kể về kiến trúc, cả hai cụm đều chia sẻ các nguyên tắc chính và có thể đạt được các mục tiêu tương tự. Sản phẩm dành cho doanh nghiệp của Oracle đi kèm với tất cả mọi thứ (và giá của nó). Với chi phí trong khoảng> 1 triệu USD như đã thấy ở trên, đây là một giải pháp cao cấp mà nhiều doanh nghiệp khó có thể mua được. Galera Cluster có thể được mô tả là một giải pháp có tính khả dụng cao phù hợp cho đại chúng. Trong một số trường hợp nhất định, Galera có thể là một lựa chọn thay thế rất tốt cho Oracle RAC. Một hạn chế là bạn phải xây dựng ngăn xếp của riêng mình, mặc dù điều đó có thể hoàn toàn tự động với ClusterControl. Chúng tôi muốn biết suy nghĩ của bạn về điều này.