You are on page 1of 15

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

ANLISIS COSTO-BENEFICIO DE SQL SERVER, MYSQL Y POSTGRESQL


LISTA DE IDEAS Antes que todo se aclara que los tres SGBD se instalaron en diferentes plataformas, SQL server se instal en Windows 7 Ultimate Edition, MySQL se instal en un entorno Windows Vista Professional , mientras que PostgreSQL se instal en un entorno Linux, con la distribucin Ubuntu Server 10.04. Requisitos para instalar SQL Server 2008 en Windows 7. Se debe mencionar que la versin que se instal fue R2 Standard para una mquina con arquitectura x86, es decir, 32 bits. Los requisitos que debe cubrir el equipo tanto de hardware como de software son los siguientes:

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

Y la mquina que en que se instal si cubre los requisitos, ya que tiene las siguientes caractersticas:

Requisitos para instalar MySQL en Windows Vista professional MySQL se instal en un entorno Windows Vista Professional, con una arquitectura de 32 bits. Sus requisitos son los siguientes:

Un sistema operativo Windows de 32 bits, tal como 9x, Me, NT, 2000, XP, o Windows Server 2003. Se recomienda fuertemente el uso de un sistema operativo Windows basado en NT (NT, 2000, XP, 2003) puesto que stos permiten ejecutar el servidor MySQL como un servicio.

Soporte para protocolo TCP/IP. Una copia de la distribucin binara de MySQL para Windows. Nota: Si se descarga la distribucin a travs de FTP, se recomienda el uso de un cliente FTP adecuado que posea la caracterstica de reanudacin (resume) para evitar la corrupcin de ficheros durante el proceso de descarga.

Una herramienta capaz de leer ficheros .zip, para descomprimir el fichero de distribucin.

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

Suficiente espacio en disco rgido para descomprimir, instalar, y crear las bases de datos de acuerdo a sus requisitos. Generalmente se recomienda un mnimo de 200 megabytes. Tambin podran necesitarse los siguientes tems opcionales:

Si se planea conectarse al servidor MySQL a travs de ODBC, se deber contar con un driver Connector/ODBC. Si se necesitan tablas con un tamao superior a 4GB, debe instalarse MySQL en un sistema de ficheros NTFS o posterior. Al crear las tablas no debe olvidarse el uso de MAX_ROWS y AVG_ROW_LENGTH.

La mquina en este caso tambin cubri los requisitos para que se instalara el gestor, las caractersticas de la mquina ya se han puesto en los requisitos de SQL server.

Requisitos para instalar PostgreSQL en Ubuntu Server 10.04 PostgreSQL se instal en un entorno Linux Ubuntu Server 10.04, mediante virtualizacin, sus requisitos de instalacin son los siguientes: -8 megabytes de Memoria RAM -30 megabytes de espacio en disco duro para el cogido fuente -5 megabytes de espacio en disco duro para la instalacin de los ejecutables -1 megabyte extra para las bases de datos bsicas -3 megabytes de espacio en disco duro para el tarball con el cdigo fuente

La mquina virtual si cumpli los requisitos, ya que se cre una con las siguientes caractersticas:

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

CONFIGURACIONES
*Configuracin en SQL Server Si ests desarrollando una aplicacin que se conectar a una instancia de SQL Server Express a travs de la red, existen varias consideraciones a tener en cuenta: 1. Por razones de seguridad, los protocolos de red estn deshabilitados por defecto. Puedes habilitarlos individualmente durante una instalacin (Cuando instalas SQL Server Express mediante la lnea de comandos) y despus de una instalacin. 2. Por defecto, SQL Server Express es instalado como instancia nombrada. 3. El servicio SQL Browser es usado por algunos protocolos de red para asociar instancias nombradas con nmeros de puertos TCP/IP. En tanto, si SQL Server Express es instalado en una computadora donde haya una versin anterior al SP3 de MSDE de SQL Server 2000, pueden ocurrir algunos conflictos. cuando instalas SQL Server Express, los protocolos de red estn deshabilitados por defecto. Esto hace que despus de una instalacin, SQL Server Express no acepta conexiones de otras estaciones de una red. Apenas es permitida una conexin local (desde la misma mquina donde SQL Server Express fue instalado). Para permitir que SQL Server Express se comunique con sus aplicaciones a travs de una red, debes primero habilitar uno de los protocolos de red y entonces iniciar el servicio SQL Browser.

