Giải đáp một số thuật ngữ khi triển khai Cơ sở dữ liệu Oracle [Phần 1]

Trong quá trình tìm hiểu, cài đặt hoặc triển khai Cơ sở dữ liệu các bạn sẽ gặp phải một số thuật ngữ sau. Hôm nay tôi sẽ giải thích những thuật ngữ các bạn chắc chắn sẽ gặp phải khi cài đặt CSDL Oracle

  • Oracle Database Instance
  • Oracle Real Application Cluster (RAC)
  • Oracle RAC One Node

Trong quá trình cài đặt Oracle, bạn sẽ thấy bước lựa chọn loại Cơ sở dữ liệu muốn cài đặt như dưới đây:

Bạn có thể hiểu đơn giản Cơ sở dữ liệu là một tập hợp các file vật lý (file gì chưa cần quan tâm vội). Các dữ liệu của chúng ta sẽ được lưu ở các file vật lý. Nếu bạn cần chỉnh sửa hoặc cập nhật thông tin nào đó, bạn hiển nhiên không thể “chọc” thẳng vào file vật lý, tìm đến địa chỉ của dữ liệu mà sửa đổi được. Chúng ta muốn tương tác với các file vật lý sẽ phải thực hiện các câu lệnh DML và gửi những câu lệnh này tới một người “phiên dịch” (Gọi là Database Instance). Trong Oracle có 03 phong cách để bạn lựa chọn người “phiên dịch”:

  •  Lựa chọn cài đặt sử dụng “Single Instance database”: Trong trường hợp này sẽ chỉ có 1 phiên dịch viên cho các file vật lý của bạn. Ưu điểm của phương án này là triển khai đơn giản, nhanh chóng. Tuy nhiên nhược điểm lớn nhất là tính sẵn sàng không cao, bạn thử tưởng tượng nếu như vì một lý do nào đó ông phiên dịch viên bị ốm (ví dụ Database Instance của bạn bị shutdown hoặc vì một lỗi nào đó mà không bật lên được), bạn sẽ không cách nào tương tác được với các file vật lý chứa dữ liệu của mình (mặc dù các file này có thể không hề bị hỏng hóc gì).
  • Để cải thiện nhược điểm về tính sẵn sàng của phương án “Single Instance”, bạn có thể lựa chọn cài đặt sử dụng mô hình Oracle RAC (Oracle Real Application Cluster). Đây là mô hình thường được sử dụng đối với các hệ thống trọng yếu (Ví dụ Core Banking, các hệ thống giao dịch online..). Trong mô hình này chúng ta sẽ có nhiều “phiên dịch viên” cùng làm việc với Cơ sở dữ liệu (Các file vật lý). Mỗi “phiên dịch viên” của chúng ta sẽ nằm trên 01 server riêng biệt. Ưu điểm của mô hình này ở chỗ: do có nhiều “phiên dịch viên” (Database Instance) nên hiệu năng xử lý sẽ tốt, ngoài ra nếu một trong các “phiên dịch viên” có lỗi thì chúng ta vẫn có thể tương tác với Cơ sở dữ liệu mà không bị gián đoạn (trừ trường hợp tất cả các phiên dịch viên đều lỗi thì đương nhiên chúng ta không thể nào tương tác với dữ liệu được). Nhược điểm của mô hình này là triển khai phức tạo hơn, và cần những yêu cầu nhất định mới có thể triển khai được (Ví dụ: cần SAN, số lương IP cấp phát…, chi tiết phần này tôi sẽ không trình bày trong bài viết này). Dưới đây là mô hình Oracle RAC 2 Node
  • Một lựa chọn nữa mà chúng ta có thể sử dụng (về lý thuyết, chứ trong thực tế tôi chưa thấy dự án nào lựa chọn mô hình này :)))) đó là Oracle RAC One Node. Về ý tưởng thì Oracle RAC One Node khá giống với Oracle RAC, chỉ khác một điều: đối với Oracle RAC các “phiên dịch viên” (database instance) sẽ đồng thời cùng hoạt động tại các server khác nhau, tuy nhiên trong Oracle RAC One Node, tại một thời điểm chỉ có 01 “phiên dịch viên” hoạt động tại 01 server, trong trường hợp server đó có sự cố thì hệ thống sẽ tự động chuyển “phiên dịch viên” sang hoạt động tại một server khác

Về kiến trúc của một “phiên dịch viên” (Database Instance) thì bạn lựa chọn mô hình Oracle Single, Oracle RAC hay Oracle RAC One Node cũng đều như nhau, do đó khi học các bạn cứ “bình tĩnh” học Oracle Single.

Leave a Reply

avatar
  Subscribe  
Notify of