Tải bản đầy đủ (.docx) (30 trang)

Tiểu luận đánh giá hiệu năng hệ quản trị cơ sở dữ liệu postgreSQL

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 (944.23 KB, 30 trang )

KHOA CÔNG NGHỆ THÔNG TIN
----------o0o----------

BÁO CÁO BÀI TẬP LỚN
ĐÁNH GIÁ HIỆU NĂNG HỆ QUẢN TRỊ
CƠ SỞ DỮ LIỆU POSTGRESQL

Giảng viên:

TS. Tạ Minh Thanh

Học viên:

Nguyễn Tiến Thụy
Lê Thị Huế

Lớp:

Hệ thống thông tin K27B

Hà Nội - 2016


MỤC LỤC

2


1. Giới thiệu chung về PostgreSQL
1.1.


PostgreSQL là gì ?

PostgreSQL là hệ quản trị cơ sở dữ liệu được viết theo hướng mã nguồn mở
và rất mạnh mẽ. Hệ quản trị cơ sở dữ liệu này đã có hơn 15 năm phát triển, đồng
thời cấu trúc đã được kiểm chứng và tạo được lòng tin với người sử dụng về đọ
tin cậy, tính toàn vẹn dữ liệu, và tính đúng đắn. PostgreSQL có thể chạy trên tất cả
các hệ điều hành, bao gồm cả Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X,
Solaris, Tru64), và Windows. Có hỗ trợ đầy đủ các foreign keys, joins, views,
triggers, và stored procedures (trên nhiều ngôn ngữ). Hệ quản trị này còn bao gồm
các kiểu dữ liệu SQL: 2008 như INTEGER, NUMBER, BOOLEAN, CHAR, VARCHAR,
DATE INTERVAL, vàTIMESTAMPs. PostgreSQL cũng hỗ trợ lưu trữ các đối tượng có
kiểu dữ liệu nhị phân lớn, bao gồm cả hình ảnh, âm thanh, hoặc video. Hệ quản trị
cơ sở dữ liệu này được sử dụng thông qua giao diện của các ngôn ngữ C / C + +,
Java,. Net, Perl, Python, Ruby, Tcl, ODBC...
Là mọt hệ quản trị cơ sở dữ liệu mạnh, PostgreSQL có các tính năng phức
tạp như kiểm soát truy cập đồng thời nhiều phiên bản (MVCC), khôi phục dữ liệu
tại từng thời điểm (Recovery), quản lý dung lượng bảng (tablespaces), sao chép
không đồng bọ, giao dịch lồng nhau (savepoints), sao lưu trực tuyến hoặc nọi bọ,
truy vấn phức tạp và tối ưu hóa, và viết trước các khai báo để quản lý và gỡ lỗi.
PostgreSQL hỗ trợ bọ ký tự quốc tế, hỗ trợ bảng mã nhiều byte, Unicode, và cho
phép định dạng, sắp xếp và phân loại ký tự văn bản (chữ hoa, thường).
PostgreSQL còn được biết đến với khả năng mở rọng để nâng cao cả về số lượng
3


dữ liệu quản lý và số lượng người dùng truy cập đồng thời. Đã từng có những hệ
thống PostgreSQL hoạt đọng trong môi trường thực tế thực hiện quản lý vượt quá
4 terabyte dữ liệu.
Sau đây là mọt số thông tin giới hạn khả năng của PostgreSQL:
Giới hạn


Giá trị

Dung lượng tối đa của cơ sở dữ liệu

Không giới hạn

Dung lượng bảng tối đa

32 TB

Dung lượng tối đa của cọt

1,6 TB

Dung lượng tối đa của trường

1 GB

Hàng tối đa mỗi Bảng

Không giới hạn

Số cọt tối đa của mỗi bảng

250 – 1600 tuỳ thuọc vào loại cọt

Chỉ số tối đa của mổi bảng

Không giới hạn


1.2.

Vài nét về lịch sử PostgreSQL