SQL Server Express soporta los siguientes protocolos de red:

Habilitando los protocolos de Red Mostraremos cmo habilitar y configurar el protocolo TCP/IP en SQL Server Express usando el utilitario SQL Server Configuration Manager. Nota: Debers reiniciar el servicio de SQL Server Express despus de hacer modificaciones a los protocolos de red. Tambin es recomendado reiniciar el servicio SQL Browser. Para habilitar el protocolo TCP/IP siga los pasos siguientes: 1. En el men Inicio selecciona Programas | Microsoft SQL Server 2005 | Herramientas de Configuracin y pulsa sobre SQL Server Configuration Manager. 2. Expande SQL Server 2005 Network Configuration y pulsa sobre Protocols for InstanceName. En el panel de la derecha, pulsa con el botn derecho del ratn sobre el protocolo TCP/IP y selecciona Enable Para configurar el protocolo TCP/IP: 1. En SQL Server Configuration Manager, pulsa con el botn derecho del ratn sobre TCP/IP y selecciona Properties. 2. En la guia IP Addresses, para IPAll coloca 1433 en TCP Port. 3. Pulsa OK para cerrar la ventana y guardar los cambios

Probando la Conectividad con SQL Server Express Una de las maneras ms simples de probar la conectividad con el servidor SQL Server Express es utilizando el utilitario de lnea de comandos sqlcmd.exe. Este utilitario es instalado junto con SQL Server Express. Para probar la conectividad, abre una ventana de la lnea de comandos y ejecute el comando: sqlcmd -E S<servidorSQLExpress>. En caso que tengas seleccionado Mixed Mode como mtodo de autenticacin a SQL Server Express, entonces tambin puedes utilizar el comando: sqlcmd -Usa -PclaveaccesoSa -S<servidorSQLExpress>. Si el prompt de comandos queda como 1>, es seal de que una conexin fue establecida con xito.

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

Adems del utilitario sqlcmd.exe, tambin es posible probar una conectividad remota con SQL Server Express utilizando el utilitario PortQry. El PortQry es un utilitario de lnea de comandos (tambin existe una opcin grfica) que puedes utilizar en la solucin de problemas de conectividad con el protocolo TCP/IP. Al ser ejecutado mostrar el estado del puerto TCP UDP, sea para una computadora local o remota. El PortQry puede ser ejecutado sobre el Windows 2000/2003/XP. Cuando es ejecutado sobre un puerto UDP 1434, el PortQry consulta todas las instancias del SQL Server que estn ejecutndose en la computadora. Para probar una conectividad utilizando el PortQry, asumiendo que el utilitario est en la raz del disco C:\, debes hacer lo siguiente: 1. Abre una ventana de la lnea de comandos y escribe C:\portqry -n NombreDeServidorOsuIP -e 1434 -p udp. Una respuesta semejante a la que vemos debajo garantiza que el puerto est funcionando correctamente: Querying target system called: Winxptmp Attempting to resolve name to IP address... Name resolved to 128.1.81.62 querying... UDP port 1434 (ms-sql-m service): LISTENING or FILTERED Sending SQL Server query to UDP port 1434... Server's response: ServerName WINXPTMP InstanceName SQLEXPRESS IsClustered No Version 9.00.852 tcp 1433 ==== End of SQL Server query response ==== UDP port 1434 is LISTENING 2. Para probar la conectividad con un puerto TPC/IP 1433 escribe C:\portqry -n NombreServidorOsuIP -e 1433 -p tcp. Un retorno semejante al que se muestra a continuacin garantiza que el puerto est funcionando correctamente: Querying target system called: Winxptmp Attempting to resolve name to IP address... Name resolved to 128.1.81.62 querying... TCP port 1433 (ms-sql-s service): LISTENING

*Configuracin en MYSQL Configuracin de los nodos de almacenamiento y SQL El fichero my.cnf necesitado por los nodos de datos es muy simple. El fichero de configuracin debe estar localizado en el directorio /etc y puede editarse (y crearse en caso necesario) usando un editor de texto, por ejemplo: vi /etc/my.cnf Para cada nodo de datos y SQL en nuestra configuracin de ejemplo, my.cnf debe tener este aspecto: [MYSQLD] # Options for mysqld process: ndbcluster # run NDB engine ndb-connectstring=192.168.0.10 # location of MGM node [MYSQL_CLUSTER] # Options for ndbd process: ndb-connectstring=192.168.0.10 # location of MGM node Tras introducir lo anterior, guarde este fichero y salga del editor de texto. Hgalo pra las mquinas que guarden el nodo de datos "A", el "B" y el nodo SQL. Configuracin del nodo de administracin El primer paso al configurar el nodo MGM es crear el directorio en que puede encontrarse el fichero de configuracin y crear el fichero prpiamente dicho. Por ejemplo (ejecutando como root):

