Tải bản đầy đủ (.pdf) (38 trang)

Tìm hiểu cơ sở dữ liệu enterprisedb

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5 MB, 38 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Vũ Thị Dịu
Đỗ Thị Thu Hồi

TÌM HIỂU CƠ SỞ DỮ LIỆU ENTERPRISEDB

BÁO CÁO BÀI TẬP LỚN MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Ngành: Công Nghệ Thông Tin

Hà Nội – 2020

1


Mục Lục
I.

Đặc điểm của EnterpriseDB.................................................................................4
1. Các đặc trưng cơ bản...........................................................................................4
1.1.

PostgreSQL...................................................................................................4

1.2.

Bảo mật......................................................................................................... 7

1.3.


Công cụ hỗ trợ...............................................................................................8

1.4.

Hiệu năng......................................................................................................8

2. Cài đặt, minh họa sử dụng...................................................................................9
2.1.

Cài đặt EnterpriseDB....................................................................................9

2.2.

Minh họa sử dụng bằng pgAdmin...............................................................16

3. So sánh đánh giá với 3 HQT CSDL khác tiêu biểu cùng dịng..........................35
II.

Phân tích thiết kế hệ thống..............................................................................36

1. Tổng quan hệ thống...........................................................................................36
2. Các công nghệ dự kiến sử dụng.........................................................................37
3. Các chức năng dự kiến.......................................................................................37
4. Lược đồ CSDL...................................................................................................38
5. Mô tả các module chính (sơ đồ khối, định dạng dữ liệu vào, ra, giải pháp dự
kiến)......................................................................................................................... 38

2



TĨM TẮT
Tóm tắt: EnterpriseDB (EDB) là một hệ cơ sở dữ liệu mã nguồn mở, được phát
triển dựa trên nền tảng là hệ cơ sở dữ liệu PostgreSQL. EDB được nghiên cứu và phát
triển bởi công ty EDB, được ra mắt lần đầu vào năm 2005. Sau nhiều lần cải tiến, đến
nay EDB được biết đến với cái tên chính thức là EDB Postgres Advanced Server.
Từ khóa: EDB, EDB Postgres Advanced Server,…

3


I. Đặc điểm của EnterpriseDB
1. Các đặc trưng cơ bản
 Dựa trên hệ quản trị mã nguồn mở PostgreSQL.
 Tăng hiệu suất, bảo mật và khả năng tương thích cơ sở dữ liệu đối
với Oracle.
 Bao gồm các tính năng bổ sung dành cho phát triển và quản trị hệ cơ
sở dữ liệu.
 Hỗ trợ bộ công cụ quản lý tích hợp và phân tán có thể triển khai trên
nhiều nền tảng truyền thống cũng như trên nền tảng đám mây.

1.1.

PostgreSQL
1.1.1. Giới thiệu chung
PostgreSQL là một hệ thống cơ sở dữ liệu quan hệ đối
tượng mã nguồn mở mạnh mẽ, sử dụng và mở rộng ngôn ngữ
SQL kết hợp với nhiều tính năng giúp lưu trữ và chia tỷ lệ một
cách an tồn các khối lượng cơng việc dữ liệu phức tạp nhất.
Nguồn gốc của PostgreSQL có từ năm 1986 như một
phần của dự án POSTGRES tại Đại học California ở Berkeley

và đã có hơn 30 năm phát triển tích cực trên nền tảng cốt lõi.
PostgreSQL đã tạo được danh tiếng mạnh mẽ nhờ kiến
trúc đã được chứng minh, độ tin cậy, tính tồn vẹn của dữ
liệu, bộ tính năng mạnh mẽ, khả năng mở rộng và sự cống
hiến của cộng đồng nguồn mở đằng sau phần mềm để liên tục
cung cấp các giải pháp hiệu quả và sáng tạo. PostgreSQL chạy
trên tất cả các hệ điều hành chính, tuân thủ ACID và có các
tiện ích bổ sung mạnh mẽ như bộ mở rộng cơ sở dữ liệu
không gian địa lý PostGIS phổ biến. Khơng có gì ngạc nhiên

4