Hệ thống quản lý cơ sở dữ liệu đối tượng-quan hệ bây giờ được gọi là
PostgreSQL có nguồn gốc từ các gói Postgres viết tại Đại học California ở Berkeley.
Với hơn hai thập kỷ phát triển, PostgreSQL bây giờ là cơ sở dữ liệu mã nguồn mở
tiên tiến nhất sẵn sàng ở bất cứ đâu.
1.3.

Dự án Postgres ở Berkeley

Dự án Postgres, do Giáo sư Michael Stonebraker dẫn dắt, được Cơ quan Dự
án Nghiên cứu Cao cấp Quốc phòng - DARPA (Defense Advanced Research
Projects Agency), Văn phòng Nghiên cứu Quân đọi - ARO (Army Research Office),
Quỹ Khoa học Quốc gia – NSF (National Science Foundation), và ESL Inc., tài trợ.
Dự án Postgres bắt đầu triển khai vào năm 1986. Các khái niệm ban đầu cho hệ
thống đã được trình bày trong “Các thiết kế của Postgres- Stonebraker and Rowe,
1986”, và định nghĩa của mô hình dữ liệu ban đầu đã xuất hiện trong “ Các mô
hình dữ liệu Postgres - Rowe and Stonebraker, 1987”. Thiết kế của hệ thống các
qui tắc khi đó đã được mô tả trong “Các thiết kế của hệ thống quy tắc Postgres Stonebraker, Hanson, Hong, 1987”. Nhân tố căn bản và kiến trúc của người quản lý
kho lưu trữ đã được trình bày chi tiết trong “Các thiết kế của hệ thống lưu trữ
Postgres - Stonebraker, 1987”.

4


Postgres đã trải qua vài phiên bản chính kể từ đó. Hệ thống “phần mềm
trình diễn” (demoware) đầu tiên đã hoạt đọng vào năm 1987 và đã được trình bày

tại Họi nghị ACM-SIGMOD 1988. Phiên bản 1, được mô tả trong “Việc triển khai
Postgres - Stonebraker, Rowe, Hirohama, 1990”, được phát hành với mọt vài
người dùng bên ngoài trong tháng 6 năm 1989. Để đáp ứng với mọt bài phê bình
của hệ thống quy tắc đầu tiên, hệ thống quy tắc đã được thiết kế lại, và phiên bản
2 đã được phát hành vào tháng Sáu năm 1990 với hệ thống qui tắc mới. Phiên bản
3 xuất hiện vào năm 1991 và đã bổ sung hỗ trợ cho người quản lý nhiều kho lưu
trữ, thi hành truy vấn được cải thiện, và hệ thống quy tắc được viết lại. Đối với
hầu hết các phần, phiên bản tiếp theo cho đến Postgres 95 (xem bên dưới) tập
trung vào tính di đọng và đọ tin cậy.
POSTGRES đã dùng để thực hiện nhiều ứng dụng sản xuất và nghiên cứu
khác nhau. Chúng bao gồm: mọt hệ thống phân tích cơ sở dữ liệu tài chính, mọt
gói giám sát hiệu năng của đọng cơ phản lực, mọt cơ sở dữ liệu theo dõi các hành
tinh nhỏ, mọt cơ sở dữ liệu thông tin y tế, và vài hệ thống thông tin địa lý,
POSTGRES cũng đã được sử dụng như mọt công cụ giáo dục tại mọt số trường đại
học. Cuối cùng, Illustra Information Technologies (sau này sát nhập vào Informix,
mà bây giờ thuọc sở hữu của IBM) đã chọn mã và thương mại hóa nó. Vào cuối
năm 1992, POSTGRES đã trở thành trình quản lý cơ sở dữ liệu chính cho dự án
tính toán khoa học Sequoia 2000.
Quy mô của cọng đồng người dùng bên ngoài tăng gần gấp đôi trong năm
1993. Rõ ràng là việc bảo trì các mã mẫu và sự hỗ trợ đã chiếm rất nhiều thời gian
mà lẽ ra phải được dành cho nghiên cứu cơ sở dữ liệu. Trong nỗ lực để giảm bớt
gánh nặng hỗ trợ này, các dự án Postgres ở Berkeley chính thức kết thúc với phiên
bản 4.2.
1.4.

Postgres95

