3.1.1.1. Giới thiệu
Hệ quản trị cơ sở dữ liệu là một hệ thống phần mềm, chương trình được sử dụng
để lưu trữ và quản lý dữ liệu cần được đảm bảo các tính chất cấu trúc trong cơ sở dữ liệụ Hệ quản trị cơ sở dữ liệu còn cung cấp khả năng đọc, chỉnh sửa, thêm hoặc xóa dữ liệu trên cơ sở dữ liệu một cách dễ dàng. Ngoài chức năng quản lý dữ liệu ra thì hệ quản trị cơ sở dữ liệu còn cung cấp khả năng quản lý, kiểm soát quyền truy cập đọc/ghi của người dùng.
Một số đặc điểm của hệ quản trị cơ sở dữ liệu:
- Cung cấp một số tính năng bảo mật và loại bỏ dư thừạ
- Ngăn cách giữa ứng dụng sử dụng dữ liệu và nơi lưu trữ dữ liệụ - Chia sẽ dữ liệu và xử lý giao dịch giữa nhiều người dùng.
- Cho phép các thực thể và quan hệ tạo thành bảng.
- Đảm bảo tính chất ACID cho CSDL (nguyên tử, nhất quán, tách rời, bền bỉ). - Môi trường truy cập cho nhiều người dùng và xử lý dữ liệu song song. Hiện tại, công ty cổ phần chứng khoán FPT có sử dụng nhiều hệ quản trị cơ sở dữ liệu như Microsoft SQL, MySQL và quan trọng nhất là cơ sở dữ liệu Oracle cho hệ thống giao dịch của công tỵ
Hệ quản trị cơ sở dữ liệu Oracle là một sản phẩm từ tập đoàn Oracle, nó được phát triển bởi Lawrence Ellison từ năm 1977 và hiện tại đang là phần mềm quản trị cơ sở dữ liệu quan hệ được sử dụng nhiều nhất (theo như https://db- engines.com/en/ranking). Hệ quản trị CSDL Oracle hỗ trợ mọi loại mô hình dữ liệu và có nhiều các phiên bản với các tùy chọn tính năng khác nhau giúp cho Oracle có thể phù hợp với nhiều loại hình doanh nghiệp từ nhỏ đến rất lớn, tùy vào nhu cầu mà
các tổ chức này chọn phiên bản phù hợp với mình. Các sản phẩm của Oracle có độ an toàn, khả năng mở rộng cao cùng với hiệu suất tốt so với các phần mềm cơ sở dữ liệu trên thị trường.
Oracle là một hệ quản trị cơ sỏ dữ liệu đa mô hình, nó được thiết kế chủ yếu cho
tính nhu cầu toán lưới và xây dựng kho dữ liệụ Oracle là một trong những lựa chọn đầu tiên cho các doanh nghiệp lớn vì hiệu quả chi phí và khả năng quản lý dữ liệụ Oracle sử dụng SQL là câu lệnh truy vấn, tương tác với các dữ liệu trong cơ sở dữ liệụ
Hiện tại Oracle chia làm 5 phiên bản như sau:
- Standard Edition One: phù hợp với hệ thống chỉ có một máy chủ hoặc các ứng
dụng cho các nhánh nghiệp vụ với các tính năng hạn chế.
- Standard Edition: có mọi tính năng của phiên bản Standard Edition One, hỗ trợ các hệ thống lớn hơn và Oracle Real Application Clustering.
- Enterprise Edition: là phiên bản có nhiều tính năng nhất, hỗ trợ tốt cho bảo mật, hiệu suất, khả năng mở rộng và tính sẵn sàng. Phù hợp với các ứng dụng lớn, cực kỳ quan trọng và cần thiết cho xử lý giao dịch trực tuyến.
- Express Edition: miễn phí sử dụng, dễ dàng tải, cài đặt và triển khaị Có các tính năng cơ bản nhất.
- Personal Edition: có cùng các tính năng với phiên bản Enterprise tuy nhiên không hỗ trợ Oracle Real Application Clustering.
Khóa luận tốt nghiệp
3.1.1.2. Kiến trúc hệ quản trị cơ sở dữ liệu Oracle
Hình 3.1. Kiến trúc hệ quản trị cơ sở dữ liệu Oracle
Oracle có 3 kiến trúc cơ bản gồm: kiến trúc bộ nhớ, kiến trúc tiến trình và kiến trúc lưu trữ. Một hệ thống cơ sở dữ liệu Oracle sẽ bao gồm phần cơ sở dữ liệu (kiến trúc lưu trữ) và thực thể cơ sở dữ liệu (kiến trúc bộ nhớ và kiến trúc tiến trình). Một cơ sở dữ liệu Oracle sẽ có cả kiến trúc vật lý và kiến trúc logic, vì hai kiến trúc này tách biệt nhau nên việc quản lý dữ liệu vật lý sẽ không ảnh hướng đến việc truy cập dữ liệu logic.
Thực thể cơ sở dữ liệu bao gồm kiến trúc bộ nhớ và các tiến trình nền gắn liền với thực thể đó. Mỗi khi một thực thể được khởi chạy, một vùng nhớ chia sẻ - System
Global Area (SGA) được cấp và các tiến trình nền được bắt đầụ Sau đó thì thực thể được gắn với một cơ sở dữ liệu vật lý, cơ sở dữ liệu khi đó sẽ sẵn sàng để mở thực hiện truy xuất, thay đổi dữ liệu
Hình 3.2. Kiến trúc bộ nhớ của Oracle
Oracle tạo và sử dụng kiến trúc bộ nhớ cho nhiều mục đích, ví dụ như để để lưu
trữ câu lệnh của phần mềm, các dữ liệu được chia sẽ giữa những người dùng, dữ liệu riêng của từng người dùng.
Có 2 kiến trúc bộ nhớ cơ bản của một thực thể cơ sở dữ liệu như sau:
+ System Global Area (SGA): tập hợp nhiều các thành phần bộ nhớ, chứa dữ
liệu và các thông tin điều khiển cho một thực thể cơ sở dữ liệụ Vùng nhớ SGA này được chia sẽ giữa tất cả các tiến trình.
+ Program Global Area (PGA): vùng nhớ chứa dữ liệu và thông tin điều khiển của các tiến trình. PGA sẽ không được chia sẻ, chỉ dùng cho duy nhất
một tiến trình và được khởi tạo khi tiến trình đó bắt đầụ
- Kiến trúc tiến trình: các tiến trình trong một hệ thống cơ sở dữ liệu Oracle có thể được chia thành 3 nhóm lớn.
Khóa luận tốt nghiệp
Hình 3.3. Kiến trúc tiến trình của Oracle
+ User process: là tiến trình thực thi câu các ứng dụng của người dùng. + Oracle Database process: là các tiến trình hệ thống, nó được chia nhỏ hơn
thành server process và background process. Server process được Oracle tạo ra để xử lý các yêu cầu của user process, nó làm các công việc như dịch
câu lệnh, đọc dữ liệu từ các tiệp tin, trả ra kết quả của câu lệnh,... Background process để thực hiện các công việc như ghi dữ liệu vào tệp tin,
ghi log, giám sát các tiến trình,... - Kiến trúc lưu trữ:
+ Control file - tệp tin điều khiển: mỗi một cơ sở dữ liệu có một tệp tin điều khiển chứa dữ liệu về chính cơ sở dữ liệu đó (đường dẫn các tệp tin, tên
sở dữ liệu, thiết lập bộ nhớ,...), có thể có nhiều bản sao của tệp tin điều khiển này để dự phòng. Đây là một tệp tin cực kỳ quan trọng, thiếu nó thì cơ sở dữ liệu sẽ không thể vận hành.
+ Data file - tệp tin dữ liệu: đây là nơi chứa dữ liệu thực tế, cũng như chứa siêu dữ liệu, từ điển dữ liệụ
+ Redo Log file - tệp tin log: ghi lại các thay đổi thực hiện lên cơ sở dữ liệu (thêm, sửa, xóa,...), trong trường hợp có sự cố thì có thể sử dụng để khôi phục lại dữ liệụ
+ Cơ sở dữ liệu Oracle có một cấu trúc vật lý và logic. Về mặt logic thì CSDL
được chia làm hai hoặc nhiều hơn tablespace, mỗi một tablespace thì gồm một hoặc nhiều data filẹ Theo thứ tự bậc từ lớn đến nhỏ là tablespace, segment, extent và cuối cùng là data block.
3.1.1.3. Ưu điểm vượt trội của Oracle
Bắt đầu từ phiên bản 10g, Oracle dẫn đầu ngành với tư cách là hệ quản trị CSDL
đầu tiên hỗ trợ điện toán lưới - grid computing. Điện toán lưới giúp CSDL chống chịu
tốt hơn với nguy cơ gián đoạn dịch vụ, một điểm trong lưới bị lỗi thì vẫn còn ít nhất một điểm khác để tiếp tục xử lý. Oracle Real Application Clustering - Oracle RAC tận dụng điện toán lưới để giúp cho các máy chủ hoạt động theo cơ chế cụm. Cơ chế này đó là nhiều máy chủ sẽ có các tiến trình và bộ nhớ để xử lý các kết nối, còn tệp tin dữ liệu vật lý sẽ được lưu trên một vùng nhớ chia sẻ để các máy chủ trên có thể cùng truy cập. Các máy chủ này sẽ hoạt động theo cơ chế cân bằng tải và dự phòng lẫn nhaụ Cơ chế cụm còn cho phép thêm bớt các máy chủ thành viên một cách dễ dàng mà không phải tạm ngừng hệ thống, điều này giúp cho tổ chức có thể điều chỉnh
tài nguyên nếu như nhu cầu sử dụng thay đổị
Oracle cung cấp các tính năng quản trị giao dịch và chống tranh giành tài nguyên
toàn diện nên nó phù hợp với các hệ thống yêu cầu xử lý giao dịch trực tuyền với số lượng lớn các kết nối cùng lúc và thời gian xử lý ngắn. Hệ quản trị cơ sở dữ liệu Oracle còn có các bộ công cụ sao lưu và khôi phục mạnh mẽ, các công cụ giám sát trạng thái của CSDL hay các dịch vụ điện toán đám mây để tiên tiến.
Khóa luận tốt nghiệp
Vì những tính năng này mà CSDL Oracle rất thích hợp với nhu cầu xử lý giao dịch cũng như các yêu cầu về phương diện an toàn bảo mật của Công ty Cổ phần Chứng khoán FPT. Hiện tại công ty đang sử dụng hệ quản trị cơ sở dữ liệu Oracle phiên bản 11gR2 cho hoạt động giao dịch của mình.