khi PostgreSQL đã trở thành cơ sở dữ liệu quan hệ nguồn mở
được nhiều người và tổ chức lựa chọn.
1.1.2. Tính năng
PostgreSQL đi kèm với nhiều tính năng nhằm giúp các nhà
phát triển xây dựng ứng dụng, quản trị để bảo vệ tính tồn vẹn
của cơ sở dữ liệu và xây dựng môi trường chịu lỗi, đồng thời
giúp người sử dụng quản lý dữ liệu của mình bất kể tập dữ liệu
lớn hay nhỏ.
Ngồi miễn phí và mã nguồn mở, PostgreSQL cịn có
khả năng mở rộng cao. Ví dụ: bạn có thể xác định kiểu dữ liệu
của riêng mình, xây dựng các chức năng tùy chỉnh, thậm chí
viết mã từ các ngơn ngữ lập trình khác nhau mà khơng cần biên
dịch lại cơ sở dữ liệu của bạn.
PostgreSQL cố gắng tuân thủ tiêu chuẩn SQL sao cho
sự tuân thủ đó khơng mâu thuẫn với các tính năng truyền thống
hoặc có thể dẫn đến các quyết định kiến trúc kém. Nhiều tính
năng theo yêu cầu của tiêu chuẩn SQL được hỗ trợ, mặc dù đơi

khi có cú pháp hoặc chức năng hơi khác nhau.
Dưới đây là danh sách các tính năng được hỗ trợ
trong PostgreSQL:
 Kiểu dữ liệu:
o Nguyên thủy: Số nguyên, số thực, chuỗi, boolean,

o Cấu trúc: Ngày/giờ, mảng, phạm vi, UUID, …
o Tài liệu: JSON, JSONB, XML, key-value, ...
o Hình học: điểm, đường thẳng, hình trịn, đa giác, ...
o Tùy chỉnh: tự định nghĩa với câu lệnh “CREATE
TYPE”
 Toàn vẹn dữ liệu:
o Các ràng buộc về khóa chính, khóa ngoại, ràng
buộc duy nhất, ràng buộc not null, ... đảm bảo chỉ
những dữ liệu hợp lệ mới được lưu trữ.
o PostgreSQL hỗ trợ đầy đủ cho các thuộc tính ACID
và đảm bảo phân tách giao dịch hiệu quả bằng cách
sử dụng hệ thống kiểm soát phiên bản đồng thời
(MVCC). Phương pháp này cho phép tránh việc
các luồng dữ liệu chặn nhau trong mọi trường hợp.
Đọc giao dịch không bao giờ chặn những người
đang viết và viết không bao giờ chặc việc đọc.
 Đa luồng, hiệu suất:

5


o Cấu hình: sử dụng các tham số GUC (Grand Unified
Configuration Settings) để điều chỉnh hiệu suất.
o Sử dụng truy vấn song song: PostgreSQL tận dụng

lợi thế của kiến trúc của bộ xử lý đa lõi hiện đại.
Hiệu suất của nó phát triển gần như tuyến tính khi số
lượng lõi tăng lên. Bắt đầu từ phiên bản 9.6,
PostgreSQL hỗ trợ đồng thời xử lí dữ liệu. Phiên bản
10 cho phép đọc song song (bao gồm quét chỉ mục),
nối và tổng hợp dữ liệu. Phiên bản 11 hỗ trợ đầy đủ
cho nối băm song song. Phiên bản 12 cung cấp khả
năng song song hóa truy vấn ở mức cách ly có thể
tuần tự hóa, biên dịch JIT các truy vấn có thể tăng
tốc độ hoạt động bằng cách sử dụng tốt hơn tài
nguyên phần cứng và nhiều tối ưu hóa khác.
 Độ tin cậy, khôi phục sau lỗi:
o Lưu trữ, quản lý các phiên bản thơng qua hệ thống
kiểm sốt phiên bản đồng thời, từ đó nâng cao khả
năng khơi phục lại dữ liệu khi xảy ra lỗi.
o Cung cấp đa dạng các phương thức sao chép: đồng
bộ, không đồng bộ và logic.
o Lưu trữ nhật ký thay đổi để dễ dàng kiểm soát các
phiên bản hơn.
o Quản lý dữ liệu lưu trữ thông qua tablespace, giúp
việc truy xuất dữ liệu được thực hiện dễ dàng và
nhanh chóng.
 Bảo mật:
PostgreSQL hỗ trợ các kết nối SSL an toàn và cung cấp
các phương pháp xác thực khác nhau, chẳng hạn như xác
thực mật khẩu (bao gồm SCRAM), chứng chỉ ứng dụng
khách và dịch vụ xác thực (LDAP, RADIUS, PAM,
Kerberos).
Để quản lý người dùng và kiểm soát truy cập cơ sở dữ liệu,
các tính năng sau được cung cấp:

o Tạo và quản lý người dùng mới và vai trị nhóm
o Kiểm sốt truy cập dựa trên vai trị và nhóm đối
với các đối tượng cơ sở dữ liệu
o Bảo mật cấp hàng và cấp cột
o Hỗ trợ SELinux thông qua chức năng SEPostgreSQL tích hợp sẵn.
 Các loại chỉ mục:

6


PostgreSQL cung cấp nhiều loại chỉ mục khác nhau. Ngoài
B-tree truyền thống, bạn có thể sử dụng nhiều phương pháp
truy cập khác.
o Băm: một loại chỉ mục dựa vào hàm băm. Không
giống với B-tree, các chỉ mục loại này chỉ có thể
kiểm tra bình đẳng, nhưng có thể chứng minh là
nhỏ gọn và hiệu quả hơn trong một số trường hợp.
o GiST: một cây tìm kiếm cân bằng tổng quát.
Phương thức truy cập này được sử dụng cho dữ liệu
không thể sắp xếp.
o SP-GiST: một cây không cân bằng tổng quát dựa
trên việc chia phạm vi tìm kiếm thành các phân
vùng lồng nhau không giao nhau.
o GIN: một chỉ số đảo ngược tổng quát, được sử dụng
cho hợp chất giá trị đa phần tử. Nó chủ yếu được áp
dụng trong tìm kiếm tồn văn bản để tìm tài liệu có
chứa từ được sử dụng trong truy vấn tìm kiếm.
o RUM: một cải tiến của phương pháp GIN để tìm
kiếm tồn văn bản. Có sẵn dưới dạng tiện ích mở
rộng, loại chỉ mục này có thể tăng tốc độ tìm kiếm

cụm từ và trả về kết quả được sắp xếp theo mức độ
liên quan.
o BRIN: một cấu trúc nhỏ gọn cung cấp sự cân bằng
giữa kích thước chỉ mục và hiệu quả tìm kiếm. Chỉ
mục như vậy rất hữu ích cho các bảng lớn.
o Bloom: một chỉ mục dựa trên bộ lọc Bloom. Có một
đại diện nhỏ gọn, chỉ mục này có thể nhanh chóng
lọc ra các bộ giá trị, nhưng yêu cầu kiểm tra lại các
bộ còn lại.
 Khả năng mở rộng:
Một trong những lợi thế chính của kiến trúc
PostgreSQL là khả năng mở rộng. Nếu không thay đổi mã
hệ thống cốt lõi, người dùng có thể thêm các tính năng sau:
o Định nghĩa kiểu dữ liệu mới
o Các chức năng và toán tử để hỗ trợ kiểu dữ liệu
mới
o Các phương pháp truy cập bảng và chỉ mục
o Ngôn ngữ lập trình máy chủ: PL/ PGSQL, Perl,
Python, ...

7


o Trình bao bọc dữ liệu ngồi: kết nối với cơ sở dữu
liệu bên ngoài bằng giao diện SQL/MED tiêu
chuẩn
( Nguồn tham khảo: /> )
1.2.

Bảo mật

EDB tránh việc hoàn toàn dựa vào nhà phát triển hoặc các tầng
ứng dụng khách để thực thi các chính sách bảo mật, hỗ trợ tuân
thủ các tiêu chuẩn GDPR, PCI và HIPAA.
Chính sách bảo mật của EDB được đảm bảo thơng qua:
 Chính sách quản lý tài khoản, mật khẩu người dùng.
 Kiểm tra thẻ phiên sử dụng.
 Bảo mật mức hàng.
 Bảo vệ tấn công trực tiếp từ truy vấn SQL.
 Bảo vệ mã ở phía máy chủ.

1.3.

Cơng cụ hỗ trợ
Hệ thống các cơng cụ mà EDB hỗ trợ để tích ứng với môi trường
doanh nghiệp gọi là EDB Postgres Enterprise Manager (PEM).
PEM cung cấp một số tính năng quản lý doanh nghiệp bổ sung sẽ
hỗ trợ bạn quản lý, phân tích, sắp xếp hợp lý và triển khai chức
năng của Postgres.
 PEM giám sát các máy chủ được quản lý, truy xuất thơng
tin mà PEM sau đó phân tích để tạo trang tổng quan hiển
thị thơng tin hữu ích và thống kê về máy chủ và cơ sở dữ
liệu.
 Trình quản lý nhật ký của PEM giúp bạn ghi lại nhật ký, và
giúp bạn phân tích nội dung tệp nhật ký một cách khéo léo.
 Chun gia Postgres phân tích cấu hình máy chủ và đề xuất