Vào năm 1994, Andrew Yu và Jolly Chen đã bổ sung thêm mọt trình biên
dịch ngôn ngữ SQL vào POSTGRES. Dưới cái tên mới, Postgres95 sau đó đã được
phát hành lên web để tìm ra cách đi của riêng mình trên thế giới như mọt hậu duệ

nguồn mở của mã POSTGRES ở Berkeley.
Mã của Postgres95 đã hoàn toàn là ANSI C và được giảm kích thước tới
25%. Nhiều thay đổi nọi bọ đã tăng hiệu suất và khả năng bảo trì. Postgres95 phát

5


hành bản 1.0.x chạy nhanh hơn khoảng 30-50% so với chuẩn Wisconsin so với
Postgres, phiên bản 4.2. Ngoài việc sửa lỗi, sau đây là những cải tiến quan trọng:
- Ngôn ngữ truy vấn PostQUEL đã được thay thế bằng SQL (được triển khai
trong máy chủ).Các truy vấn phụ (Subqueries) đã được hỗ trợ cho tới PostgreSQL,
nhưng chúng có thể được mô phỏng trong Postgres95 với các hàm SQL do người
sử dụng định nghĩa. Các hàm tổng hợp đã được tái triển khai. Hỗ trợ cho câu truy
vấn GROUP BY cũng đã được bổ sung.
- Mọt chương trình mới (psql) đã được đưa ra cho các truy vấn SQL tương
tác, nó sử dụng GNU Readline. Điều này đã thay thế phần lớn chương trình giám
sát cũ.Mọt thư viện (front-end) mới, „libpgtcl‟, được các máy trạm dựa vào Tcl hỗ
trợ. Mọt trình biên dịch (shell) mẫu, pgtclsh, đã cung cấp các lệnh Tcl mới cho các
chương trình giao tiếp Tcl với máy chủ Postgres95.
Giao diện đối tượng lớn đã được kiểm tra kỹ lưỡng. Các đối tượng nghịch
đảo lớn đã chỉ còn là cơ chế cho việc lưu trữ các đối tượng lớn. (Hệ thống tệp
nghịch đảo đã được loại bỏ).
Mọt sách chỉ dẫn ngắn gọn giới thiệu các tính năng SQL thông thường cũng
như các tính năng của Postgres95 đã được phát hành cùng với mã nguồn.

1.5.

PostgreSQL

Tới năm 1996, rõ ràng cái tên “Postgres95” không phù hợp theo thời gian.

PostgreSQL là tên mới được chọn, để phản ánh mối quan hệ giữa POSTGRES gốc
ban đầu và các phiên bản gần đây với SQL. Đồng thời, thiết lập việc đánh số phiên
bản bắt đầu từ 6.0, đưa con số trở lại trình tự xuất phát ban đầu của dự án
POSTGRES ở Berkeley.
Nhiều người vẫn coi PostgreSQL như "Postgres" vì truyền thống hay bởi vì
nó dễ phát âm. Việc sử dụng này được chấp nhận rọng rãi như mọt biệt danh
hoặc bí danh.
Điểm nhấn của Postgres95 trong quá trình phát triển là việc xác định và
hiểu được các vấn đề đang tồn tại trong mã của máy chủ. Với PostgreSQL, trọng
tâm chuyển sang nâng cao tính năng, mặc dù vẫn tiếp tục làm việc trong tất cả các
lĩnh vực.
2. Ưu nhược điểm của PostgreSQL
6


2.1.

Ưu điểm
- Dễ cấu hình, thích ứng tốt, đọ tin cậy cao.
- Hỗ trợ tốt với PHP và Java.
- Là mọt phần mềm mã nguồn mở.
- Tuân thủ các chuẩn của SQL.

- Hoạt đọng được trên nhiều hệ điều hành như: Windows , Linux, UNIX
(AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64).
- Lưu trữ (dạng nhị phân) các đối tượng có dữ liệu lớn như hình ảnh, âm
thanh, hoặc video.
- Hỗ trợ các ngôn ngữ như C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC
- Có sự thống nhất giữa những người phát triển (tái dụng những kỹ năng và
các thư viện đã có)