PEDRO CAMACHO MARTNEZ


mkdir /var/lib/mysql-cluster cd /var/lib/mysql-cluster vi config.ini Mostramos vi para crear el fichero, pero puede usar cualquier editor de textos. Para nuestra inicializacin representativa, el fichero config.ini debe leerse as: [NDBD DEFAULT] # Options affecting ndbd processes on all data nodes: NoOfReplicas=2 # Number of replicas DataMemory=80M # How much memory to allocate for data storage IndexMemory=18M # How much memory to allocate for index storage # For DataMemory and IndexMemory, we have used the # default values. Since the "world" database takes up # only about 500KB, this should be more than enough for # this example Cluster setup. [TCP DEFAULT] # TCP/IP options: portnumber=2202 # This the default; however, you can use any # port that is free for all the hosts in cluster # Note: It is recommended beginning with MySQL 5.0 that # you do not specify the portnumber at all and simply allow # the default value to be used instead [NDB_MGMD] # Management process options: hostname=192.168.0.10 # Hostname or IP address of MGM node datadir=/var/lib/mysql-cluster # Directory for MGM node logfiles [NDBD] # Options for data node "A": # (one [NDBD] section per data node) hostname=192.168.0.30 # Hostname or IP address datadir=/usr/local/mysql/data # Directory for this data node's datafiles [NDBD] # Options for data node "B": hostname=192.168.0.40 # Hostname or IP address datadir=/usr/local/mysql/data # Directory for this data node's datafiles [MYSQLD] # SQL node options: hostname=192.168.0.20 # Hostname or IP address datadir=/usr/local/mysql/data # Directory for SQL node's datafiles # (additional mysqld connections can be # specified for this node for various # purposes such as running ndb_restore)

N.CONTROL: 11320522

*Configuracin en PostgreSQL

El comportamiento de PostgreSQL en nuestro sistema se puede controlar con tres ficheros de configuracin que se encuentran en el directorio de datos donde inicializamos nuestro clster PostgreSQL (En nuestro caso /var/pgsql/data). Estos tres ficheros son:

pg_hba.conf: Este fichero se utiliza para definir los diferentes tipos de accesos que un usuario tiene en el cluster. pg_ident.conf: Este fichero se utiliza para definir la informacin necesaria en el caso que utilicemos un acceso del tipo ident en pg_hba.conf .

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

postgresql.conf: En este fichero podemos cambiar todos los parmetros de configuracin que afectan al funcionamiento y al comportamiento de PostgreSQL en nuestra maquina.

Pasamos a continuacin a explicar los cambios ms importantes que podemos hacer en algunos de estos ficheros. Pg_hba.conf Este fichero se utiliza para definir como, donde y desde que sitio un usuario puede utilizar nuestro clster PostgreSQL. Todas las lneas que empiecen con el carcter # se interpretan como comentarios. El resto debe de tener el siguiente formato:

[Tipo de conexion][database][usuario][IP][Netmask][Tipo de autentificacion][opciones]

Dependiendo del tipo de conexin y del tipo de autentificacin, [IP],[Netmask] y [opciones]pueden ser opcionales. Vamos a explicar un poco como definir las reglas de acceso. El tipo de conexin puede tener los siguientes valores, local, host, hostssl y hostnossl. El tipo de mtodo puede tener los siguientes valores, trust, reject, md5, crypt, password, krb5, ident, pam o ldap Por ejemplo si quiero acceder por tcp/ip (red) a la base de datos escuela, como usuario pedrocm desde el ordenador con IP 10.0.0.100, y mtodo de autentificacin md5:

host

escuela pedrocm 10.0.0.100 255.255.255.255 md5

Para poder en produccin los cambios en este fichero tendremos que decirle a PostgreSQL que vuelva a leerlo. Basta con un simple 'reload' (/usr/local/bin/pg_ctl -D /var/pgsql/data reload) desde la lnea de comandos o con la funcion pg_reload_conf() como usuario postgres desde psql, el cliente PostgreSQL.

