Kiến trúc Oracle Database

   Giới thiệu

 

Xin chào các bạn độc giả, Duy vốn xuất thân là 1 Oracle Database Administrator. Kể ra, kinh nghiệm làm việc trên Oracle Database vẫn dày dặn hơn so với các RDBMS khác.

 

Vậy mà đây mới là bài viết đầu tiên của tôi về chủ đề Oracle Database. Thực ra, trước đây tôi cũng có viết một số bài chia sẻ kiến thức về Oracle rồi, nhưng sau đó vì một số lý do cá nhân, bị thất lạc gần hết.

 

Hôm nay, tôi ngồi reboot lại chuỗi series chia sẻ kiến thức về Oracle Database, hi vọng được các bạn độc giả tiếp tục ủng hộ. Bài đầu tiên, chắc chắn là về kiến trúc của Oracle Database rồi,

 

Nếu anh em quan tâm đến các RDBMS, hay tính năng nào của chúng, hãy cho tôi biết trong group “Kho tài liệu kiến thức Database nhé”.

 

Thôi giới thiệu vậy thôi, bắt đầu vào bài học, các bạn nhé.


   Kiến trúc tổng quan của Oracle Database

   Giới thiệu

Thực lòng mà nói, kiến trúc Oracle rất đơn giản. Hãy tưởng tượng và trả lời câu hỏi: Máy tính để bàn của các bạn cần ít nhất những thành phần gì để có thể hoạt động được?

 

Đó là:

   Bộ vi xử lý trung tâm (CPU)

   Bộ nhớ RAM

   Ổ đĩa cứng (Hard disk)

 

(Nếu bạn nào nói là còn thiếu chuột và bàn phím nữa thì không phải nhé. Thiếu chuột và bàn phím hay màn hình thì máy tính vẫn hoạt động được, nhưng thiếu 1 trong 3 thành phần tôi nêu bên trên thì chịu, không chạy được đâu)

 

   Giải thích

Oracle Database cũng giống như vậy, kiến trúc của nó cũng bao gồm 3 kiến trúc thành phần có chức năng tương tự 3 thành phần của máy tính của bạn.

 

Đó là:

   Kiến trúc các Process (tương ứng với CPU)

   Kiến trúc về Memory (tương ứng với RAM)

   Kiến trúc về Storage (tương ứng với Ổ đĩa cứng).

Kiến trúc của Oracle Database

 

Cũng giống như máy tính, để Oracle Database có thể hoạt động được, chúng ta cần phải có 3 thành phần này. Ở bài viết này, tôi sẽ chỉ nói tổng quan vai trò của từng kiến trúc. Mỗi kiến trúc lại có những thành phần con với những chức năng riêng biệt, chúng ta sẽ tiếp tục tìm hiểu ở những bài sau.


   Vai trò của các kiến trúc trong Oracle Database

   Ví dụ

Tôi lấy một ví dụ thế này cho bạn dễ hình dung:

 

Oracle Database là một nơi để quản lý dữ liệu, nhằm phục vụ cho nhiều người cùng truy cập khai thác. Như vậy, có thể so sánh Oracle Database với 1 nhà hàng phục vụ từ khách bình dân đến VIP.

 

Một nhà hàng để phục vụ được cần có những gì?

   Nhân viên phục vụ, đầu bếp, vệ sinh,… gọi chung là nhân viên.

   Khu lễ tân, bàn ăn, nhà vệ sinh,… gọi chung là khu phục vụ khách.

   Khu lưu trữ thực phẩm.

Lại một lần nữa, chúng ta lại nhận thấy có sự tương đồng kỳ lạ: 

 

   Kiến trúc Process

Kiến trúc Process trong Oracle Database có nhiệm vụ xử lý các yêu cầu từ người dùng (cần lấy dữ liệu nọ, tạo dữ liệu kia, …). Ngoài ra, nó còn trách nhiệm xử lý các công việc nội bộ (dọn dẹp các dữ liệu tạm, gather statistics,…). Nó cũng giống như các nhân viên trong nhà hàng vậy.

