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

Một phần của tài liệu Thiết kế và xây dựng website quản lý nhà hàng (Trang 38 - 41)

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.4. Tìm hiểu cơ sở dữ liệu Postgresql

1.4.1. Giới Thiệu postgress:

PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ và đối tượng dựa trên POSTGRES, bản 4.2, được khoa điện toán của đại học California tại Berkeley phát triển. POSTGRES mở đường cho nhiều khái niệm quan trọng mà các hệ quản trị dữ liệu thương mại rất lâu sau mới có.

PostgreSQL không chỉ là cơ sở dữ liệu quan hệ, nó là quan hệ hướng đối tượng.

Điều này cung cấp cho nó một vài lợi thế so với các cơ sở dữ liệu SQL mã nguồn mở khác như MySQL, MariaDB và Firebird.

Một đặc điểm cơ bản của cơ sở dữ liệu quan hệ hướng đối tượng là hỗ trợ các đối tượng người dùng tự định nghĩa và các hành vi của chúng bao gồm các kiểu dữ liệu, các hàm, các thao tác, các tên miền và các chỉ mục. Điều này làm cho PostgreSQL cực kỳ mạnh và linh hoạt. Trong những cái khác, các cấu trúc dữ liệu phức tạp có thể được tạo ra, lưu trữ, và truy xuất. Trong một vài ví dụ ở bên dưới chúng ta sẽ nhìn thấy các cấu trúc hỗn hợp lồng nhau cái mà các hệ quản trị cơ sở dữ liệu chuẩn (RDBMS) không hỗ trợ.

1.4.2. Ư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ở.

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

1.4.3. 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/PGSQLHệ cơ sỡ dữ liệu PostgreSQL

1.4.4. Các kiểu dữ liệu và cấu trúc:

Có một danh sách các kiểu dữ liệu PostgreSQL hỗ trợ. Bên cạnh kiểu số, floating- point, chuỗi, boolean, và các kiểu dữ liệu mà chúng ta mong muốn (và nhiều tùy chọn

28 khác), PostgreSQL tự hào với uuid, tiền tệ, liệt kê (enumerated), hình học (geometric), nhị phân (binary), địa chỉ mạng, chuỗi bit, tìm kiếm văn bản, xml, json, mảng, hỗn hợp, và các loại khoảng (range types), cũng như một vài kiểu internal cho nhận biết đối tượng và vị trí đăng nhập. Để công bằng, MySQL, MariaDB và Firebird mỗi cái có một vài loại ở mức độ khác nhau, nhưng PostgreSQL hỗ trợ tất cả.

Giới hạn Giá trị

Kích thước tối đa của cơ sở dữ liệu Không giới hạn Kích thước tối đa của table 32 TB

Kích thước tối đa của hàng (row) 1.6 TB Kích thước tối đa của trường (field) 1 GB Số hàng tối đa trên mỗi bảng Không giới hạn

Số cột tối đa trên mỗi bảng 250 - 1600 phụ thuộc vào kiểu

cột

Số lượng index tối đa trên mỗi bảng Không giới hạn

Bảng 3. Kích thước dữ liệu trong postgresql

Hãy so sánh, MySQL và MariaDB được biết đến với giới hạn kích thước dòng là 65,535 byte. Firebird cũng chỉ có kích thước tối đa cho một dòng là 64KB. Thông thường kích thước dữ liệu được giới hạn bởi giới hạn kích thước file của hệ điều hành.

Bởi vì PostgreSQL có thể lưu trữ bảng dữ liệu trong nhiều file nhỏ hơn, nên nó có thể khắc phục được hạn chế này - mặc dù, điều quan trọng cần lưu ý là quá nhiều file có thể tác động tiêu cực đến hiệu năng. MySQL và MariaDB cũng làm được, tuy nhiên chúng hỗ trợ nhiều cột trên một bảng (lên tới 4,096 phụ thuộc vào kiểu dữ liệu) và kích thước mỗi bảng lớn hơn PostgreSQL, nhưng rất hiếm các điều kiện mà chúng ta cần thực hiện vượt quá các giới hạn của PostgreSQL.

29 Tóm lại, PostgreSQL có rất nhiều khả năng. Được xây dựng bằng cách sử dụng mô hình quan hệ hướng đối tượng, nó hỗ trợ các cấu trúc phức tạp và rất nhiều các kiểu dữ liệu được xây dựng sẵn và do người dùng tự định nghĩa. Nó cung cấp khả năng mở rộng dữ liệu và đáng tin cậy cho tính toàn vẹn dữ liệu. Chúng ta có thể không cần tất cả các tính năng tiên tiến chúng ta đã đề cập cho việc lưu trữ dữ liệu, nhưng khi nhu cầu dữ liệu phát triển nhanh, chắc chắn lợi ích rõ ràng đó là tất cả đã ở trong tầm tay của chúng ta.

Một phần của tài liệu Thiết kế và xây dựng website quản lý nhà hàng (Trang 38 - 41)

Tải bản đầy đủ (PDF)

(90 trang)