[postgres@servidor]# /usr/local/bin/psql Welcome to psql 8.2.4, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit postgres=# SELECT pg_reload_conf(); pg_reload_conf ---------------t (1 row) postgres=#

PEDRO CAMACHO MARTNEZ


Postgresql.conf

N.CONTROL: 11320522

Los cambios que realicemos en este fichero afectaran a todas las bases de datos que tengamos definidas en nuestro clster PostgreSQL. La mayora de los cambios se pueden poner en produccin con un simple 'reload' (/usr/local/bin/pg_ctl -D /var/pgsql/data reload), otros cambios necesitan que arranquemos de nuevo nuestro clster (/usr/local/bin/pg_ctl -D /var/pgsql/data restart). A continuacin vamos a ver los parmetros ms importantes que deberamos cambiar si empezamos a usar PostgreSQL para un uso serio y si queremos sacarle el mximo partido a nuestra maquina. Existen muchos ms parmetros que se pueden y con el tiempo se debern de ajustar, aqu nos vamos a centrar en los ms importantes y los cuales deberamos cambiar antes de empezar a utilizar PostgreSQL de una manera seria. max_connections: Nmero mximo de clientes conectados a la vez a nuestras bases de datos. Deberamos de incrementar este valor en proporcin al nmero de clientes concurrentes en nuestro clster PostgreSQL. Un buen valor para empezar es el 100:

max_connections = 100

shared_buffers: Este parmetro es importante y define el tamao del buffer de memoria utilizado por PostgreSQL. No por aumentar este valor mucho tendremos mejor respuesta. En un servidor dedicado podemos empezar con un 25% del total de nuestra memoria. Nunca ms de 1/3 (33%) del total. Por ejemplo, en un servidor con 4Gbytes de memoria, podemos usar 1024MB como valor inicial.

shared_buffers = 1024MB

work_mem: Usada en operaciones que contengan ORDER BY, DISTINCT, joins, .... En un servidor dedicado podemos usar un 2-4% del total de nuestra memoria si tenemos solamente unas pocas sesiones (clientes) grandes. Como valor inicial podemos usar 8 Mbytes.

work_mem = 8MB

maintenance_work_mem: Usada en operaciones del tipo VACUUM, ANALYZE, CREATE INDEX, ALTER TABLE, ADD FOREIGN KEY. Su valor depender mucho del tamao de nuestras bases de datos. Por ejemplo, en un servidor con 4Gbytes de memoria, podemos usar 256MB como valor inicial.

maintenance_work_mem = 256MB

effective_cache_size: Parmetro usado por el 'query planner' de nuestro motor de bases de datos para optimizar la lectura de datos. En un servidor dedicado podemos empezar con un 50% del total de nuestra memoria. Como maximo unos 2/3 (66%) del total. Por ejemplo, en un servidor con 4Gbytes de memoria, podemos usar 2048MB como valor inicial.

effective_cache_size = 2048MB

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

checkpoint_segments: Este parmetro es muy importante en bases de datos con numerosas operaciones de escritura (insert,update,delete). Para empezar podemos empezar con un valor de 64. En grandes databases con muchos Gbytes de datos escritos podemos aumentar este valor hasta 128-256.

checkpoint_segments = 64

COSTOS DE CAPACITACIN
Segn informacin investigada de algunos institutos que ofrecen capacitaciones en bases de datos, se tienen los siguientes costos de capacitacin a usuarios:

*SQL Server:

*MySQL:

PEDRO CAMACHO MARTNEZ


*PostgreSQL:

N.CONTROL: 11320522