- Có hầu hết các truy vấn SQL với các kiểu dữ liệu như INTEGER, NUMERIC,
BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, và TIMESTAMP
- Tạo chỉ mục giúp quá trình truy vấn đạt hiệu quả cao hơn
- Hỗ trợ các chức năng tìm kiếm tổng quát hóa có thể “gắn” các chỉ mục
vào giúp quá trình tìm kiếm được thực hiện trên phạm vi rọng hơn như:
compound, unique, partial, and functional indexes.
- Có thể tạo mới kiểu dữ liệu, các hàm, các thủ tục (procedure)...
- Hỗ trợ đa người dùng: dữ liệu không gian có xu hướng là các dữ liệu tham
chiếu, tức là được chia sẻ bởi nhiều người dùng. Lưu trữ dữ liệu trong hệ quản trị
cơ sở dữ liệu sẽ cung cấp những lợi ích như: truy cập từ xa thông qua các chuẩn
giao tiếp như: JDBC, ODBC, PERL/DBI..., làm tăng tính bảo mật cho dữ liệu như:
mọt số người dùng có toàn quyền tuy nhiên mọt số người dùng chỉ có thể đọc hay
không được nhìn thấy.
2.2.

Nhược điểm
- Cọng đồng người dùng tương đối ít.
- Chậm hơn so với MySQL
- Không có tham số mặc định trong PL/PGSQL.
7


3. Cấu trúc của PostgresSQL
PostgreSQL sử dụng mô hình client/ server trong khi quản trị cơ sở dữ liệu.
Mỗi phiên Postgres bao gồm những quá trình sau đây:
• Postmaster: quản lý người dùng truy cập
• User application: trình ứng dụng của người dùng
• The one or more backend database servers: quản lý cơ sở dữ liệu cảu
chính server.
Hình vẽ dưới đây mô tả cơ chế kết nối giữa server và client:


Trong sơ đồ trên Postmaster quản trị mọt tập các cơ sở dữ liệu có trên mọt
client host. Tập cơ sở dữ liệu như thế gọi là cluster. Mọt trình ứng dụng có
thể truy cập hệ cơ sở dữ liệu trên được gọi là library ( LIBP Q). Library gửi
yêu cầu người dùng qua nối tới mọt frontend process. Tại đây, frontend
process sẽ trao đổi trực tiếp với backend process mà không cần thông qua
Postmaster nữa. Do đó Postmaster luôn chạy và chờ các yêu cầu khác tới.
Thư viện LIBPQ cho phép mọt fronted tạo ra nhiều kết nối tới các backend.
4. Đặc điểm của PostgreSQL
4.1. Tính kế thừa
Để tạo hai bảng, ta có thể tạo mọt bảng trước, sau đó bảng sau có thể kế
thừa lại bảng trước đó với thuọc tính của bảng trước. Ví dụ ta tạo bảng city, bảng
capitals thừa kế lại bảng city
CREATE TABLE city (
8


Name text,
Population real,
Altitude

int --(in ft)

);
CREATE TABLE capitals (
State

char(2)

) INHERITS (city);

Trong ví dụ này, các cọt trong bảng capitals thừa kế lại toàn bọ các thuọc
tính về định dạng kiểu dữ liệu của bảng city.
Cho ví dụ, truy vấn sau tìm thấy cho những tên tất cả các thành phố, thành
phố được định vị ở đọ cao trên 500 fit so với mặt biển:
SELECT name, altitude
FROM city
Where altitude > 500;
Kết quả:

4.2. Những giá trị không nguyên tố
Mọt trong những nguyên tắc của mô hình quan hệ là cọt của bảng là
nguyên tố. Còn PostgreSQL thì không có sự hạn chế này, cọt có thể chứa đựng
những mức dưới giá trị mà có thể được truy nhập từ ngôn ngữ hỏi. Chẳng hạn,
bạn có thể tạo ra những cọt là những mảng của nhiều kiểu cơ sở dữ liệu.
PostgreSQL cho phép cọt của mọt hàng sẽ được định nghĩa cố định. Các
mảng có kiểu cơ sở dữ liệu bất kỳ hoặc kiểu do người dùng định ra có thể được
tạo ra. Sau đây là 1 ví dụ:

