jueves, 6 de junio de 2013

Las principales características y avances de PostgresSQL.

clip_image002

En el artículo anterior vimos la Introducción sobre Postgres y su evolución, a continuación queremos mostrarles las principales características que definen a postgresSql como uno de los gestores de base de datos de la más alta calidad y usabilidad para soportar cualquier variedad de proyectos, y sin dudas la base de datos más importante del mundo del software libre y una de las más importantes del mundo en general.

 

  • Es un Gestor de datos Objeto-Relacional

Postgresql organiza los datos con un modelo objeto-relacional, es capaz de manejar procedimientos, rutinas complejas, y reglas. Ejemplos de su funcionalidad avanzada son consultas declarativas SQL, control de versiones múltiples concurrentes, soporte multiusuario, transacciones de dos fases, optimización de consultas, herencia de datos, arreglos y matrices multidimensionales.

 

  • Altamente Extensible

Postgresql soporta operadores, funciones, métodos de acceso y tipos de datos declarados por el usuario. Soporta también sobrecarga de operadores, sobrecarga de procedimientos, vistas materializables y particionamiento de tablas y datos.

 

  • Soporte comprensivo de SQL

Postgresql soporta la especificación base SQL99, SQL:2003 y también incluye características avanzadas como las uniones SQL92.

 

  •  Integridad Referencial

Postgresql soporta integridad referencial, la cual es usada para asegurar la validez de la información dentro de la base de datos.

 

  •  API sumamente flexible

La flexibilidad del API de PostGreSQL ha permitido a entidades que provean soporte de fácil desarrollo para la base de datos de PostGreSQL. Estas interfaces incluyen Object Pascal, Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/C++, Pike y una larga lista más de muchos más.

  • Lenguajes Procedimentales

PostGreSQL tiene soporte para lenguajes internos procedimentales, incluyendo un lenguaje ativo llamado PL/pgSQL. Este lenguaje es comparable con el lenguaje procedimental de Oracle, PL/SQL. Otra ventaja de PostGreSQL es la capacidad de usar PERL, Pitón, TCL, Ruby,

PHP, Shell Scripting, etc.; como lenguajes procedimentales internos e integrados.

 

  •  MVCC

MVCC, o control de versiones múltiples concurrentes, es la tecnología que PostGreSQL usa para evitar los seguros (locking) innecesarios. Si usted ha usado cualquier otro gestor de base de datos SQL, como MySQL, MS SQL Server, Sybase ASE, etc.; se ha podido dar cuenta que

existen veces cuando la lectura de un cliente tiene que esperar para accesar a la información en la base de datos. La espera es causada por los clientes que están escribiendo registros e información en la base de datos. En pocas palabras, los clientes que leen son bloqueados por los otros clientes que escriben o actualizan registros en la base de datos. Usando MVCC, PostGreSQL evita este problema de manera definitiva. MVCC es considerado mucho mejor que los seguros a nivel de registros (row level-locking), debido a que el lector nunca es bloqueado por el escritor. En vez de eso, PostGreSQL mantiene un registro de todas las transacciones ejecutadas por los usuarios de la base de datos. PostGreSQL es entonces capaz de manejar registros sin hacer esperar a la gente a que los registros estén disponibles.

 

  •  Cliente / Servidor

PostGresSQL usa una arquitectura cliente / servidor basada en un proceso por usuario. Esto es similar al proceso que utiliza el servidor web Apache para el manejo de procesos. Existe un proceso maestro que se desprende para proveer conexiones adicionales por cada cliente que se intenta conectar a PostGreSQL.

 

  •  Write Ahead Logging (WAL)

La característica de PostGreSQL conocida como Write Ahead Logging incrementa la confiabilidad de la base de datos registrando los cambios antes de ser escritos a la base de datos. Esto asegura que, en caso de ocurrir un fallo critico en la base de datos, existirá un registro de transacciones del cual se pueda restaurar. Esto puede ser de gran beneficio en caso de cualquier fallo, como cualquier cambio que no haya sido totalmente escrito a la base de datos pueden ser recuperados usando los datos que fueron registrados anteriormente. Una vez el sistema es restaurado, el usuario puede continuar con su trabajo justo a partir del momento antes ocurrir el fallo.

Los esperamos en próximas entradas.


¿Te ha gustado este Post? Compártelo con tus amigos.

No hay comentarios:

Publicar un comentario

IconIconIcon