Tổng quan về PostGIS - PostGres là gì (Phần 1)

vào lúc 06:33
    Tầm quan trọng của hệ quản trị cơ sở dữ liệu  (DBMS)
    Cơ sở dữ liệu được xem như là biểu tượng của kỷ nguyên công nghệ thông tin và DBMS là một tập hợp các chương trình phần mềm được sử dụng để tổ chức, lưu trữ, quản lý, và lấy các dữ liệu trong cơ sở dữ liệu. DBMSs được phân loại theo cấu trúc dữ liệu hoặc theo kiểu dữ liệu. DBMS nhận yêu cầu về dữ liệu từ một chương trình ứng dụng và chỉ thị cho hệ điều hành để cung cấp dữ liệu phù hợp. Các truy vấn và trả lời phải được gửi và nhận theo một định dạng thích hợp với một hoặc nhiều giao thức phù hợp. Khi một DBMS được sử dụng, hệ thống thông tin có thể được thay đổi dễ dàng hơn. Các hạng mục mới của dữ liệu có thể được bổ sung vào cơ sở dữ liệu mà không làm gián đoạn hệ thống hiện tại.
    Có 2 kiểu tổ chức và quản lý cơ sở dữ liệu là: (i)  RDBMS(relational database management system): Hệ quản trị cơ sở dữ liệu quan hệ với ngôn ngữ truy vấn dạng SQL (Structured Query Language) và (ii)ODBMS (Object database management system): hệ quản trị cơ sở dữ liệu hướng đối  tượng với ngôn ngữ truy vấn dạng OQL (Object Query Language). Các tính năng hoạt động của DBMS không phụ thuộc vào cấu trúc dữ liệu, mà nó có liên quan với các yếu tố quản lý như hiệu suất, đồng bộ, toàn vẹn, và phục hồi dữ liệu nếu do các lỗi phần cứng. Ngày nay hầu hết các hệ quản trị cơ sở dữ liệu là hệ quản trị cơ sở dữ liệu quan hệ hoặc hệ quản trị CSDL quan hệ-hướng đối tượng (object-relational database system).
    Ngoài các ưu thế do đáp ứng các quy định về cấu trúc lưu trữ dữ liệu (Storage structures), tạo chỉ mục (indexing), tạo bản sao dữ liệu (replication), bảo mật (security), cho phép hoặc không cho phép chỉnh sửa cập nhật (locking), cho phép các chương trình ứng dụng giao diện với CSDL thông qua các hàm API (Application). Hệ quản trị CSDL phải đáp ứng tính toàn vẹn của CSDL (ACID: atomicity, consistency, isolation, và durability) khi xử lý bất kỳ giao dịch nào Trong một hệ quản trị cơ sở dữ liệu, một giao dịch là một đơn vị lô gích thao tác trên dữ liệu, có thể bao gồm nhiều thao tác.
Ø Tính nguyên tố (Atomicity). Một giao dịch có nhiều thao tác khác biệt thì hoặc là toàn bộ các thao tác hoặc là không một thao tác nào được hoàn thành.
Ø Tính nhất quán (Consistency). Một giao dịch hoặc là sẽ tạo ra một trạng thái mới và hợp lệ cho dữ liệu, hoặc trong trường hợp có lỗi sẽ chuyển toàn bộ dữ liệu về trạng thái trước khi thực thi giao dịch.
Ø Tính tách biệt (Isolation). Một giao dịch đang thực thi và chưa được xác nhận phải bảo đảm tách biệt khỏi các giao dịch khác.
Ø Tính bền vững (Durability). Dữ liệu được xác nhận sẽ được hệ thống lưu lại sao cho ngay cả trong trường hợp hỏng hóc hoặc có lỗi hệ thống, dữ liệu vẫn đảm bảo trong trạng thái chuẩn xác.
    Đối với một hệ thống thông tin địa lý, dữ liệu đầu vào cơ sở thường là các tập tin như  Shapefile, ArcInfo Coverage, MapInfo Table, DXF, hình ảnh... Nhưng việc lưu giữ thông tin có tổ chức trong hệ thống xử lý tập tin thông thường có một số điểm bất lợi như sau:
