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

38 1 0
Tài liệu đã được kiểm tra trùng lặp
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các đặc trưng cơ bảnDự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 t

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜ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

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

Hà Nội – 2020

Trang 2

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

Trang 3

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,…

Trang 4

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 PostgreSQL1.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ộtcá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 PostgreSQL có từ năm 1986 như một phần của dự án POSTGRES tại Đại học California ở Berkeleyvà đã 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 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 tạo PostgreSQL chạytrê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

Trang 5

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 toà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ỏ.

Ngoà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êndị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:

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 ACIDvà đảm bảo phân tách giao dịch hiệu quả bằng cáchsử 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:

Trang 6

o Cấu hình: sử dụng các tham số GUC (Grand UnifiedConfiguration 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ản10 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 soá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ấpcá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ómo 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ở dữ liệuo Bảo mật cấp hàng và cấp cột

o Hỗ trợ SELinux thông qua chức năng PostgreSQL tích hợp sẵn.

SE-Các loại chỉ mục:

6

Trang 7

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áptruy 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ệukhô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ụngcho hợp chất giá trị đa phần tử Nó chủ yếu được ápdụ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.o 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 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ụco Ngôn ngữ lập trình máy chủ: PL/ PGSQL, Perl,

Python,

Trang 8

o 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.postgresql.org/about

https://edu.postgrespro.ru/introbook_v6_en.pdf )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.

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.

Chuyên gia Postgres phân tích cấu hình máy chủ và đề xuấtcá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ạocả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

Trang 9

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: https://www.enterprisedb.com/edb-docs/p/edb-postgres-advanced-server/12)

2 Cài đặt, minh họa sử dụng2.1 Cài đặt EnterpriseDB

Click https://www.enterprisedb.com/software-downloads-postgresđể 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.

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.

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

10

Trang 11

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.

Trang 12

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

Trang 13

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.

Trang 14

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

14

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 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.

Trang 25

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.

Trang 26

5 Như ví dụ đã nêu ở trên, cài đặt 3 trường cho table

‘book_type’ bao gồm id, category, type Chọn các điều

kiện phù hợp với yêu cầu

6 Click button ‘Save’ để hoàn tất quá trình tạo table.

26

Trang 27

7 Tạo table ‘book_list’ tương tự như tạo table ‘book_type ’ đến step 4.

8 Click tab ‘Constraints’ để cài đặt primary key và foreign keys Trong tab này sẽ có 5 mục khác nhau Đầu tiên là

‘Primary Key’ Trong tab này sẽ hiển thị thông tin

primary key của bảng Người dùng có thể add or remove primary key trong tab này.

Trang 28

9 Click tab ‘Foreign Key’ để xác định các Foreign Key của

bảng Click on ‘+’ button để thêm foreign key.

10 Click on symbol Edit button để mở tab tạo foreign key

28

Trang 29

11 Điền thông tin của foreign key trong trường ‘Name’ Ở đây, ‘book_type’ được đặt tên của khóa ngoại Sau đó,

click tab Columns

12 Chọn Local Column, References Referencing và từ các dropdown list Trong bảng này, type_id là foreign key và được đặt làm Local Column ‘book_type’ được cài làm

References và trong ‘book_type’ được chọn là id Referencing Sau khi cài đặt xong, click button ‘+’ để

thêm foreign key vào bảng.

Trang 30

13 Thông tin của foreign key đã thêm được add và hiển thị dưới bảng Click on ‘Action’ để thêm hành động cụ thể cho việc update delete data của bảng tham chiếu.

14 Chọn ‘CASCADE’ option cho cả update và delete Khi giátrị của id trong bảng book_type update hoặc xóa thì sẽ kéo theo tác động tới bảng book_list Sau đó click ‘Save’ button để hoàn thành quá trình tạo bảng.

30

Trang 31

15 Sau khi hoàn thành các bước ở trên, phần Tables sẽ chứa 2 bảng ‘book_list’ và ‘book_type’ Nếu người dùng muốn thay đổi cấu trúc của bảng thì nhấp chuột phải vào tên bảng đó để mở hộp thoại sửa đổi cấu trúc của bảng.

Cách 2: Sử dụng câu lệnh truy vấn tạo bảng1 create table ‘book_type’

CREATE TABLE book_type(

id serial primary key,

category character varying(50) NOT NULL, type character varying(50) NOT NULL)

2 create table ‘book_list’CREATE TABLE book_list(

id serial primary key,

book_name character varying(100) NOT NULL, author_name character varying(100) NOT NULL, edition character varying(5),

type_id bigint NOT NULL,

foreign key (id) references book_type(id) ON UPDATE CASCADE ON DELETE CASCADE

Trang 32

o DISTINCT: loại bỏ các dữ liệu trùng lặp

Truy vấn : SELECT

DISTINCT column1 FROM table_name;

Ex: Select distinct author_name from book_list

o ORDER BY: cho phép sắp xếp các kết quả trên một hoặc

nhiều cột trong kết quả của câu truy vấn theo thứ tự tăng dần hoặc giảm dần

Truy vấn : SELECT column FROM table_name

ORDER BY [sort_expression1] [ASC | DESC], ……

[sort_expressionn] [ASC | DESC];Ex: Select * from book_list order by book_name DESC;

o WHERE: cho phép chọn các hàng cụ thể phù hợp với điều

kiện hoặc tiêu chí tìm kiếm, sử dụng mệnh đề WHERE để lọc các bản ghi dựa trên một điều kiện nhất định

Truy vấn: SELECT column FROM table_name WHERE condition;

Ex: Select * from book_list where author_name = 'NguyenNhat Anh'

o LIMIT: Giới hạn số lượng kết quả.

Truy vấn: SELECT column FROM table_name LIMIT 10;

Ex: SELECT * from book_list LIMIT 5;

o GROUP BY: Được sử dụng để gộp các bản ghi có cùng

giá trị tại một hay nhiều cột thành một tập hợpTruy vấn: SELECT column1,

column2,…,

aggregate_function(column3)

32

Trang 33

FROM table_name

GROUP BY column1, column2,…Ex: SELECT count(*) FROM book_list GROUP BY author_name;

o HAVING: Điều kiện lọc trong một nhóm các bản ghi hoặc

là kết quả của việc thực hiện hàm nhóm Having thường được sử dụng cùng với Group By Having được áp dụng trên các nhóm bản ghi, còn Where áp dụng trên từng bản ghi riêng lẻ.

Ex: SELECT depno, SUM(sal) as total FROM emp GROUP BY deptno HAVING SUM(sal) <10000;

o INNER JOIN (Phép nối trong) : Nối 2 bảng lại với nhau.

Truy vấn: SELECT column1, column2, FROM table_name1

INNER JOIN table_name2 ON condition1 INNER JOIN table_name3 ON condition2…

WHERE conditions

Ex: SELECT * FROM book_list INNER JOIN book_type ON book_list.type_id = book_type.id

o LEFT JOIN : cho phép chọn tất cả các hàng từ bên trái

ngay cả kho không có bản ghi nào phù hợp với nó trong bảng bên phải

Truy vấn : SELECT column1, column2, FROM table_name1

Trang 34

LEFT JOIN table_name2 ON conditionEx: SELECT * FROM book_list LEFT JOIN book_type ON book_list.type_id = book_type.id

o INSERT: cho phép thêm các dòng dữ liệu từ một bảng xác

o UPDATE: Được dùng để cập nhật dữ liệu đã tồn tại trong

bảng của CSDL.

Truy vấn : UPDATE table_name SET column1 = value1,

column2 = value2,…WHERE condition;

Ex: UPDATE book_type SET category = 'MBBS' WHEREid = 3

3 So sánh đánh giá với 3 HQT CSDL khác tiêu biểu cùng dòngEDB

Mô tả Nền tảng quảnlý dữ liệu dành cho doanh nghiệp dựa trên PostgreSQL với các tùy chọn được triển khai linhhoạt

Hệ quản trị cơ sở dữ liệu quan hệ được sử dụng rộngrãi

Nền tảng phần mềm phân tích dữ liệu đám mây kết hợp (Teradata Vantage)

Ứng dụng mã nguồn mở tương thích với MySQL, được tăng cường khả năng bảo mật, tương tác và hiệu suất cao Hỗ trợ công cụ lưu trữ hướng cột có sẵn MariaDB ColumnStoreDbaaS

cung cấp

Azure Database for MySQLScaleGrid for MySQL

Azura Database for MariaDBSkySQLHệ điều

FreeDSBLinuxOS XSolarisWindows

34

Ngày đăng: 14/05/2024, 16:09