7

Click here to load reader

Justificacion de Utilizar PHP y PostGres

Embed Size (px)

Citation preview

Page 1: Justificacion de Utilizar PHP y PostGres

Justificación de utilizar PHP y PostGreSql

POSTGRESQL

PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo

licencia BSD y con su código fuente disponible libremente. Es el sistema de gestión de

bases de datos de código abierto más potente del mercado.

PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos

para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el

resto y el sistema continuará funcionando.

Componentes más importantes en un sistema PostgreSQL.

Page 2: Justificacion de Utilizar PHP y PostGres

Aplicación cliente: Esta es la aplicación cliente que utiliza PostgreSQL como

administrador de bases de datos. La conexión puede ocurrir vía TCP/IP ó sockets

locales.

Demonio postmaster: Este es el proceso principal de PostgreSQL. Es el

encargado de escuchar por un puerto/socket por conexiones entrantes de clientes.

También es el encargado de crear los procesos hijos que se encargaran de

autentificar estas peticiones, gestionar las consultas y mandar los resultados a las

aplicaciones clientes

Ficheros de configuración: Los 3 ficheros principales de configuración utilizados

por PostgreSQL, postgresql.conf, pg_hba.conf y pg_ident.conf

Procesos hijos postgrest: Procesos hijos que se encargan de autentificar a los

clientes, de gestionar las consultas y mandar los resultados a las aplicaciones

clientes

PostgreSQL share buffer cache: Memoria compartida usada por POstgreSQL

para almacenar datos en caché.

Write-Ahead Log (WAL): Componente del sistema encargado de asegurar la

integridad de los datos (recuperación de tipo REDO)

Kernel disk buffer cache: Caché de disco del sistema operativo

Disco: Disco físico donde se almacenan los datos y toda la información necesaria

para que PostgreSQL funcione

Características

La última serie de producción es la 9.1. Sus características técnicas la hacen una de las

bases de datos más potentes y robustas del mercado. Su desarrollo comenzo hace más

de 16 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de

administración e implementación de estándares han sido las características que más se

han tenido en cuenta durante su desarrollo. PostgreSQL funciona muy bien con grandes

cantidades de datos y una alta concurrencia de usuarios accediendo a la vez al sistema.

Generales

Es una base de datos 100% ACID

Integridad referencial

Tablespaces

Nested transactions (savepoints)

Page 3: Justificacion de Utilizar PHP y PostGres

Replicación asincrónica/sincrónica / Streaming replication - Hot Standby

Two-phase commit

PITR - point in time recovery

Copias de seguridad en caliente (Online/hot backups)

Unicode

Juegos de caracteres internacionales

Multi-Version Concurrency Control (MVCC)

Multiples métodos de autentificación

Acceso encriptado vía SSL

Actualización in-situ integrada (pg_upgrade)

SE-postgrest

Completa documentación

Licencia BSD

Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX,

Mac OS X, Solaris, Tru64) y Windows 32/64bit.

Justificación

Las características del producto a desarrollar se inclinan a utilizar herramientas gratuitas para su desarrollo, una de las opciones sin lugar a dudas es MYSQL, una herramienta muy potente en el área de Bases de Datos, hasta el momento sigue siendo gratuita, tiene mucha facilidad de integrarse con PHP, pero al ser adquirida por ORACLE y debido a las políticas que hasta el momento ha implementado esa organización, se teme que en un momento dado deje de serlo, por lo que la mejor alternativa, de acuerdo a la información obtenida, es utilizar POSTGRESQL.

A continuación se enlista un resumen con 10 razones para utilizar este producto.

1. Código fuente libre y de alta calidad

2. Licencia BSD - En pocas palabras, puedes hacer prácticamente lo que quieras con

el producto, sin restricciones.

3. Soporte profesional tanto de la comunidad como de empresas especializadas.

4. Requerimientos de administración y mantenimiento relativamente bajos con

respecto el resto de bases de datos comerciales

5. Fiabilidad y estabilidad legendarias

6. Rendimiento excelente

7. Diseñada para entornos con altos volúmenes de tráfico/transacciones

8. Extensible

9. Multiplataforma