9


Trong ví dụ trên sẽ tạo ra mọt bảng có tên SAL_EMP với văn bản name, mọt
mảng mọt chiều của số nguyên, mà đại diện tiền lương của người làm thuê bởi
quý và mọt mảng hai chiều văn bản, mà đại diện chương trình hàng tuần của
người làm thuê. Tiếp theo chúng ta xét tới ví dụ khởi tạo cấu trúc và việc chèn
bảng bằng ngôn ngữ lập trình C:

Ví dụ sau đây truy vấn này khôi phục những tên của người làm thuê của ai
thanh toán thay đổi vào quý hai:


5. So sánh PostgreSQL với một số hệ quản trị CSDL khác
5.1. Thông tin chung
Công ty
Adaptive Server
Enterprise

Ngày phát hành phiên Phiên bản ổn
Giấy phép sử dụng
bản đầu tiên
định mới nhất

Sybase

1987

15.0

Đọc quyền

ADS

2003

3.4

Đọc quyền

Apache

2004


10.1.2.1

Giấy phép Apache

IBM

1982

8.2

Đọc quyền

Firebird Foundation

Ngày 25 tháng 7 năm
2000

1.5.3

Giấy phép Initial Developer's
Public

Informix

IBM

1985

10.0


Đọc quyền

HSQLDB

HSQL Development Group

2001

1.8.0

BSD

H2 Software

2005

0.9

Miễn phí

ADS
Apache Derby
DB2
Firebird

H2

10



Ingres Corp.

1974

Ingres 2006 II
9.0.4

GPL và Đọc quyền

Borland

1985

7.5.1

Đọc quyền

MySQL AB, SAP AG

?

7.6

GPL or Đọc quyền

Microsoft SQL Server

Microsoft


1989

9.00.1399
(2005)

Đọc quyền

MySQL

MySQL AB

Tháng 11 năm 1996

5.0

GPL or Đọc quyền

Oracle

Oracle Corporation

1977

10g Release 2

Đọc quyền

PostgreSQL Global Development
Group


Tháng 6 năm 1989

8.1.3

BSD

University of Paisley

Tháng 11 năm 2005

0.5

Đọc quyền

SmallSQL

Ngày 16 tháng 4 năm
2005

0.12

LGPL

D. Richard Hipp

Ngày 17 tháng 8 năm
2000

3.3.5


Public domain

Teradata

Teradata

1984

V2R6.1

Đọc quyền

WX2

Kognitio

1988

5.x

Đọc quyền

Ingres (cơ sở dữ liệu)
InterBase
MaxDB

PostgreSQL
Pyrrho DBMS
SmallSQL
SQLite


5.2. Hệ điều hành được hỗ trợ
Windows

Mac OS X

Linux

BSD

UNIX

z/OS 1

Adaptive Server
Enterprise











Không

ADS




Không









Apache Derby













DB2




Không



Không





Firebird











Maybe

HSQLDB














H2











Maybe

Informix












Không

Ingres











Có thể

InterBase



Không



Không


Có (Solaris)

Không

Adabas



Không



Không





MaxDB



Không



Không




Có thể

Microsoft SQL Server



Không

Không

Không

Không

Không

MySQL











Có thể


Oracle







Không





PostgreSQL











Có thể

Pyrrho DBMS


Có (.NET)

Không

Có (Riêng lẻ)

Không

Không

Không

SmallSQL













SQLite












Có thể

Teradata



Không



Không



Không

5.3. Tính năng cơ bản
Adaptive Server Enterprise

ACID


Referential integrity

Transactions

Unicode

Có

Có

Có

Có

11


ADS

Có

Có

Có

Có

Apache Derby

Có


Có

Có

Có

DB2

Có

Có

Có

Có

Firebird

Có

Có

Có

Có

HSQLDB

Có


Có

Có

Có

H2

Có

Có

Có

Có

Informix

Có

Có

Có

Có

Ingres

Có


Có

Có

Có

InterBase

Có

Có

Có