ü Dư thừa dữ liệu và thiếu đồng nhất (Data redundancy and inconsistency):  Do các tập tin và các ứng dụng được tạo ra bởi các phần mềm khác nhau, nên các tập tin có định dạng khác nhau, các phần mềm được viết trong các ngôn ngữ lập trình khác nhau, cùng một thông tin có thể được lưu giữ trong các tập khác nhau. Tính không thống nhất và dư thừa này sẽ làm tăng chi phí truy xuất và lưu trữ, hơn nữa, nó sẽ dẫn đến tính không đồng nhất của dữ liệu dẫn đến các bản sao của cùng một dữ liệu có thể không nhất quán.
ü Khó khăn trong việc truy xuất dữ liệu:  Môi trường của hệ thống xử lý file thông thường không cung cấp các công cụ cho phép truy xuất thông tin một cách hiệu quả và thuận lợi.
ü Sự cô lập dữ liệu ( Data  isolation ):  Các giá trị dữ liệu được lưu trữ trong cơ sở dữ liệu phải thoả mãn một số các ràng buộc về tính nhất quán của dữ liệu ( ràng buộc nhất quán / consistency contraints ).  Trong hệ thống xử lý tập tin thông thường, rất khó khăn trong việc thoả mãn các yêu cầu ràng buộc về dữ liệu. Vấn đề càng trở nên khó khăn hơn khi các ràng buộc này liên quan đến các hạng mục dữ liệu trong các tập tin khác nhau.
ü Các vấn đề về tính hoàn chỉnh của quá trình giao dịch (transaction):  Một giao dịch chỉ có 2 khái niệm: (i) được hoàn thành trọn vẹn, (ii) hoặc không thực hiện. Điều này có nghĩa là một giao dịch sẽ làm thay đổi các dữ liệu khi nó đã kết thúc thành công; nếu không, giao dịch không để lại một dấu vết nào trên CSDL (không thực hiện). Trong hệ thống xử lý tập tin thông thường thì rất khó đảm bảo được tính chất này.
ü Tính bất thường trong truy xuất đồng thời: Một hệ thống cho phép nhiều người sử dụng cập nhật dữ liệu đồng thời,  có thể dẫn đến kết quả là dữ liệu không nhất quán. Điều này đòi hỏi một sự giám sát, quản lý chặt chẽ, hệ thống xử lý tập tin thông thường không cung cấp chức năng này.
ü Vấn đề an toàn ( Security problems ):  một người sử dụng hệ cơ sở dữ liệu không cần thiết và cũng không có quyền truy xuất tất cả các dữ liệu. Vấn dề này đòi hỏi hệ thống phải đảm bảo được tính phân quyền, chống truy xuất trái phép ...
Ø Từ các bất lợi nêu trên nên chúng ta cần thiết phải cần có một hệ quản trị CSDL giúp quản lý dữ liệu một cách an toàn và hiệu quả, khắc phục được các khiếm khuyết của xử lý tập tin thông thường.
      Nhiệm vụ quan trọng nhất của một hệ thông tin địa lý là quản lý và khai thác các dữ liệu địa lý. Chính vì vậy, một hệ cơ sở dữ liệu cho phép truy xuất web cộng với khả năng lưu trữ và xử lý các dữ liệu địa lý sẽ luôn là thành phần cốt lõi của bất kỳ một hệ thống thông tin địa lý nào trên nền web. Một trong các hệ cơ sở dữ liệu mã nguồn mở đi đầu trong lĩnh vực này là PostGIS (http://postgis.refractions.net) - thành phần mở rộng của hệ cơ sở dữ liệu mã nguồn mở nổi tiếng PostgreSQL (http://www.postgresql.org). Với PostGIS, PostgreSQL có khả năng lưu giữ các dữ liệu địa lý như điểm, đường, vùng v.v và hỗ trợ một số thao tác cơ bản trên các dữ liệu này như xác định điểm trong đa giác hoặc đường bao của một vùng.

Cơ sở dữ liệu PostGreSQL.

      PostgreSQL là một hệ quản trị cơ sở dữ liệu đối tượng quan hệ. PostgreSQL là một chương trình mã nguồn mở xây dựng trên mã nguồn ban đầu của đại học Berkeley. Với hơn 15 năm phát triển, PostgreSQL đã có được uy tín cao về tính ổn định, tính toàn vẹn, và tính chính xác của dữ liệu. Nó theo chuẩn SQL99 và đáp ứng 4 thuộc tính cơ bản của hệ quản trị CSDL; sử dụng câu truy vấn phức tạp (complex query); kết nối (joint); khóa ngoại (foreign key); thủ tục sự kiện (trigger); các khung nhìn (view), tính toàn vẹn của các giao dịch (integrity transactions), kiểm tra đồng thời đa phiên bản (multiversion concurrency control).
Khả năng
Giá trị
Kích thước của CSDL
Không giới hạn
Kích thước của 1 bảng dữ liệu
32 TB
Kích thước của 1 dòng dữ liệu
1.6 TB
Kích thước của 1 trường dữ liệu
1 GB
Số lượng dòng trong 1 bảng
Không giới hạn
Số lượng cột trong 1 bảng
250 - 1600 tùy theo kiểu dữ liệu  của các cột
Số lượng chỉ mục trong 1 bảng
Không giới hạn

      Một số ưu điểm của PostgreSQL mà ta có thể kể đến như:
Ø 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), and 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
Ø 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 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, and functional indexes.
Ø Có thể tạo mới kiểu dữ liệu, các hàm, các thủ tục (procedure)…

      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 mọi người cho bất kỳ mục đích nào.

Hãy like nếu bài viết có ích →
Kết bạn với gisgpsrs trên Facebook để nhận bài viết mới nóng hổi

Không có nhận xét nào:

Đăng nhận xét