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

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải pháp nâng cao tốc độ hiển thị dữ liệu trên bản đồ trực tuyến 04 (Trang 29 - 34)

1.3.1. Giới thiệu

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…

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.2. Các đặc điểm của PostgreSQL

- Hoạt động được trên nhiều hệ điều hành như: Linux, UNIX (AIX, BSD, HP- UX, SGI IRIX, Mac OS X, Solaris, Tru64) và Windows.

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

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

Bảng 1.2. Các khả năng của hệ quản trị dữ liệu PostgreSQL

- 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 index 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, Functional indexes.

- Cho phép người dùng tạo các kiểu dữ liệu mới, các hàm, các thủ tục…

- PostgreSQL không quy định những hạn chế trong việc sử dụng mã nguồn của phần mềm nên có thể được dùng, sửa đổi và phổ biến bởi người dùng cho bất kỳ mục đích nào.

- 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

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.

- Cho phép thực hiện các câu truy vấn truyền thống: Select, Update, Insert.... - Cho phép thực hiện các câu truy vấn không gian với phần mở rộng PostGIS: ST_Distance, ST_DWithin, ST_Intersects…

1.3.3. Ƣu nhƣợc điểm của PostgreSQL

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

1.3.3.2. Nhược điểm

- Bị giới hạn về số lượng và độ lớn dữ liệu.

- Tốc độ truy cập chậm hơn MySQL (mã nguồn mở) - Cộng đồng người sử dụng tương đối ít.

Các bảng so sánh dưới đây sẽ tóm tắt các ưu nhược điểm của PostgreSQL so với các hệ quản trị CSDL khác:

Bảng 1.3. So sánh tính năng hỗ trợ hệ điều hành hỗ trợ

Windows MacOS Linux Unix

DB2 có không có có

Microsoft SQL Server

có không không không

MySQL có có có có

Oracle có có có có

PostgreSQL có có có có

Bảng 1.4. So sánh hiệu suất lưu trữ số liệu

Độ lớn CSDL tối đa. Độ lớn bảng tối đa Độ lớn hàng tối đa. Số cột tối đa cho mỗi hàng DB2 512 TB 512 TB 32677 B 1012 Microsoft SQL Server 524258 TB 524258 TB không giới hạn 20000

MySQL không giới hạn 16 TB 64 KB 4096

Oracle không giới hạn không giới hạn

không giới hạn

1000

Bảng 1.5. So sánh một số tính năng cơ bản

Union Intersect Except

Inner joins Outer joins Inner selects Merge joins DB2 có có có có có có có Microsoft SQL Server có có có có có có có

MySQL có không không có có có có

Oracle có có có có có có có

PostgreSQL có có có có có có có Bảng 1.6. So sánh phương thức quản lý và phân vùng

Range Hash Composite (Range+Hash) List

DB2 có có có có

Microsoft SQL Server

có không không không

MySQL có có có có Oracle có có có có PostgreSQL có có có có Mã hóa mạng có nguồn gốc Bảo vệ Brute-force Quy định mật khẩu phức tạp Chứng nhận an toàn DB2 có ? có có Microsoft SQL Server có ? có có

MySQL có không không không

Oracle có có có có

PostgreSQL có không không có

Từ 5 bảng trên có thể thấy, Microsoft SQL Server và MySQL nhìn chung có hiệu năng kém hơn so với 3 DBMS còn lại. Trong 3 DBMS này, Oracle và DB2 là các

phần mềm thương mại trong khi PostgreSQL là phần mềm mã nguồn mở. Do DBMS được yêu cầu quản lý dữ liệu không quá lớn, PostgreSQL thích hợp hơn với đầy đủ các tính năng cơ bản như DB2 và Oracle. Về bảo mật, do cơ sở dữ liệu của ta thực chất được quản lý theo cây thư mục nên bảo mật được chuyển sang cho hệ điều hành nhiều hơn là cho DBMS. Các tính năng bảo mật hiện có của PostgreSQL, dù không đầy đủ bằng DB2 và Oracle, đủ để đảm bảo vấn đề bảo mật của cơ sở dữ liệu.