Có

MaxDB

Có

Có

Có

Có

Microsoft SQL Server

Có


Có

Có

Có

MySQL

Phụ thuọc

Phụ thuọc

Phụ thuọc

Có / UTF-8 (3-byte) & UCS-2

Oracle

Có

Có

Có

Có

PostgreSQL

Có


Có

Có

Có / UTF-8 (4-byte)

Pyrrho DBMS

Có

Có

Có

Có

SQLite

Có

Không

Cơ bản

Có

Teradata

Có


Có

Có

Có

5.4. Table và View
Bảng tạm

Khung nhìn cụ thể

Adaptive Server
Enterprise



Không

ADS





Apache Derby



Không


DB2





Firebird

Không

Không

HSQLDB



Không

H2



Không

Informix






Ingres



Ingres r4

InterBase



Không

MaxDB



Không

Microsoft SQL Server





MySQL



Tương tự


Oracle





PostgreSQL



Tương tự

Pyrrho DBMS

Không

Không

SQLite



Không

Teradata






12


5.5. Index
Cây R-/Cây R+

Hàm băm

Không

Không

Adaptive Server
Enterprise
ADS

Biểu thức Chỉ mục Chỉ mục
Bitmap
(lập trình) từng phần đảo
Không

Không



GiST

Không


Không







Không





Không

Apache Derby

Không

Không

Không

Không

Không

Không


Không

DB2

Không

?

Không

Không





Không

Firebird

Không

Không

Không

Không

Không


Không

Không

HSQLDB

Không

Không

Không

Không

Không

Không

Không

H2

Không

Không

Không

Không


Không

Không

Không

Informix













Không

Ingres





Ingres r4


Không

Không

Ingres
r4

Không

InterBase

?

?

Không

Không

Không

Không

Không

MaxDB

?

?


Không

Không

Không

Không

Không

Microsoft SQL Server

?

Non/Cluste
r & fill
factor







Không

Không

MySQL


trong SQL 5.0 MyISAM,
BDB, hoặc bảng InnoDB

chỉ có
bảng
HEAP

Không

Không

Không

Không

Không

Oracle

chỉ có ở phiên bản EE

Bảng gộp



Không






Không















Pyrrho DBMS

Không

Không

Không

Không

Không


Không

Không

SQLite

Không

Không

Không

Không



Không

Không

Teradata

Không








Không



Không

PostgreSQL

5.6. Các đối tượng khác
Domain

Cursor Trigger Hàm 11

Thủ tục 11

External routine 11

Adaptive Server
Enterprise














ADS













Apache Derby

Không












DB2

Không











Firebird













HSQLDB


?

Không









H2

?

Không









Informix

?












Ingres













InterBase














MaxDB











?

Có (2000 and beyond)












MySQL

Không











Oracle














PostgreSQL













Microsoft SQL Server

13


Pyrrho DBMS














SQLite

Không

Không



Không

Không



Teradata

Không












