Giới thiệu về PostgreSQL

Thảo luận trong 'PostgreSQL' bắt đầu bởi admin, 12/1/13.

  1. admin Administrator

    Giới thiệu về hệ quản trị cơ sở dữ liệu PostgreSQL


    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 kiến ​​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. Do nó hoàn toàn tuân thủ ACID, 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 tự hào 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 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ố thong tin giới hạn khả năng của PostgreSQL.

    [IMG]


    Những tính năng ưu việc của hệ quản trị cơ sở dữ liệu PostgreSQL:

    1. Đầy đủ các chức năng theo chuẩn

    PostgreSQL tự hào tuân thủ theo các các tiêu chuẩn về hệ quản trị cơ sở dữ liệu. Thực hiện ngôn ngữ truy vấn của nó mạnh mẽ và phù hợp với tiêu chuẩn ANSI-SQL: 2008. Hệ quản trị cơ sở dữ liệu này còn hỗ trợ đầy đủ cho các truy vấn con (bao gồm cả subselects trong mệnh đề FROM), xác nhận đọc và mức độ biệt lập giao dịch riêng. Đồng thời, PostgreSQL có đầy đủ danh mục các loại quan hệ và hỗ trợ nhiều lược đồ (Diagram) cho mỗi cơ sở dữ liệu. Các cơ sở dữ liệu của hệ quản trị này cũng thể truy cập thông qua các scheme như tiêu chuẩn của ngôn ngữ truy vấn SQL.

    Các tính năng toàn vẹn dữ liệu bao gồm khóa chính, khóa ngoại, tầng cập nhật / xóa, kiểm tra hạn chế, ràng buộc duy nhất, và những hạn chế không null.

    PostgreSQL cũng có một loạt các phần mở rộng và các tính năng tiên tiến. Trong số các tiện ích đó như cột tự động tăng theo trình tự, và LIMIT / OFFSET cho phép trả về kết quả từng phần. PostgreSQL hỗ trợ compound, unique, partial, và functional indexes mà ta có thể sử dụng các phương thức như B-tree, R-tree, hash hoặc GiST.

    Gist lập chỉ mục (Generalized Search Tree) là một hệ thống tiên tiến trong đó tập hợp một mảng rộng các thuật toán khác nhau nhằm sắp xếp và tìm kiếm trên các cây bao gồm B-tree, B+-tree, R-tree, partial sum trees, ranked B+-trees những loại cây khác. Nó cũng cung cấp một giao diện cho phép tạo ra các kiểu dữ liệu tùy chỉnh cũng như các phương pháp truy vấn mở rộng để tìm kiếm chúng. Như vậy, nhìn chung Gist cung cấp sự linh hoạt để xác định những gì bạn lưu trữ, cách bạn lưu trữ, và xác định cách thức mới để tìm kiếm --- cách vượt xa những gì được cung cấp bởi các tiêu chuẩn B-tree, R-tree và những thuật toán thông thường khác.

    Gist là nền tảng cho nhiều dự án nào sử dụng PostgreSQL như OpenFTS và PostGIS. OpenFTS ((Open Source Full Text Search engine) cung cấp lập chỉ mục dữ liệu trực tuyến và lập thứ tự để tìm kiếm cơ sở dữ liệu. PostGIS là một dự án hỗ trợ thêm cho các đối tượng địa lý trong PostgreSQL. PostgreSQL cho phép nó được sử dụng như một cơ sở dữ liệu chung cho các hệ thống thông tin địa lý (GIS), giống như SDE của ESRI hoặc không gian mở rộng của Oracle.

    Các tính năng tiên tiến khác bao gồm thừa kế bảng, một hệ thống quy tắc, và các sự kiện với cơ sở dữ liệu. Bảng thừa kế đặt sử dụng cách hướng đối tượng để tạo ra bảng. Tính năng này cho phép thiết kế cơ sở dữ liệu mới lấy từ các bảng khác, xử lý chúng như các lớp cơ sở. Thậm chí tốt hơn, PostgreSQL hỗ trợ cả đơn và đa thừa kế.

    Hệ thống quy định, còn được gọi là hệ thống viết lại truy vấn, cho phép các nhà thiết kế cơ sở dữ liệu tạo ra các quy tắc xác định các hoạt động cụ thể cho một bảng hoặc view, và tự động chuyển đổi chúng thành hoạt động thay thế khi chúng được xử lý.

    Hệ thống các sự kiện là một hệ thống thông tin liên lạc interprocess. Các đối tượng sử dụng tham số Listen và Message để liên lạc theo cách ngang hàng và phối hợp sự kiện cơ sở dữ liệu.

    2. Tùy biến cao

    PostgreSQL chạy thủ tục lưu trữ trong hơn mười ngôn ngữ lập trình, bao gồm cả Java, Perl, Python, Ruby, Tcl, C/C++ và trong chính PL / pgSQL, hệ thốngtương tự như Oracle PL / SQL. Thư viện với hàng trăm chức năng được xây dựng từ những chức năng cơ bản như chuỗi số đến các thuật toán phức tạp như mã hóa và đặc biệt tương thích với Oracle. Trigger và các thủ tục lưu trữ có thể được viết bằng C thêm vào cơ sở dữ liệu như là một thư viện, cho phép linh hoạt mở rộng khả năng của mình. Tương tự như vậy, PostgreSQL bao gồm một frameworkcho phép các nhà phát triển để xác định và tạo ra các kiểu dữ liệu của riêng mình cùng với việc hỗ trợ xậy dựng các chức năng với những toán tử mới nhằm sử dụng hiệu quả. Như vậy, người dùng có thể tạo ra một loạt các loại dữ liệu mới, tiên tiến từ các dữ liệu gốc ban đầu như địa chỉ địa lý, địa chỉ mạng…
    Vì có nhiều ngôn ngữ hỗ trợ thủ tục PostgreSQL, nên ta có thể khai thác nhiều thư viện giao tiếp tốt. Sau đây là một số giao tiếp với Java (JDBC), ODBC, Perl, Python, Ruby, C, C++, PHP, Lisp, Scheme, và Qt.

    Trên hết, mã nguồn của PostgreSQL được phát hành theo mã nguồn mở tự do. Với quyền này sẽ mang lại cho bạn sự tự do để sử dụng, sửa đổi và cài đặt PostgreSQL trong bất kỳ hình thức nào mà bạn thích. Bất kỳ sửa đổi, cải tiến, hoặc những thay đổi bạn thực hiện là phục vụ nhu cầu của bản thân các bạn. Với PostgreSQL, đây không chỉ một hệ thống cơ sở dữ liệu mạnh mẽ chuyên nghiệp, PostgreSQL còn là một nền tảng phát triển ứng dụng đơn, web, hoặc các sản phẩm phần mềm thương mại yêu cầu một RDBMS.
    Chính vì những ưu điểm như vậy mà PostgreSQL đã đạt được sự hài lòng của những người sử dụng và cả chuyên gia về công nghệ thông qua các giải thưởng như Linux New Media dành cho hệ điều hành tốt nhất và năm lần chiến thắng giải do tạp chí Linux Journal Editors bình chọn về DBMS tốt nhất.
    (nguồn: http://kdtqt.duytan.edu.vn/)

Chia sẻ trang này