các thay đổi cải thiện hiệu suất, bảo mật hoặc độ tin cậy.
 Trình quản lý năng lực sử dụng dữ liệu thống kê để phân
tích mức sử dụng trước đây và ngoại suy các số liệu thống
kê sử dụng trong tương lai cho các đối tượng được giám
sát.

 PEM hỗ trợ sửa đổi cảnh báo do hệ thống xác định hoặc tạo
cảnh báo tùy chỉnh thơng báo cho quản trị viên hoặc nhóm
có trách nhiệm trong một khoảng thời gian cụ thể.
 PEM có thể lên lịch công việc trên các máy chủ được giám
sát, và gửi thơng báo về qua email cho nhóm đối tượng
được giao công việc

8


 Trình quản lý chuyển đổi dự phịng được hỗ trợ trong
trường hợp cơ sở dữ liệu xảy ra sự cố.
1.4. Hiệu năng
EDB cho phép ưu tiên luồng công việc chẳng hạn như phân vùng
trong quá trình xử lý hàng loạt mà không gây nguy hiểm cho khả
năng phản hồi giúp tiết kiệm thời gian khắc phục sự cố, giám sát
bảo mật và duy trì
 Điều tiết CPU và I/O cấp quy trình.
 Phân vùng dữ liệu nhanh hơn: ghi nhanh hơn 400 lần, thực
hiện truy vấn nhanh hơn 76 lần.
 Hơn 55 dạng xem danh mục mở rộng để lập hồ sơ tất cả
các đối tượng và quá trình xử lý xảy ra trong cơ sở dữ liệu.
 Trình tải dữ liệu hàng loạt: nhanh hơn 2 lần.
( Nguồn tham khảo: )
2. Cài đặt, minh họa sử dụng
2.1. Cài đặt EnterpriseDB
 Click để tới home
download của EDB.

 Chọn vào phần download Databases: EDB Postgres Advanced Server. Tại đây sẽ

hiện ra các version và hệ điều hành tương thích với từng máy.

9


 Click vào file edb-as12-server-12.4.5-1-windows-x64.exe vừa tải xuống để cài
đặt. Lưu ý hệ thống yêu cầu quyền truy cập của administrator. Dưới đây là màn
hình bắt đầu cài đặt của hệ thống. Click nút Next.

 Đọc các yêu cầu của hệ thống, và click accept -> Next

10


 Chọn thư mục nơi mà EDB Postgres Advanced Server sẽ được cài đặt -> Next

 Chọn những component hỗ trợ mà bạn muốn sử dụng. Bỏ chọn nếu bạn khơng
muốn cài đặt nó. Sau khi chọn xong click button Next để tiếp tục.

11


 Chọn thư mục nơi sẽ lưu trữ data directory và write-ahead long(WAL) directory.
Click button Next.

 Chọn cấu hình mong muốn. EDB có thể được cấu hình bởi một trong 2 ‘Dialects’
là Oracle và Postgres. Click phím Next để tiếp tục

12



 Cài đặt password. Click button Next.

 Sau đó cài đặt port number và locale.

 Chọn loại máy chủ để xác định lượng tài nguyên hệ thống có thể được sử dụng.
Click phím Next để tiếp tục.
13


 Chọn loại công việc mà server được sử dụng. Sau đó click phím Next.

14


 Sau đó hệ thống sẽ hiện lên những thiết lập mà người dùng vừa chọn. Thiết lập
hiện đã sẵn sàng để bắt đầu cài đặt EDB trên máy tính. Click phím Next để bắt
đầu cài đặt.

 Hệ thống bắt đầu trong quá trình cài đặt EDB.

15


 Lúc này, trong máy sẽ có một thư mục có chứa các chương trình mà người dùng
vừa cài đặt. Nó có thể bao gồm : Documentation-12, EDB-PSQL-12, Edit
pg_hba.conf-12, Edit pg-ident-conf-12, Edit postgresql.conf-12, pgAdmin 4 ,
Reload Configuration, StackBuilder Plus.

 StackBuilder Plus: Phần mềm sẽ giúp người dùng cài đặt và cập nhật phần mềm

PostgreSQL và EnterpriseDB Avanced Server.
2.2. Minh họa sử dụng bằng pgAdmin
 Click vào biểu tượng

 Nhập password vừa cài đặt để bắt đầu sử dụng hệ thống.

16


 Dưới đây là màn hình bắt đầu của pgAdmin.

 Nhập password cho user ‘postgres’ để kết nối với server ‘EDB
Postgres Advanced Server 12’.

 Dưới đây là màn hình quản lý của hệ thống, databases,