6. Cấu hình và cài đặt PostgreSQL
6.1. Cấu hình máy và phần mềm yêu cầu
Cấu hình máy:
• Hệ điều hành: Chạy trên tất cả các hệ điều hành, bao gồm Windows,
Linux,
UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64)
• CPU: Intel Pentinum II 400Mhz trở lên.
• RAM: 128Mb trở lên.
• Dung lượng ổ cứng tối thiểu 475MB.
Phần mềm yêu cầu: Hệ quản trị cơ sở dữ liệu PostgreSQL: Postgresql-9.4
( />6.2. Cài đặt PostgreSQL
Download và cài đặt hệ quản trị cơ sở dữ liệu PostgreSQL.

Chạy file postgresql-9.6.1-1-windows-x64.exe.
Nhấn Next để bắt đầu quá trình cài đặt.

14


15


7. Giới thiệu về công cụ HammerDB
HammerDB là mọt công cụ đo và kiểm tra các hệ quản trị cơ sở dữ liệu như
Oracle, SQLServer, TimesTen, PostgreSQL, Greenplum, Postgres Plus Advanced
Server, MySQL, Redis và Trafodion SQL trên Hadoop.
Hiện tại, HammerDB v2.21 là phiên bản mới nhất. Có thể dễ dàng download

tại địa chỉ
HammerDB v2.21 làm việc tương thích với hệ quản trị cơ sở dữ liệu
PostgreSQL
HammerDB tạo 1 môi trường ảo có Database, có các User và tạo các
Transaction.
Database chứa dữ liệu của giao dịch hàng hóa: Bao gồm thông tin của Kho
chứa của khách hàng, giao dịch.
Các User được tạo ra dựa theo các kịch bản mô phỏng hệ thống.

16


8. Quá trình đo hiệu năng
Các tham số để đo hiệu năng hệ quản trị cơ sở dữ liệu PostgreSQL: Số
lượng user truy cập đồng thời, Số lượng giao dịch đồng thời.
Các tham số đánh giá hiệu năng: Số giao dịch/phút, khả năng chịu đựng của
CPU (hiển thị đo xung nhịp của CPU)
Trình tự để tiến hành đo hiệu năng:
- Khởi đọng HammerDB
- Cấu hình HammerDB để đo hiệu năng với hệ quản trị CSDL PostgreSQL

Creating the test Schema
17


Để tạo ra các lược đồ thử nghiệm xử lý giao dịch trực tuyến dựa trên các
đặc điểm kỹ thuật TPC-C, bạn sẽ cần phải chọn điểm chuẩn và cơ sở dữ liệu bạn
muốn sử dụng bằng cách chọn chọn điểm chuẩn từ dưới menu Options hoặc dưới
các TreeView điểm chuẩn. Các thiết lập ban đầu được xác định bởi các giá trị
trong file config.xml của bạn. Nếu các TreeView benchmark cho thấy cơ sở dữ liệu

khác sau đó kích đúp vào PostgreSQL để hiển thị các tùy chọn để chuyển sang
PostgreSQL và TPC-C.
Chọn PostgreSQL và TPC-C và nhấn OK như thể hiện trong hình sau:

Để tạo ra các giản đồ TPC-C chọn TPC-C tab menu tùy chọn giản đồ từ các
TreeView chuẩn hoặc menu tùy chọn. Menu này sẽ tự đọng thay đổi theo cơ sở
dữ liệu bạn đã chọn.

18


Xây dựng lược đồ

19


• PostgreSQL host: Địa chỉ máy chủ của hệ thống chạy thử Postgre mà
HammerDB kết nối đến
• PostgreSQL port: Cổng của Service PostgreSQL. Theo mặc định chuẩn này là
5432 hoặc 5444 cho EnterpriseDB.
• PostgreSQL Superuser: là người dùng cấp cao có đủ quyền hạn để tạo ra
người dùng mới và cơ sở dữ liệu trong việc tạo ra lược đồ thử nghiệm.
• Posgresql Superuser Password: là mật khẩu cho superuser postgre được xác
định trong quá trình cài đặt.
• Postgresql default database: là cơ dở dữ liệu dể xác định cho superuser kết
nối.
• PostgreSQL user: là người sử dụng (vai trò) sẽ được tạo ra sở hữu các cơ sở
dữ liệu chứa các lược đồ TCP – C.
• PostgreSQL user password: là mật khẩu chỉ định cho người sử dụng
postgresql khi nó được tạo ra.

• PostgreSQL Database: là cơ sở dữ liệu sẽ được tạo ra và thuọc sở hữu của
người sử dụng postgres chứa lược đồ TCP – C
• Chọn EnterpriseDB Oracle Compatible (tương thích)
• Number of warehouse:
• Vitrual user to build schema: là số lượng người dùng ảo được tạo ra trên
server được sinh ra trên lược đồ đa luồng.
Starting the Schema Build
Khi bạn đã hoàn thành lựa chọn xây dựng của bạn bấm OK để lưu trữ các giá trị
mà bạn đã nhập vào. Để bắt đầu tạo giản đồ tại các nút trong cửa sổ cấp đầu nhấp
vào nút "Tạo TPC Schema" hoặc chọn xây dựng từ các TreeView. Cả hai đều được
hiển thị như là ba họp màu và "Tạo TPC Schema" xuất hiện trong họp thông tin khi
di chuọt qua.

20


Khi nhấp vào nút này mọt họp thoại như thể hiện trong hình sau xuất hiện.

Khi bạn nhấp vào “Yes”, HammerDB sẽ đăng nhập vào dịch vụ PostgreSQL
chọn của bạn với mọt chủ đề màn hình như superuser PostgreSQL và tạo cho
21


người dùng với mật khẩu mà bạn đã chọn. Sau đó nó sẽ thoát ra và đăng nhập lại
như người sử dụng lựa chọn của bạn, tạo các bảng và sau đó tải các dữ liệu bảng
mục trước khi chờ đợi và theo dõi các chủ đề khác. Các đề người lao đọng sẽ chờ
cho thread màn hình để hoàn thành công việc ban đầu của nó. Sau đó các đề
người lao đọng sẽ tạo ra và chèn dữ liệu cho kho được giao như thể hiện trong
hình 7. Không có tập tin dữ liệu trung gian hoặc bằng tay bản xây dựng cần thiết,
HammerDB cả hai sẽ tạo ra và tải dữ liệu của bạn yêu cầu đọng. Dữ liệu được đưa

vào trong mọt định dạng hàng loạt cho hiệu suất tối ưu mạng.

22


Pre-Testing and Planning

23


• PostgreSQL Host: Địa chỉ máy chủ của hệ thống chạy thử Postgre mà
HammerDB kết nối đến.
• PostgreSQL Port: Cổng của PostgreSQl service. Theo mặc định chuẩn khi cài
đặt PostgreSQl là 5432 hoặc 5444 cho bản EnterpriseDB..
• PostgreSQL Superuser: người dùng cấp cao có đầy đủ quyền hạn để tạo ra
người dùng mới và cơ sở dữ liệu trong việc tạo ra lược đồ thử nghiệm.
• PostgreSQL Superuser Password: Mật khẩu cho PostgreSQL superuser được
xác định trong quá trình cài đặt
• PostgreSQL Default Database: là cơ sở dữ liệu để xác định cho superuser kết
nối.
• EnterpriseDB Oracle Compatible: Chọn EnterpriseDB Oracle tương thích tạo
ra mọt sơ đồ bằng cách sử dụng tính năng Oracle tương thích của
EnterpriseDB có cài đặt Postgres Thêm Advanced Server. build này sử dụng
Oracle PL / SQL cho việc tạo ra các thủ tục lưu trữ và được thể hiện là
ora_compatible tham số trong phần tùy chọn có thể chỉnh sửa kịch bản.
• TPC-C Driver Script
Dưới điều khiển kịch bản TPC-C bạn có thể chọn lựa chọn mọt trong hai
kịch bản điều khiển tiêu chuẩn hoặc trình điều khiển Script Timed Test. Lựa chọn
này sẽ thay đổi đọng các Script điều khiển được nạp khi tùy chọn trình đơn TPC-C
Drive Script được chọn. Các driver Script tiêu chuẩn như trong hình 13 là mọt kịch

bản chạy bằng tất cả người dùng ảo. Kịch bản này nên được lựa chọn nơi mà bạn
muốn tạo ra mọt tải trọng đối với các cơ sở dữ liệu và xem tỷ lệ giao dịch nhưng
không muốn để chạy thử nghiệm hẹn giờ hoặc không muốn thời gian kiểm tra
bằng tay mình. The Script điều khiển tiêu chuẩn có thể được chạy với Virtual tài
Output bật, mà sẽ hiển thị tất cả các
thông tin mỗi người dùng ảo quá trình hay với Virtual tài Output tắt để có
thể quan sát tỷ giá giao dịch chỉ. Tùy chọn điều khiển thêm sự lựa chọn của bạn là
dân cư trong phần chỉnh sửa OPTIONS.

24


Khi bạn click chuọt vào “Yes”, HammerDB sẽ đăng nhập vào dịch vụ
PostgreSQL và tạo cho người dùng với mật khẩu mà bạn đã chọn. Sau đó nó sẽ
thoát ra và đăng nhập lại như người sử dụng

25


×