Đọc thêm  Kiến trúc Process trong Oracle Database - phần 1

 

   Kiến trúc Memory

Kiến trúc Memory trong Oracle Database, thì lại giống như khu phục vụ khách trong nhà hàng. Khi người dùng database (user) gửi request nào đó, dữ liệu sẽ được đẩy lên Memory để sẵn sàng phục vụ cho người dùng. Ở những bài viết sau của tôi, bạn sẽ còn biết: Trong Memory có cả khu vực sử dụng chung và những khu vực riêng tư cho từng user.

Đọc thêm  Kiến trúc Memory Oracle Database - SGA và PGA

 

   Kiến trúc Storage

Cuối cùng là kiến trúc Storage (lưu trữ) trong Oracle Database, giống như khu lưu trữ thực phẩm vậy. Các dữ liệu ở dạng thô sẽ được lưu trữ tại đây. Cũng giống như thực phẩm thô, chưa qua chế biến ở trong khu lưu trữ thực phẩm của nhà hàng.

 

Như vậy, các bạn đã biết tổng quan vai trò của 3 kiến trúc thành phần của Oracle Database. Tiếp theo chúng ta cần phải nắm được 1 khái niệm rất quan trọng trong Oracle Database. Đó là Database Instance.


   Database Instance là gì?

   Giới thiệu

 

Khi đọc các tài liệu của Oracle hoặc trao đổi công việc với 1 DBA, bạn có thể rất hay gặp thuật ngữ này.

Kiểu như:

   Instance hôm vừa rồi vừa bị shutdown!

   Bật lại giúp tôi cái instance với!

   Giải thích

 

Từ “Database Instance” hay viết tắt là “instance” dịch nôm ra Tiếng Việt có nghĩa là “thể hiện“. Bạn có thể hiểu 1 cách đơn giản: Instance là một thứ giúp “thể hiện” dữ liệu ra cho người dùng.

 

Cụ thể hơn nữa, Instance chính là 2 thành phần: kiến trúc Process và kiến trúc Memory gộp lại với nhau. Như các bạn đã đọc ở bên trên, 2 kiến trúc này có nhiệm vụ xử lý các yêu cầu và phục vụ cho user.

Instance là gì

 

User không làm việc trực tiếp với dữ liệu được, do dữ liệu được lưu trữ dưới ổ đĩa cứng dưới dạng các bit nhị phân, gần như vô nghĩa với con người. Cũng giống như các thực khách. Khi họ vào nhà hàng thì không thể vào kho thực phẩm, tự chế biến món ăn và ngồi ăn được. Họ phải cần đến các nhân viên phục vụ, đầu bếp rồi khu bàn ghế ăn uống…

 

Instance giống như 1 phiên dịch viên giúp cho user có thể làm việc được với dữ liệu được lưu trữ trong kiến trúc Storage.

 

Nếu bạn muốn đơn giản hơn nữa, thì có thể nói thế này: Instance giống như cái CPU và cái RAM trong máy tính. Phải có CPU + RAM thì mới đọc được dữ liệu từ ổ cứng lên chứ.

 

Như vậy, tôi đã giải thích cho các bạn kiến trúc tổng quan của Oracle Database. Bài viết này dừng lại ở đây được rồi.

 

Nếu bạn cần thêm tài liệu tham khảo, bạn nên tìm đọc các tài liệu do hãng Oracle cung cấp. Hàng của Oracle cực kỳ chi tiết và đầy đủ.

https://docs.oracle.com/en/database/

   Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.

Nguồn: https://dangxuanduy.com/

Xin cho tôi được biết, bạn cảm thấy bài viết này như thế nào? Ý kiến của bạn sẽ giúp tôi nâng cao chất lượng bài viết của mình.

    Hãy chia sẻ bài viết này nếu bạn thấy có ích nhé
    5 1 vote
    Article Rating
    Subscribe
    Notify of
    guest
    0 Comments
    Inline Feedbacks
    View all comments