Justificacion de Utilizar PHP y PostGres
Click here to load reader
-
Upload
javier-estrada -
Category
Documents
-
view
209 -
download
0
Transcript of 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.
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)
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
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
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
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.