DURACION DE LA CAPACITACION: 80 Horas Acadmicas (45 minutos hora) PRECIOS Y FORMAS DE PAGO: Precio: $ 4,6813 MXN (IVA ya incluido) para persona Jurdica con facilidad de pago en 3 cuotas consecutivas pagaderas al 100% antes de finalizar la capacitacin con respaldo de Pagar. Precio: $4,1538 MXN Un solo pago total para Persona Natural en Rgimen Simplificado (efectivo estricto contado, tarjeta crdito, tarjeta dbito o cheque anticipado - Precio Super Especial con descuento (IVA ya incluido) Recibimos todas las tarjetas de crdito y dbito. La Facilidad de pago no aplica a las Capacitaciones en Horario Intensivo.

SOPORTE DE TRANSACCIONES

*En SQL Server: SQL Server funciona en los siguientes tres modos de transaccin. Transacciones de confirmacin automtica Cada instruccin individual es una transaccin. Transacciones explcitas Cada transaccin se inicia explcitamente con la instruccin BEGIN TRANSACTION y se termina explcitamente con una instruccin COMMIT o ROLLBACK. Transacciones implcitas Se inicia implcitamente una nueva transaccin cuando se ha completado la anterior, pero cada transaccin se completa explcitamente con una instruccin COMMIT o ROLLBACK. Transacciones de mbito de lote Una transaccin implcita o explcita de Transact-SQL que se inicia en una sesin de MARS (conjuntos de resultados activos mltiples), que solo es aplicable a MARS, se convierte en una transaccin de mbito de lote. Si no se confirma o revierte una transaccin de mbito de lote cuando se completa el lote, SQL Server la revierte automticamente. El nmero de transacciones depender de los contadores que miden el nmero de transacciones, que permiten recoger el nmero de transacciones de cada base de datos independientemente *En MySQL: MySQL Server (versiones 3.23-max y todas las versiones 4.0 y posteriores) soportan transacciones con los motores trasaccionales InnoDB y BDB . InnoDB proporciona completa compatibilidad ACID. Los otros motores no transaccionales en MySQL Server (como MyISAM) siguen un paradigma diferente para integridad de datos llamado "operaciones atmicas". En trminos transaccionales, tablas MyISAM operan en modo AUTOCOMMIT=1. Operaciones atmicas a menudo ofrecen integridad comparable con mejor rendimiento. MySQL Server soporta ambos paradigmas, puede decidir si su aplicacin necesita la velocidad de operaciones atmicas o el uso de caractersticas transaccionales. Esta eleccin puede hacerse para cada tabla. Las tablas NDB (Para realizar transacciones) tienen las siguientes limitaciones:

No se soportan todos los conjuntos de caracteres y colaciones. ndices FULLTEXT y prefijo no estn soportados. Slo pueden indexarse columnas completas.

10

PEDRO CAMACHO MARTNEZ


N.CONTROL: 11320522

Extensiones espaciales de MySQL no se soportan. Slo se soporta rollback completo para transacciones. Los rollback parciales y rollbacks en checkpoints no se soportan. El mximo nmero de atributos permitidos por tabla es 128, y los nombres de atributo no pueden tener ms de 31 caracteres. Para cada tabla, la longitud mxima combinada del nombre de tabla y de base de datos es 122 caracteres.

El tamao mximo para un registro de tabla es de 8 kilobytes, sin contar BLOBs. No hay lmite para el nmero de registros por tabla; los lmites de tamao de tabla dependen en un nmero de factores, en particular la cantidad de RAM disponible para cada nodo de datos.

El motor NDB no soporta claves forneas. Como con tablas MyISAM, se ignoran. No se soporta el cach de consulta.

*En PostgreSQL: Es necesaria configurar opciones de acceso para controlar el nmero de transacciones que se deseen utilizar, esto desde el archivo de configuracin postgresql.conf, estas son: max_prepared_transactions Establece el nmero mximo de transacciones preparadas, es decir, aquellas que se gestionan a dos fases (2 phase commit). En la primera se guardan en disco y en la segunda se almacenan realmente en base de datos. Su ventaja es que sobreviven a una cada del servidor una vez superada la primera fase, no obstante, ser necesario llevar a cabo la segunda de forma manual si esto ocurre. Su valor por defecto es 0, lo que implica que dicha opcin est deshabilitada, si por el contrario, la emplea, es probable que desee tener tantas como max_connections, de modo que cada sesin pueda llegar a tener una operacin preparada en espera. Aumentar este valor implica alrededor de 600 bytes de memoria por incremento, adems de lo ya comentado en el parmetro max_locks_per_transaction. checkpoint_segments Este parmetro es muy importante cuando se dan con frecuencia numerosas operaciones de escritura (INSERT, UPDATE, DELETE), esto se debe a que PostgreSQL escribe las nuevas transacciones a la base de datos en archivos llamadossegmentos del WAL. Teniendo en cuenta que el valor por defecto de dicho parmetro es 3, implica que cada 48 MB (16 * 3), se lleva a cabo un pto. de chequeo, de manera que los datos del WAL se vuelcan realmente a la base de datos, lo que puede llegar a provocar algunos cuellos de botella. No obstante, un aumento excesivo del mismo implica una recuperacin ms lenta ante un fallo en cualquiera de las transacciones, por esta razn, para sistemas de escritura masiva, valores desde 32 (punto de chequeo cada 512 MB) a 256 (cada 128 GB) son los ms populares.

autovacuum_freeze_max_age PostgreSQL introduce el concepto de marca de tiempo para las transacciones o XID (Identificador de transaccin), el problema radica en que se trata de un campo limitado a 32 bits, es decir, cuando se han dado en el servidor 232 transacciones el contador se reinicia. Esto podra, potencialmente, provocar prdida de informacin debido a que, datos introducidos con un intervalo temporal muy distante, compartiesen el mismo XID y si, por ejemplo, realizsemos un ROLLBACK de la ltima transaccin, borraramos tambin los cambios de aquella con igual XID, pero efectuada X meses o aos antes. Por esta razn, el contenido de este parmetro es el nico que provocar la ejecucin de un VACUUM, a pesar de haber desactivado el autovacuum. Su valor por defecto es de 200 000 000, lo que indica que, cada 200 millones de transacciones en el servidor se ejecutar un VACUUM, para evitar el problema ya comentado.

11

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

NMERO DE USUARIOS
*En SQL Server Segn la pgina oficial, el nmero mximo de conexiones de usuario es de 32.767 en un sistema de 32 bits, y el nmero de instancias mximo es 50 instancias en un servidor independiente para todas las ediciones de SQL Server. SQL Server admite 25 instancias en un clster de conmutacin por error cuando se usa un disco de clster compartido como opcin de almacenamiento para la instalacin del clster; SQL Server admite 50 instancias en un clster de conmutacin por error si elige recursos compartidos de archivos SMB como opcin de almacenamiento para la instalacin del clster.

*En MySQL: El nmero de conexiones permitidas est controlado por la variable de sistema max_connections. Su valor por defecto es 100. Si necesita soportar ms conexiones, debera reiniciar mysqld con un valor ms grande de esta variable. El nmero mximo de conexiones que MySQL puede soportar depende de la calidad de la librera de hilos de una plataforma dada. Linux o Solaris deberan ser capaces de soportar 500-1000 conexiones simultneas, dependiendo de cuanta RAM tenga y que estn haciendo los clientes. Los binarios estticos de Linux proveidos por MySQL AB pueden soportar hasta 4000 conexiones

*En PostgreSQL: El nmero mximo de usuarios depender de la configuracin del archivo postgresql.conf, que a su vez cada conexin tiene un peso de 400 bytes de memoria compartida, por lo que el tambin depende de su almacenamiento. Para editar el nmero de usuarios nos situamos en max_connections, por ejemplo si queremos 100 conexiones: max_connections = 100 # (change requires restart)

COSTOS Y BENEFICIOS DE LOS 3 GESTORES


*SQL SERVER

Compatibilidad con la mayora de las tareas administrativas de SQL Server. Un entorno nico integrado para la administracin del Motor de base de datos de SQL Server y la creacin. Cuadros de dilogo para administrar objetos de Motor de base de datos de SQL Server, Analysis Services y Reporting Services, lo que permite ejecutar las acciones inmediatamente, enviarlas a un editor de cdigo o escribirlas en script para ejecutarlas posteriormente. Cuadros de dilogo no modales y de tamao variable que permiten obtener acceso a varias herramientas mientras un cuadro de dilogo est abierto. Un cuadro de dilogo comn de programacin que permite realizar acciones de los cuadros de dilogo de administracin en otro momento. Exportacin e importacin del registro de servidor de SQL Server Management Studio desde un entorno de Management Studio a otro. Guardado o impresin de archivos de plan de presentacin XML o de interbloqueo generados por SQL Server Profiler, revisin posterior o envo a los administradores para su anlisis.

12

PEDRO CAMACHO MARTNEZ


N.CONTROL: 11320522

Un nuevo cuadro de mensaje de error e informativo que presenta mucha ms informacin, permite enviar a Microsoft un comentario sobre los mensajes, copiar mensajes en el Portapapeles y enviar fcilmente los mensajes por correo electrnico al equipo de soporte. Un explorador web integrado para una rpida exploracin de MSDN o la Ayuda en pantalla. Integracin de la Ayuda de comunidades en lnea. Un tutorial sobre SQL Server Management Studio para ayudarle a aprovechar las ventajas de las numerosas caractersticas nuevas y a que sea ms productivo de forma inmediata. Un nuevo monitor de actividad con filtro y actualizacin automtica. Interfaces de Correo electrnico de base de datos integradas.

COSTO: Los costos anuales se observan de acuerdo a la siguiente tabla:

*MYSQL:

Interioridades y portabilidad Escrito en C y en C++ Probado con un amplio rango de compiladores diferentes Funciona en diferentes plataformas.

13

PEDRO CAMACHO MARTNEZ


N.CONTROL: 11320522

Usa GNU Automake, Autoconf, y Libtool para portabilidad. APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl. Uso completo de multi-threaded mediante threads del kernel. Pueden usarse fcilmente multiple CPUs si estn disponibles. Proporciona sistemas de almacenamiento transaccionales y no transaccionales. Usa tablas en disco B-tree (MyISAM) muy rpidas con compresin de ndice. Relativamente sencillo de aadir otro sistema de almacenamiento. Esto es til si desea aadir una interfaz SQL para una base de datos propia. Un sistema de reserva de memoria muy rpido basado en threads. Joins muy rpidos usando un multi-join de un paso optimizado. Tablas hash en memoria, que son usadas como tablas temporales. Las funciones SQL estn implementadas usando una librera altamente optimizada y deben ser tan rpidas como sea posible. Normalmente no hay reserva de memoria tras toda la inicializacin para consultas.

El cdigo MySQL se prueba con Purify (un detector de memoria perdida comercial) as como con Valgrind, una herramienta GPL (http://developer.kde.org/~sewardj/). El servidor est disponible como un programa separado para usar en un entorno de red cliente/servidor. Tambin est disponible como biblioteca y puede ser incrustado (linkado) en aplicaciones autnomas. Dichas aplicaciones pueden usarse por s mismas o en entornos donde no hay red disponible.

COSTO: Los costos anuales se pueden observar en la siguiente tabla

*POSTGRESQL: -Instalacin ilimitada -Mejor soporte que los proveedores comerciales -Ahorros considerables en costos de operacin -Estabilidad y confiabilidad legendarias -Extensible -Multiplataforma -Diseado para ambientes de alto volumen -Herramientas grficas de diseo y administracin de bases de datos

COSTO: No tiene costo de licencia, sin embargo si se requiere personalizar el gestor mediante tcnicas de programacin , en ocasiones es necesario contratar un programador.

14

PEDRO CAMACHO MARTNEZ

N.CONTROL: 11320522

TABLA DEL ANLISIS COSTO-BENEFICIO

CONCLUSIN

Como conclusin deduzco que el SGBD ms conveniente a mi parecer es el PostgreSQL ya que adems de tener mucho desempeo como gestor ofrece licencia gratuita y de cdigo abierto, con lo cual se puede Personalizar de acuerdo a necesidades que tenga la empresa que lo utilice, vemos que su relacin costo beneficio es la que ms conviene. BIBLIOGRAFA:
http://technet.microsoft.com/es-es/library/ms143506(v=sql.105).aspx https://dev.mysql.com/doc/refman/5.0/es/windows-system-requirements.html http://dev.mysql.com/doc/refman/5.0/es/multi-config.html http://msdn.microsoft.com/es-es/library/bb972190.aspx#m28 postgresql.org. http://www.tresct.com/sitionuevo/mysql.html http://bogotacity.olx.com.co/capacitacion-en-desarrollo-web-php-mysql-postgresql-iid-457905104 http://www.educacionit.com/carrera-sql-server http://technet.microsoft.com/es-es/library/ms174377.aspx http://msdn.microsoft.com/es-es/library/bb972264.aspx http://dev.mysql.com/doc/refman/5.0/es/ansi-diff-transactions.html http://dev.mysql.com/doc/refman/5.0/es/mysql-cluster-faq.html http://www.postgresql.org.es/node/696 http://technet.microsoft.com/es-es/library/ms143432.aspx https://dev.mysql.com/doc/refman/5.0/es/too-many-connections.html http://yoadminsis.blogspot.mx/2010/09/postgresql-844-en-ubuntu-server-10041.html http://technet.microsoft.com/es-es/library/ms174219.aspx http://dev.mysql.com/doc/refman/5.0/es/features.html

15