login/group roles, resource Groups,…


Giới thiệu về Query Tool.
o Bảng điều khiển trình soạn thảo SQL là một khơng gian
làm việc, nơi mà người dùng có thể cung cấp một truy vấn
theo cách thủ công, sao chép một truy vấn từ một nguồn

17


khác hoặc đọc một truy vấn từ một tệp. Trình soạn thảo
SQL có tính năn tơ màu cú pháp và autocomplete.
o Để sử dụng tính năng autoComplete, hãy bắt đầu nhập câu
truy vấn, khi muốn trình chỉnh sửa đề xuất tên đối tượng

hoặc lệnh có thể có tiếp theo trong truy vấn, ấn tổ hợp
phím Ctrl+Space.

o Sau khi nhập một truy vấn, hãy chọn biểu tượng
Excute/Refresh từ thanh công cụ. Toàn bộ nội dung sẽ
được gửi đến server để thực thi.
o Bảng được chia làm 3 phần rõ rệt:
 Phía trên là thanh cơng cụ, hỗ trợ trong q trình
chạy, thực thi, lưu trữ,… chương trình.
 Ở giữa bao gồm Query Editor (viết câu lệnh truy
vấn) và Query History (Xem lại lịch sử truy vấn)
 Output bao gồm các Data Output (Dữ liệu đầu ra),
Explain (), Messages(), Notifications( Thông báo)

18


 Create New User
 Mọi cơ sở dữ liệu được liên kết với một người dùng hoặc một
nhóm người dùng cụ thể
 Click phải chuột vào login/group roles -> chọn create ->
click on login/group roles… để bắt đầu tạo new user.

 Create dialog sẽ xuất hiện trên màn hình hệ thống: Name,
Comments setup tên user và comments. Giả sử đặt tên new
user là ‘admin_user’.

19



 Click vào tab Definition để thiết lập cho new user. Nhập
password cho user.

 Để set tất cả các quyền cho ‘admin_user’ chọn các đặc
quyền trong tab Privileges là Yes. Click button Save để
hồn tất q trình tạo user mới.

 New user ‘admin_user’ sẽ được hiển thị trong phần
Login/Group Roles của chương trình.
20




Create new database and create new table
Cách 1: Sử dụng template có sẵn trong pgAdmin
1. Click phải chuột vào Databases -> Create-> Database… sau
đó sẽ xuất hiện danh sách các tab, các tùy chọn cho new
database.

21


2. Điền các thông tin tương ứng như: Database(tên database) ,
Owner(User) và Comment. Giả sử tạo new database có tên
‘library’ và có owner là ‘admin_user’.

3. Click button Save để kết thúc quá trình tạo database. New
Database sẽ được hiển thị trong Databases section


Cách 2: Sử dụng các câu lệnh để create new database
22


1. Click vào biểu tượng trên màn hình

2. Viết câu truy vấn ‘ CREATE DATABASE employees ‘
trong tab Query Editor.
3. Click phím ‘run’.

4. New database đã được cài đặt thành cơng.

 CREATE TABLE

Giả sử , database ‘library’ có 2 bảng ‘book_type’ và ‘book_list’.
o Table ‘book_type’có 3 trường là id, category, type. id có
kiểu numeric và increment automatically, category và type
có kiểu string. Primary key là id và tất cả các trường đều là
bắt buộc (not null). Ví dụ:
id
category
type
23


1
2
3

CSE

Programing
MBBS
Anatomy
BBA
Finance
o Table ‘book_list’ có 5 trường là id, book_name,
author_name, edition, type_id. id, book_name,
author_name và type_id là bắt buộc(not null) và edition thì
có thể null. id là primary key và type_id là foreign key của
bảng. Ví dụ:
id
book_name author_name edition
type_id
E001 Java the
Herbert
7th
1
complete
Schildt
reference
M001 Anatomy
Thomas
3rd
2
W.Myers
Cách 1: Sử dụng template có sẵn trong pgAdmin
1. Click on ‘Schemas’ trong ‘library’ database. Trong phần
mở rộng của phần ‘public’ tìm danh mục ‘Tables’

2. Chuột phải vào mục ‘Tables’ -> ‘Create’ -> ‘Tables…’

options.


3. Sau đó sẽ xuất hiện một hộp thoại để tạo một bảng mới.
Nhập tên của bảng vào ô ‘Name’,…. Giải sử tạo bảng có
tên ‘book_type’

4. Chọn vào tab ‘Columns’ và click vào button ’+’ để cài đặt
các trường cho bảng.

25


×