Mục lục
1. 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é.
2. Kiến trúc tổng quan của Oracle Database
1. 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)
2. 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.
3. Vai trò của các kiến trúc trong Oracle Database
1. 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ạ:
2. 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.
2. 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.
3. 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.
4. Database Instance là gì?
1. 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!
2. 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…
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/
Các bài viết tiếp theo:
Nguồn: https://dangxuanduy.com/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.
KHOÁ DÀNH CHO NGƯỜI MỚI
KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)
CÁC KHOÁ NÂNG CAO:
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD
CÁC KHOÁ COMBO:
COMBO 1: ADMIN 1 + MULTITENANT 12c
COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD
LỊCH HỌC:
Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE
ĐĂNG KÝ:
https://forms.gle/MtCAoRQFenP886y79
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é.
Thật may mắn cho mình vì được biết tới trang web này, những bài mà Duy viết thực sự quá hay và chất lượn vậy mà không thấy ai comment gì. Do công việc là giảng viên ngành an toàn thông tin, mình cũng có dạy môn Database Security, các bài viết của Duy bổ sung và giúp mình khá nhiều trong công việc giảng dạy và truyền kiến thức cho sinh viên. Cảm ơn Duy, chúc Duy nhiều sức khỏe và thành công.
Những lời động viện của bác khiến em rất vui, cảm ơn bác 😀