Giới thiệu chung PostereSQL là một hệ thống cơ sở đữ 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ộ
Trang 1ĐẠI HỌC QUOC GIA HA NOI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Thị Dịu
Đỗ Thị Thu Hoài
TÌM HIẾU CƠ SỞ DỮ LIỆU ENTERPRISEDB
BAO CAO BAI TAP LON MON HE QUAN TRI CO SO DU LIEU
Ngành: Công Nghệ Thong Tin
Hà Nội — 2020
Trang 2Mục Lục
I Đặc điểm của EnterpriseDB - stTH HH TH 121122120 rye 4
1 Các đặc trưng cơ bản - 2 2 20111 11121 10111211111 1111111110111 11 11111111 11k Hy 4 1.1 PostereSQL Q nH nn HH HT SH TT H101 11111111 111kg ng 11 ng 1k6 4
3 So sánh đánh giá với 3 HQT CSDL khác tiêu biểu cùng dòng 35
IH Phân tích thiết kế hệ thống 2-5 S1 SE 1211211212121 17122 36
1 Tổng quan hệ thông - 5-52 21 E2E121521511211211211211111 12111 1 11 11a 36
4 Lược đồ CSDL 2252222111 2211121112111222112221122211021111 112112112 re 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ự
0 ốỐ.ổ.ổÃỐÃỐÂỐÂÔẦố Ô D ỐỀỀ Ẽ.Ẽ.Ẽ.Ẽ.Ẽ.Ẽ.Ẽ.Ẽ.Ẽ.Ẽ.ố.ố.ẼỀẽẼỀẽỀ 38
Trang 3TOM TAT
Tóm tat: EnterpriseDB (EDB) la mét hé co so dit ligu m4 nguén mở, được phát triển dựa trên nền tang là hệ cơ sở đữ 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 Postpres Advanced Server
Từ khóa: EDB, EDB Posteres Advanced Server,
Trang 4I Đặc điểm của EnterpriseDB
1 Các đặc trưng cơ bản
1.1
Dựa trên hệ quản trị mã nguồn mở PostpreSQL
Tăng hiệu suất, bảo mật và khả năng tương thích cơ sở đữ liệu đối voi 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ơ
1.1.1 Giới thiệu chung
PostereSQL là một hệ thống cơ sở đữ 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 toà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 PostpreSQL có từ năm 1986 như một
phần của dự án POSTGRES tai Dai hoc California 6 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 da tao được danh tiéng mạnh mẽ nhờ kiến trúc đã được chứng minh, độ tin cậy, tính toà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 tao PostgreSQL chay
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ở đữ liệu không gian địa lý PostGIS phô biến Không có gì ngạc nhiên
Trang 5khi PostgreSQL da tro 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ị dé bảo vệ tinh toan ven của cơ sở đữ 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ý đữ liệu của mình bắt kế tập dữ liệu
lớn hay nhỏ
Ngoài miễn phí và mã nguồn mở, PostereSQL còn có khả năng mở rộng cao Ví dụ: bạn có thể xác định kiêu đữ 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 c6 gang tuan thu tiêu chuân SQL sao cho
sự tuân thủ đó không mâu thuẫn với các tinh 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 duoc 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:
e© Kiểu dữ liệu:
o_ Nguyên thủy: Số nguyên, số thực, chuỗi, boolean,
Cấu trúc: Ngày/giờ, mảng, phạm vi, UUID, Tai ligu: JSON, JSONB, XML, key-value,
Hình học: điểm, đường thắng, hình tròn, da giac,
Tùy chỉnh: tự định nghĩa với câu lệnh “CREATE TYPE”
o PostgreSQL hỗ trợ đầy đủ cho các thuộc tính ACID
va dam bao phan tach giao dich hiệu qua bang cach
sử dụng hệ thống kiêm soát phiên bản đồng thời (MVCC) Phương pháp nay cho phép tránh việc các luồng dữ liệu chặn nhau trong mọi trường hợp Doc giao dịch không bao piờ chặn những người đang viết và viết không bao giờ chặc việc đọc
® Da luồng, hiệu suất:
Trang 6oO
oO
Cấu hình: sử dụng các tham s6 GUC (Grand Unified Configuration Settings) đề điều chỉnh hiệu suất
Sử dụng truy vấn song song: PostpreSQL 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í đữ 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ể tang tốc độ hoạt động bằng cách sử dụng tốt hon tai
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:
oO Lưu trữ, quản lý các phiên bản thông qua hệ thống
kiêm soát phiên bản đồng thời, từ đó nâng cao khả năng khôi phục lại đữ liệu khi xảy ra lỗi
Cung cấp đa dạng các phương thức sao chép: đồ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 SCR AM), 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:
©
©
Tạo và quản lý người dùng mới và vai trò nhóm Kiểm soát truy cập dựa trên vai trò và nhóm đối với các đối tượng cơ sở đữ liệu
Bảo mật cấp hàng và cấp cột
Hỗ trợ SELinux thông qua chức năng SE-
PostgreSQL tich hop san
Cac loai chi muc:
Trang 7PostgreSQL cung cap 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
oO 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 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
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 tim kiếm thành các phân
vùng lồng nhau không giao nhau
GIN: một chỉ số đảo ngược tông quát, được sử dụng
cho hop chat giá trị đa phan tử Nó chủ yếu được áp dụng trong tìm kiếm toà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 RUM: một cải tiến của phương pháp GIN để tìm kiếm toàn văn bản Có sẵn dưới dang 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
BRIN: một cấu trúc nhỏ gọn cung cấp sự cân bằng sIữa kích thước chỉ mục và hiệu qua tim kiếm Chỉ mục như vậy rất hữu ích cho các bảng lớn Bloom: một chỉ mục dựa trên bộ lọc Bloom Có một đại diện nhỏ gon, 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
® Kha nang mo rong:
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:
©
©
Định nghĩa kiểu dữ liệu mới
Các chức năng và toán tử đề hễ trợ kiểu dữ liệu mới
Các phương pháp truy cập bảng và chỉ mục Ngôn ngữ lập trình may chu: PL/ PGSQL, Perl, Python,
Trang 8©_ Trình bao bọc dữ liệu ngoà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: https://www.postpresql.ore/about
1.2
1.3
https://edu.postgrespro.ru/introbook_v6_en.pdf )
Bao mat
EDB tránh việc hoàn toàn dựa vào nha phat 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 chuan GDPR, PCI va HIPAA
Chính sách bảo mật của EDB được đảm bảo thông qua:
e_ 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
e - Bảo vệ tấn công trực tiếp từ truy van SQL
® - Bảo vệ mã ở phía máy chủ
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ố tinh 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 nang cua Postgres
e PEM giam sat cac may chu duge quan ly, truy xuất thông tin ma PEM sau d6 phan tich dé tao trang tong 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 ehi lại nhật ký, và giup ban phân tích nội dung tệp nhật ký một cách khéo léo
© Chuyén gia Postgres phan tich 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
e _ 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
e© 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ê e© PEM co 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 p1ao công việc
Trang 9e_ 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ố
e - Đ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, dé lap hé so tat ca các đối tượng và quá trình xử lý xảy ra trong cơ sở dữ liệu
© - Trinh tải đữ liệu hàng loạt: nhanh hon 2 lần
( Nguồn tham khảo: https://www.enterprisedb.com/edb-docs/p/edb-
postgres-advanced-server/12 )
2 Car dat, minh họa sử dụng
2.1 Cai dat EnterpriseDB
© Click https:/Awww.enterprisedb.com/software-downloads-postgres dé téi home download của EDB
Downloads
EDB Postgres Advanced Server Postgres Enterprise Manager
PostgreSQL Backup and Recovery Tool
* Chon vao phan 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
Trang 10* 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
Setup - EDB Postgres Advanced Server 12.4.5-1
S Welcome to the EDB Postgres Advanced Server Setup Wizard
in that case, the terms of the Full Use Software License Agreement will apply x
1 Scope of License Subject to the terms and conditions of this Agreement, EnterpriseDB
grants to Customer a non-exclusive, non-transferable right to install a single instance of
the Software on no more than five (5) Servers The Software may only be used solely
for internal evaluation purposes ("Authorized Use") during the time that Customer is
current in the payment of the applicable subscription fees or if no subscription fees are
due, then this license will remain in effect until this Agreement is terminated as set forth
in Section 9 Evaluation purposes do not include the right to use the Software for
production use, sublicensing, resale, training or distribution, including without limitation,
operation on a time sharing, software as a service or service bureau basis or distributing
the Software as part of an ASP, VAR, OEM, distributor or reseller arrangement "Server" ¥
@ 1 accept the agreernent
Do you accept this license?
oO I do not accept the agreement
Trang 11¢ Chon thư mục nơi mà EDB Postgres Advanced Server sẽ được cài đặt -> Next
q Setup
Please specify the directory where EDB Postgres Advanced Server will be installed
Installation Directory C:\Program Files\edb\as12 re
< Back Next > Cancel
¢ Chon nhtmg 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
Trang 12® Chọn thư mục nơi sẽ lưu trữ data directory và write-ahead lonp(WAL) directory Click button Next
st ® eps
Please select a directory under which to store your data
Data Directory C:\Program Files\edb\asi2\data | I)
Please select 2 directory under which to store your Write-Ahead Logs
Write-Ahead Log (WAL) Directory >rogram Files\edb\as12\data\pg_wal re
< Back Next > Cancel
¢ Chon cau hinh mong muốn EDB có thê được cấu hình bởi một trong 2 ‘Dialects’
la Oracle va Postgres Click phim Next dé tiép tuc
EDB Postgres Advanced Server can be configured in one of two “Dialects” - 1) Compatible with Oracle or 2)
Compatible with Postgres
If you select Compatible with Oracle, Advanced Server wail be configured with appropriate data type conversions,
time and date formats, Oracle-styled operstors, dictionary views and more This makes @ easier to migrate or write
new applications that are more compatible with the Oracle database
If you select Compatible with Postgres, Advanced Server will be configured with standard PostgeSQL data types,
time/date formats and operators
Advanced Server Dialect Compatible with Postgres v
Trang 13â Cai dat password Click button Next
Retype Password *+Ẳ+*đểểâỎẲâẲệsâsseesesses°eôẲ°ể
< Back Next > Cancel
 Sau do cai dat port number va locale
