Академический Документы
Профессиональный Документы
Культура Документы
postgreSQL
MySQL
postgreSQL
Licencia BSD Arquitectura slida y monoltica Amplio soporte de concurrencia Vistas Subselects Optimizacin de consultas Foreign Keys (Integridad referencial) Transacciones (Integridad transaccional) OOP - Herencia Triggers Integracin con varios entornos
postgreSQL
Existe un proceso monitor encargado de hacer fork de procesos que atienden cada conexin.
postgreSQL
MVCC
Las operaciones de WRITE no bloquean a la de READ. La lectura de un dato que esta siendo modificado por otro usuario devuelve el valor anterior a la modificacin.
postgreSQL
Optimizacin de consultas
Sofisticado query planner encargado de optimizar la estrategia optima de acceso a los datos. El planner es configurable.
postgreSQL
Integridad referencial
postgreSQL
Integridad transaccional
postgreSQL
Soporte de herencia
postgreSQL
Monitoreo de actividad
Es posible consultar la actividad en la DB utilizando vistas del sistema Contienen informacin relacionada con el desempeo de la DB:
postgreSQL
Otros
Triggers
Herramientas relacionadas
mySQL
Licencia GPL o comercial Arquitectura basada en mdulos Subselects Foreign Keys (Integridad referencial)
Integracin
mySQL
Arquitectura basada en mdulos
La gestin de datos se implementa en diferentes motores de almacenamiento cada uno con caractersticas propias.
ISAM: El original. No transaccional. Bloqueo por tablas. BDB: Transaccional. Bloqueo paginas. MEMORY=HEAP: Almacenamiento en memoria. MERGE: Combina varias tablas myISAM como una sola. MyISAM: ISAM mejorado. InnoDB: Transaccional. Bloqueo filas. Integridad referencial.
mySQL Clusters
No hay nico de punto de falla. Los nodos tienen capacidad de auto recuperacin luego de eventuales cadas. Soporte de nodos geogrficamente dispersos. Se aproxima al ideal de la escalabilidad horizontal.
Comparacin
<>
postgresql
Soporta casi completamente SQL92/99. Agrega alguna caracterstica object-oriented. Capacidad de manejar
mySQL:
MySQL soporta SQL92. Pueden hacerse querys que vinculan datos de diferentes bases. Soporta left y right outer join con sintaxis ANSI y ODBC. A partir de la versin 4.1 se soportaran subqueries. Views planificadas para la versin 5
rutinas complejas reglas declarativas Subqueries views soporte multi-usuario Transacciones optimizacin de querys herencia y arrays.
Desempeo
postgreSQL:
mySQL:
Con myIsam es extremadamente rpido. Manejo de conexiones muy rpido, especialmente ideal para ser usado con CGI o similar.
(Google Yahoo).
Estabilidad
postgreSQL:
mySQL:
Hasta la versin 6 hubo dificultades: desconexiones aleatorias, core dumps, y memory leaks. A partir de las versiones 7 estos problemas han sido muy mejorados.
Mayor estabilidad aun manejando cientos de conexiones simultaneas. Desconexiones aleatorias, y core dumps son raros. Esta mas extendido que PostgreSQL en su uso lo cual implica que sea mas probado en ambientes de produccin
Integridad de datos
postgreSQL:
mySQL:
Caractersticas especiales
postgreSQL:
mySQL:
Soporta reglas, triggers, funciones server-side que pueden ser codificadas en C, pgsql, python, perl o tcl. Actualizacin de vistas. Replicacin basada en herramientas externas. SQL Schemas
La integracin con C server-side es considerada inconveniente. Tools de administracin propias. Replicacin nativa Hot backup Planificadas
Transacciones anidadas. Sistema de autorizaciones aplicado al diccionario de la DB permite restringir operaciones tales como creacin de ndices.
Stored procedures 5.0 Views 5.0 Triggers 5.1 Full outer joins 5.1 Constraints 5.1
Seguridad
postgreSQL:
mySQL:
Menor granularidad de permisos sobre objetos a nivel de la DB. Control de login muy completo
postgreSQL:
mySQL:
ISAM/MyISAM implementa table locking. Bloqueo por pagina para tablas BDB. Bloqueo por fila para tablas InnoDB
Ante lock a nivel de fila modificada otros usuarios ven la versin no modificada del dato. Con MVCC las operaciones de READ no son bloqueados por las de WRITE.
postgreSQL:
mySQL:
No son soportados por pg_dump. Pueden manejarse va ODBC/JDBC etc. Requieren manejo especial si programamos en ambiente nativo.
Text y LOBs son tipos de datos communes. No requieren ningn manejo especial.
postgreSQL:
mySQL:
Adems de agregar columnas, pueden quitarse, renombrarse y aun cambiar su tipo (encargndose de la conversin).
Soporte multi-idioma
postgreSQL:
Flags de compilacin
mySQL:
--enable-locale
realiza algunas tareas basado en el locale del cliente. (Multibyte support) soporta conversin entre varios juegos de caracteres predefinidos Ninguno soporta bases de datos multicharset.
--with-mb
MySQL