1.3.4. Module PostGIS

PostGIS được Refraction Research Inc phát triển, như một dự án nghiên cứu công nghệ CSDL không gian. PostGIS hỗ trợ đối tượng địa lý cho CSDL đối tượng quan hệ PostgreSQL. PostGIS “kích hoạt khả năng không gian” cho PostgreSQL, cho phép PostgreSQL sử dụng như một CSDL không gian phụ trợ cho các hệ thống thông tin địa lý (GIS). PostGIS được sử dụng như một CSDL không gian, nên nó bao gồm tất cả các đặc điểm của CSDL không gian. Ngoài ra, nó còn có những đặc trưng như:

+ Các kiểu dữ hình học như Point, Linestring, Polygon, Multipoint, multilinestring, Multipolygons và Geometrycollection. Các kiểu dữ liệu hình học này được lưu trữ như những đối tượng hình học.

+ Các toán tử không gian cho phép xác định các phép đo không gian địa lý như tính

diện tích, tính khoảng cách, tính độ dài, và tính chu vi. PostGIS hỗ trợ các hàm như: ST_Area(), ST_Length(), ST_Perimeter(), ST_Distance()…các hàm này thường thực hiện chức năng kiểu phép đo.

+ Các toán tử không gian cho phép xác định không gian địa lý. Các thao tác như phép

hợp, so sánh sự khác nhau giữa các đối tượng hình học. Các toán tử được PostGIS hỗ trợ để làm việc này có thể là: ST_Difference(): trả về phần khác nhau giữa 2 đối tượng hình học hay hàm ST_Buffer()…

+ PostGIS cung cấp việc đánh chỉ mục không gian tốc độ cao sử dụng GisT hoặc R- tree. Công cụ đánh chỉ mục không gian mà PostGIS hỗ trợ làm tăng tốc cho truy vấn không gian đặc biệt là trên bảng dữ liệu lớn.

+ Chỉ mục hỗ trợ chọn lọc, cung cấp việc thực hiện truy vấn bản đồ pha trộn truy vấn không gian hoặc truy vấn không có không gian.

CHƢƠNG 2. GIẢI PHÁP NÂNG CAO TỐC ĐỘ HIỂN THỊ DỮ LIỆU ĐỊA LÝ TRÊN BẢN ĐỒ TRỰC TUYẾN

2.1. Nguyên nhân làm chậm tốc độ hiển thị khi số lƣợng đối tƣợng lớn

Máy tính luôn phải cấp phát bộ nhớ cho quá trình hiển thị các đối tượng trên màn hình. Khi số lượng điểm tăng lên sẽ chiếm dụng nhiều bộ nhớ, đồng thời quá trình vẽ lại các đối tượng trên màn hình khi người sử dụng tương tác với bản đồ sẽ tốn nhiều gian hơn. Đây là nguyên nhân chính ảnh hưởng tới tốc độ hiển thị dữ liệu trên Web khi người sử dụng thực hiện các thao tác như thay đổi tỷ lệ bản đồ hoặc di chuyển bản đồ với tần suất cao. Mục đích của quá trình gộp điểm nhằm gom những đối tượng gần nhau hoặc bị chồng đè lên nhau và thể hiện thành một đối tượng đại diện. Bằng cách này, các đối tượng đại diện sẽ được tạo ra, thay thế cho các đối tượng trước đây và có số lượng ít hơn nhiều lần. Do đó máy tính (trình duyệt) chỉ quản lý ít hơn các đối tượng đang hiển thị mà không ảnh hưởng tới nội dung bản đồ khi người dùng xem ở từng mức zoom cụ thể.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải pháp nâng cao tốc độ hiển thị dữ liệu trên bản đồ trực tuyến 04 (Trang 29 - 34)

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

(61 trang)