Select the locale to be used by the new database cluster
Locale [Default locale] v
Would you like to install sample tables and procedures?
Install sample tables and procedures
< Back Next > Cancel
 Chon loai may chu dộ xac dinh luong tài nguyờn hệ thống cú thể được sử dụng Click phớm Next đề tiệp tục
Trang 14Dynatune Dynamic Tuning: EDB Server Utilization
Please select the type of server to determine the amount of system resources that may be utilized:
O Development (e.g a developer's laptop)
© General Purpose (e.g a web or application server)
CO Dedicated (2 server running only Advanced Server)
Please select the type of workload this server will be used for:
© Transaction Processing (OLTP systems)
© General Purpose (OLTP and reporting workloads)
O Reporting (Complex queries or OLAP workloads)
VMware InstalBuilder
< Back Next > Cancel
Trang 15
® 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 sang đề bắt đâu cài đặt EDB trên máy tính Click phím Next đề bắt
đầu cài đặt
The following settings will be used for the installation::
Installation Directory: C:\Program Files\edb\as12
Server Installation Directory: C:\Program Files\edb\asi2
Data Directory: C:\Program Files\edb\as12\data
WAL Directory: C:\Program Files\edb\as12\data\pg_wel
Database Port: 5432
Database Superuser: postgres
Operating System Account: NT AUTHORITY\NetworkService
Database Service: edb-as-12
Command Line Tools Installation Directory: C:\Program Files\edb\as12
pgAdmin4 Installation Directory: C:\Program Files\edb\2si2\pgAdmin4
Stack BuilderPlus Installation Directory: C:\Program Files\edb\asi2\stackbuilderplus
VMware InstaliBuilder
< Back Next > Cancel
e Hệ thống bắt đầu trong quá trình cài đặt EDB
iin 8 Pt ee €@EDbp
Please wait while Setup installs EDB Postgres Advanced Server on your computer,
Installing EDB Postgres Advanced Server Unpacking C:\Program [ }4\venv\Lib\site-packages\pytz\zoneinfo\ Turkey
VMware InstaliBuiider
< Back Next > Cancel
Trang 16® 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
2.2 Minh họa sử dụng bằng pgAdmin
e©_ Click vào biểu tượng &
pgAdmin
Management Tools for PostgreSQL
Starting pgAdmin4 server
e Nhap password vita cai dat dé bắt đầu sử dụng hệ thông
Unlock Saved Passwords Please enter your master password
This is required to unlock saved passwords and reconnect to the database server(s)
? | @ Reset Master Password x Cancel w 0K
Trang 17
pgAdmin
Management Toots for PostgreSQL Feature rich | Maximises PostgreSQL | Open Source
Source adrniniewstion and management took for The PestgraS danibsee, mR nclucks 3 grpticd w370i/Ä006100 inefoce
i enora Th tool ic desigrend therwads of dowlopets, DBAs an
ube Line
=n
— (ks Nee Server Configure pgAdmin Getting Srarced
%;uSf)L(Iocte*6ftaton pgAdn Viezte Elmnek PortgteS0 ©Oammunty 9eport
¢ Nhap password cho user ‘postgres’ dé két néi voi server ‘EDB Postgres Advanced Server 12’
Please enter the password for the user ‘postgres’ to connect the server - 'EDB Postgres
Advanced Server 12"
Password
Save Password
% Cancel Nae) 4
® - Dưới đây là mản hình quan ly cua hé thong, 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
PB Acintty Checkpaimerstan
om Acting Bigere Noy
Trang 18khác hoặc đọc một truy vấn từ một tệp Trình soạn thảo SQL co tinh nan 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
z
phim Ctrl+Space
> B|vÌø |Q vị vã 'ñ Œđv| Y v Nohmt Ber ds8» ¿ › Zx k
mm library/postgres@EDB Postgres Advanced Server 12
Query Editor Query History Scratch Pad x
©_ 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 pửi đến server đề thực thi
>|B v BmilQ'v #điv ® 8 Œđv Y v_ NÌn <P>) oe
El eT ug met se mae ee et leis kaa a
©