10. Herramientas gráficas y de línea de comandos para diseñar nuestras bases de

datos y administrarlas

Page 4: Justificacion de Utilizar PHP y PostGres

PHP

PHP es uno de los lenguajes para web más populares y con el que me siento más

cómodo trabajando.

1.- La Comunidad PHP

PHP tiene una comunidad muy grande de desarrolladores, existen miles de lugares donde

se pueden encontrar: documentación, tutoriales, ejemplos de código, foros. Si se tiene un

problema con PHP puedes encontrar la respuesta en muchos sitios en donde los usuarios

comparten el conocimiento adquirido en el proceso de desarrollo.

2. Aprender PHP es fácil

PHP es fácil de aprender comparado con otros lenguajes de programación. El lenguaje es

semejante a C y Java pues la sintaxis primaria está basada en Perl. Además si

conoces Javascript o ActionScriptverás la semejanza entre estos lenguajes por ejemplo

en sus estructuras de control. Otro punto es que PHP tiene librerías especializadas en

determinados trabajos por lo cual solo necesitas conocer la sintaxis, aplicarla y lograrás

grandes resultados.

3. Rendimiento

El rendimiento de PHP es muy bueno y verdaderamente eficiente, utilizando un servidor

modesto puedes atender millones de peticiones al día. Además de ello si necesitas

mejorar este rendimiento Zend Technologies ha desarrollado versiones especiales para

incrementar este rendimiento.

4. Bajo Costo

El precio para utilizar PHP es cero, PHP es gratuito y lo

puedes descargar desde www.php.net. Incluso si contratas un hosting verás que sale más

barato uno con soporte PHP comparado con el que tiene soporte ASP o ASP.NET.

5. Es Open Source, lo puedes modificar

PHP es Open Source es decir que se tiene acceso al código fuente. Si deseas agregar o

modificar algo para obtener un funcionamiento de acuerdo a tus necesidades puede

Page 5: Justificacion de Utilizar PHP y PostGres

hacerlo con total libertad. Esto a diferencia de las aplicaciones comerciales en las cuales

solo queda esperar versiones mejoradas de la empresa desarrolladora. Este punto es

importante también pues teniendo acceso al código miles de desarrolladores

detectan bugs y van corrigiendo y mejorando PHP, logrando tener una aplicación muy

segura y constantemente mejorada.

6. Librerías Incluidas

PHP fue diseñada para trabajar sobre la web por ello trae un conjunto muy amplio de

funciones para ser utilizadas en diferentes tares relacionadas con la web. Se puede

conectar con bases de datos, conectar a web services, parsear XML, enviar email,

generar PDFs, generar imágenes, etc. Basadas en estas librerías existes clases

implementadas para facilitar el trabajo de los desarrolladores. Otro punto es que hay

desarrolladores que agregan librerías especializadas para extender las funcionalidades de

PHP.

7. Portabilidad

PHP está disponible para la mayoría de sistemas operativos existentes. Desde Unix,

Linux, Microsoft Windows, MAC, entre otros. Una vez desarrollado tu aplicación PHP esta

puede funcionar cualquiera de estos sistemas operativos sin necesidad de modificar el

código.

8. Soporte para OOP

La versión 5 de PHP está diseñada para soporte de características de programación

orientada a objetos. Características como herencia, métodos y atributos públicos o

privados, clases y métodos abstractos, constructores, interfaces y destructores. Si tienes

conocimientos de C++ o Java estas características te serán muy familiares con una

sintaxis muy similar.

9. Soporte para gran variedad de Bases de Datos

PHP tiene soporte para conectarse a una gran variedad de base de datos como: MySQL,

PostgreSQL, mSQL, Oracle, dbm, FilePro, HyperWave, Informix, InterBase, Sybase entre

Page 6: Justificacion de Utilizar PHP y PostGres

otras. Las base de datos hacen que una aplicación sea más robusta y con este soporte tu

aplicación puede conectarse con facilidad a tu base de datos existente.

10. Soporte

Si lo que necesitas es soporte, Zend Technologies la empresa que patrocina PHP, ofrece

versiones comerciales con todo el soporte que puedas necesitar.