<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Virtual Consulting Magazine &#187; mysql</title>
	<atom:link href="http://magazine.virtualconsulting.biz/etiqueta/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://magazine.virtualconsulting.biz</link>
	<description>Toda la actualidad de la tecnología en un solo lugar</description>
	<lastBuildDate>Thu, 01 Dec 2011 17:52:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Resuelto: Error 1005: Can&#8217;t create table &#8216;tablename&#8217; (errno. 121)</title>
		<link>http://magazine.virtualconsulting.biz/bases-de-datos/resuelto-error-1005-cant-create-table-tablename-errno-121/</link>
		<comments>http://magazine.virtualconsulting.biz/bases-de-datos/resuelto-error-1005-cant-create-table-tablename-errno-121/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 12:14:00 +0000</pubDate>
		<dc:creator>robregonm</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://magazine.virtualconsulting.biz/?p=276</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/resuelto-error-1005-cant-create-table-tablename-errno-121/&amp;text=Resuelto: Error 1005: Can&#8217;t create table &#8216;tablename&#8217; (errno. 121)&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Recientemente, me vi en la necesidad de hacer una migración de MSAccess a MySQL (en realidad la hice a MariaDB), y cuando estuve normalizando la base de datos y agregando las relaciones respectivas me encontré con el famoso y a la vez desconocido mensaje: Error 1005: Can&#8217;t create table &#8216;NombreTabla&#8217; (errno. 121) Este error se [...]
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/resuelto-error-1005-cant-create-table-tablename-errno-121/&amp;text=Resuelto: Error 1005: Can&#8217;t create table &#8216;tablename&#8217; (errno. 121)&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/resuelto-error-1005-cant-create-table-tablename-errno-121/&amp;text=Resuelto: Error 1005: Can&#8217;t create table &#8216;tablename&#8217; (errno. 121)&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Recientemente, me vi en la necesidad de hacer una migración de MSAccess a MySQL (en realidad la hice a MariaDB), y cuando estuve normalizando la base de datos y agregando las relaciones respectivas me encontré con el famoso y a la vez desconocido mensaje:</p>
<blockquote><p>Error 1005: Can&#8217;t create table &#8216;NombreTabla&#8217; (errno. 121)</p></blockquote>
<p>Este error se produce en dos situaciones (básicamente):</p>
<ol>
<li>La tabla tiene un error interno, ya sea por indexación o similares, en donde la solución es simplemente reconstruir la tabla.</li>
<li>Al agregar una relación, no hay integridad referencial, caso en el cual, generalmente, yo asigno como valor por defecto el valor NULL al campo relacional.</li>
</ol>
<p>Pero este no fue mi caso en esta ocasión. Todo lucía bien, reconstruí la tabla, verifiqué la integridad referencial y todo lucía perfecto. Excepto porque no podía agregar campos relacionales a varias de las tablas. Le pregunté a San Google y otros santos, sin éxito, así que decidí ponerme a la tarea de probar alternativas hasta encontrar el problema.<br/><br/><br />
Para hacer la historia corta, resultó ser un pequeñísimo detalle que había pasado por alto. Recuerdo cuando aprendí Oracle en donde mi instructor me decía que los nombres de los CONSTRAINTs en Oracle son únicos y no pueden duplicarse, así que probé suerte y funcionó.<br/><br/><br />
La solución es simple y la voy a ilustrar con una consulta, en donde existe una tabla Customer (me está gustando este nombre para los ejemplos) y debe hacer referencia a la tabla City por el campo cityid. Así que la consulta (según mis propios estándares de nombres y normalización quedaría algo así:</p>
<p><code>ALTER TABLE `Customer`<br />
ADD CONSTRAINT `Customer_Cityid_fk`<br />
FOREIGN KEY (`cityid` )<br />
REFERENCES `City` (`id` )<br />
ON DELETE RESTRICT<br />
ON UPDATE CASCADE<br />
;</code></p>
<p>La parte importante es &#8220;ADD CONSTRAINT `Customer_Cityid_fk`&#8221;. En fin, problema resuelto.<br />
<br/>¿Alguna vez se le presentó algún error en MySQL/MariaDB que no tuviera explicación aparente?</p>

<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/resuelto-error-1005-cant-create-table-tablename-errno-121/&amp;text=Resuelto: Error 1005: Can&#8217;t create table &#8216;tablename&#8217; (errno. 121)&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://magazine.virtualconsulting.biz/bases-de-datos/resuelto-error-1005-cant-create-table-tablename-errno-121/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Cómo eliminar registros duplicados de una tabla en MySQL /  MariaDB?</title>
		<link>http://magazine.virtualconsulting.biz/bases-de-datos/%c2%bfcomo-eliminar-registros-duplicados-de-una-tabla-en-mysql-mariadb/</link>
		<comments>http://magazine.virtualconsulting.biz/bases-de-datos/%c2%bfcomo-eliminar-registros-duplicados-de-una-tabla-en-mysql-mariadb/#comments</comments>
		<pubDate>Wed, 12 May 2010 16:34:07 +0000</pubDate>
		<dc:creator>robregonm</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://magazine.virtualconsulting.biz/?p=240</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/%c2%bfcomo-eliminar-registros-duplicados-de-una-tabla-en-mysql-mariadb/&amp;text=¿Cómo eliminar registros duplicados de una tabla en MySQL /  MariaDB?&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Acepto que este no es un problema al que me enfrento todos los días y menos en este gestor de bases de datos. En los demás motores como Oracle y PostgreSQL no había tenido ese problema (hasta donde recuerdo). Pero hoy tuve la necesidad de eliminar algunos registros duplicados de una tabla de un cliente [...]
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/%c2%bfcomo-eliminar-registros-duplicados-de-una-tabla-en-mysql-mariadb/&amp;text=¿Cómo eliminar registros duplicados de una tabla en MySQL /  MariaDB?&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/%c2%bfcomo-eliminar-registros-duplicados-de-una-tabla-en-mysql-mariadb/&amp;text=¿Cómo eliminar registros duplicados de una tabla en MySQL /  MariaDB?&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Acepto que este no es un problema al que me enfrento todos los días y menos en este gestor de bases de datos. En los demás motores como Oracle y PostgreSQL no había tenido ese problema (hasta donde recuerdo). Pero hoy tuve la necesidad de eliminar algunos registros duplicados de una tabla de un cliente (él deseaba eliminar los registros duplicados de sus clientes).</p>
<p>Al solicitarme el trabajo procedí a usar una sentencia del estilo:<br />
<code> </code><br />
<code>DELETE FROM Customer cc</code><br />
<code>WHERE cc.email IN (</code><br />
<code>SELECT c.email</code><br />
<code>FROM Customer c</code><br />
<code>...</code><br />
<code>HAVING count(c.email)&gt;1</code><br />
<code>)</code><br />
<code> </code><br />
Sencillo, práctico e intuitivo, ¿no? Le digo al gestor de base de datos que elimine los registros de la tabla Customer que tienen más de una incidencia. Pero tal fue mi sorpresa que me encontré con el siguiente error:<br />
<code> </code><br />
<code>Error: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cc WHERE cc.email IN (SELECT c.email FROM Customer c' at line 1</code><br />
<code> </code><br />
Y en algún momento me encontré con un error como:<br />
<code> </code><br />
<code>#1093 - You can't specify target table 'Customer' for update in FROM clause</code><br />
<code> </code><br />
Así que entonces empezó la labor de investigación (¿o quise decir el dolor de cabeza?). Luego de visitar una buena cantidad de páginas web relacionadas, la documentación de MySQL (que por cierto no menciona qué hacer en esos casos), encontré que situaciones como la que necesitaba se resuelve con una eliminación relacional (algo que creo solo existe en MySQL/MariaDB). Para mi caso la consulta quedó así:<br />
<code> </code><br />
<code>DELETE FROM Customer<br />
USING Customer, Customer as c<br />
WHERE (NOT Customer.id=c.id)<br />
AND (Customer.email=c.email)</code><br />
<code> </code><br />
¿Alguna duda? Sé que no es tan intuitiva como la primera sentencia, pero luego de revisarla detenidamente tuvo sentido para mí. Básicamente lo que hace la sentencia es decir que elimine de Customer haciendo una relación con Customer (con la misma tabla) en donde el ID sea diferente y el email se igual.</p>
<p>La anterior sentencia tiene un pequeño y grave problema: Borra todos los registros que se enuentran duplicados, conservando los que no lo están. Averiguando en diferentes sitios encontré la solución ideal en <a href="http://www.commentcamarche.net/faq/18360-mysql-supprimer-des-doublons-dans-une-table" target="_blank">CommentÇaMarche</a>:</p>
<pre>ALTER IGNORE TABLE  TabTest ADD UNIQUE INDEX(x,y);</pre>
<p>En donde los campos del índice son los que deseamos verificar que sean únicos, no repetidos, borrando del segundo en adelante.</p>
<p>Espero ahorrarles la búsqueda y desde luego dolores de cabeza.</p>

<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/%c2%bfcomo-eliminar-registros-duplicados-de-una-tabla-en-mysql-mariadb/&amp;text=¿Cómo eliminar registros duplicados de una tabla en MySQL /  MariaDB?&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://magazine.virtualconsulting.biz/bases-de-datos/%c2%bfcomo-eliminar-registros-duplicados-de-una-tabla-en-mysql-mariadb/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Aero SQL: Sistema de Gestión de Bases de datos MySQL, una alternativa a phpMyAdmin</title>
		<link>http://magazine.virtualconsulting.biz/bases-de-datos/aero-sql-sistema-de-gestion-de-bases-de-datos-mysql-una-alternativa-a-phpmyadmin/</link>
		<comments>http://magazine.virtualconsulting.biz/bases-de-datos/aero-sql-sistema-de-gestion-de-bases-de-datos-mysql-una-alternativa-a-phpmyadmin/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 13:46:03 +0000</pubDate>
		<dc:creator>robregonm</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>

		<guid isPermaLink="false">http://magazine.virtualconsulting.biz/general/aero-sql-sistema-de-gestion-de-bases-de-datos-mysql-una-alternativa-a-phpmyadmin/</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/aero-sql-sistema-de-gestion-de-bases-de-datos-mysql-una-alternativa-a-phpmyadmin/&amp;text=Aero SQL: Sistema de Gestión de Bases de datos MySQL, una alternativa a phpMyAdmin&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Navegando y leyendo noticias aquí y allá, me he encontrado con un sistema denominado AeroSQL que promete ser una alternativa profesional a entornos como phpMyAdmin, MySQL Query Browser, EMS SQL Manager for MySQL, y SQLyog, solo que funciona en entornos web, es decir, no importa en qué plataforma se requiere porque se ejecuta sobre un [...]
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/aero-sql-sistema-de-gestion-de-bases-de-datos-mysql-una-alternativa-a-phpmyadmin/&amp;text=Aero SQL: Sistema de Gestión de Bases de datos MySQL, una alternativa a phpMyAdmin&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/aero-sql-sistema-de-gestion-de-bases-de-datos-mysql-una-alternativa-a-phpmyadmin/&amp;text=Aero SQL: Sistema de Gestión de Bases de datos MySQL, una alternativa a phpMyAdmin&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Navegando y leyendo noticias aquí y allá, me he encontrado con un sistema denominado <a href="http://www.burlaca.com/aerosql/" target="_blank">AeroSQL</a> que promete ser una alternativa profesional a entornos como phpMyAdmin, MySQL Query Browser, EMS SQL Manager for MySQL, y SQLyog, solo que funciona en entornos web, es decir, no importa en qué plataforma se requiere porque se ejecuta sobre un servidor web con soporte de PHP.<br />
Mi primera impresión fue bastante agradable, porque luce bastante profesional y su interfaz me recuerda a la interfaz de EMS SQL Manager, además, permite editar los contenidos de las tablas directamente sobre las tablas mismas o sobre el resultado de las consultas SQL ejecutadas.</p>
<p>AeroSQL está desarrollado en PHP con el framework ExtJS (para AJAX), soporta conexiones a múltiples servidores y múltiples bases de datos, el entorno es bastante agradable y corre sobre cualquier servidor web. El entorno es bastante usable, aún carece de funciones importantes para su adminsitración como crear tablas, eliminar tablas, renombrar tablas (lo mismo para las bases de datos e índices). Personalmente lo encuentro bastante prometedor y no está mal exharle un ojo al progreso del desarrollo pues creo que ya es hora de analizar alternativas al amo y señor de la gestión de bases de datos MySQL phpMyAdmin.</p>
<p>La URL del proyecto: <a href="http://www.burlaca.com/aerosql/" target="_blank">http://www.burlaca.com/aerosql/</a></p>
<p>Cuál su primera impresión? Qué tal les ha parecido?</p>

<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/aero-sql-sistema-de-gestion-de-bases-de-datos-mysql-una-alternativa-a-phpmyadmin/&amp;text=Aero SQL: Sistema de Gestión de Bases de datos MySQL, una alternativa a phpMyAdmin&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://magazine.virtualconsulting.biz/bases-de-datos/aero-sql-sistema-de-gestion-de-bases-de-datos-mysql-una-alternativa-a-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lanzamiento de phpMyAdmin 3.3.0-alpha1</title>
		<link>http://magazine.virtualconsulting.biz/bases-de-datos/lanzamiento-de-phpmyadmin-3-3-0-alpha1/</link>
		<comments>http://magazine.virtualconsulting.biz/bases-de-datos/lanzamiento-de-phpmyadmin-3-3-0-alpha1/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 15:52:12 +0000</pubDate>
		<dc:creator>robregonm</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>

		<guid isPermaLink="false">http://magazine.virtualconsulting.biz/?p=190</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/lanzamiento-de-phpmyadmin-3-3-0-alpha1/&amp;text=Lanzamiento de phpMyAdmin 3.3.0-alpha1&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Justo antes de finalizar el año, el equipo de phpMyAdmin ha anunciado el lanzamiento de la versión 3.3.0 Alpha 1 del sistema de gestión de bases de datos MySQL más usado del mundo: phpMyAdmin En esta versión incluye varias mejoras y adiciones importantes: - Nuevo módulo de importación y exportación: Optimizados y con varios bugs [...]
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/lanzamiento-de-phpmyadmin-3-3-0-alpha1/&amp;text=Lanzamiento de phpMyAdmin 3.3.0-alpha1&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/lanzamiento-de-phpmyadmin-3-3-0-alpha1/&amp;text=Lanzamiento de phpMyAdmin 3.3.0-alpha1&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Justo antes de finalizar el año, el equipo de phpMyAdmin ha <a href="http://www.phpmyadmin.net/home_page/news.php#phpMyAdmin_3.3.0-alpha1_is_released" target="_blank">anunciado el lanzamiento de la versión 3.3.0 Alpha 1</a> del sistema de gestión de bases de datos MySQL más usado del mundo: phpMyAdmin</p>
<p>En esta versión incluye varias mejoras y adiciones importantes:</p>
<p>- Nuevo módulo de importación y exportación: Optimizados y con varios bugs corregidos.<br />
- Seguimiento y registro de cambios.<br />
- <a href="http://magazine.virtualconsulting.biz/bases-de-datos/hacer-copia-o-duplicar-base-de-datos-mysql-con-phpmyadmin-pestana-synchronize/">Sincronización de estructura y datos entre servidores</a>: el cual habíamos probado hace algunos días.<br />
- Soporte de replicación</p>
<p>Y otros cambios menores y varias optimizaciones en el sistema interno. Vale la pena probarlo, no he encontrado problemas o bugs relevantes que puedan afectar nuestro trabajo o que vayan a echar a perder nuestras bases de datos (de hecho no he encontrado ningún error, podría pasar por una versión estable).</p>
<p>Excelente noticia y excelentes adiciones realizadas por el equipo de phpMyAdmin.</p>
<p>Felicidades y Feliz Año.</p>

<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/lanzamiento-de-phpmyadmin-3-3-0-alpha1/&amp;text=Lanzamiento de phpMyAdmin 3.3.0-alpha1&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://magazine.virtualconsulting.biz/bases-de-datos/lanzamiento-de-phpmyadmin-3-3-0-alpha1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Las bases de datos comerciales, ¿valen la pena?</title>
		<link>http://magazine.virtualconsulting.biz/bases-de-datos/las-bases-de-datos-comerciales-valen-la-pena/</link>
		<comments>http://magazine.virtualconsulting.biz/bases-de-datos/las-bases-de-datos-comerciales-valen-la-pena/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 01:17:11 +0000</pubDate>
		<dc:creator>robregonm</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Editorial]]></category>
		<category><![CDATA[análisis]]></category>
		<category><![CDATA[crítica]]></category>
		<category><![CDATA[empresarial]]></category>
		<category><![CDATA[firebird]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[postgresql]]></category>

		<guid isPermaLink="false">http://magazine.virtualconsulting.biz/?p=89</guid>
		<description><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/las-bases-de-datos-comerciales-valen-la-pena/&amp;text=Las bases de datos comerciales, ¿valen la pena?&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
Luego de trabajar con costosas configuraciones de SQL Server y Oracle la gran mayoría de mi carrera profesional, casi siempre defendiendo estas alternativas de forma &#8220;viciada&#8221; a capa y espada es difícil abrir los ojos y ver otras opciones, especialmente por esa &#8220;propaganda&#8221; que apoya la idea (ahora extinta) que: SQL Server y/o Oracle son [...]
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/las-bases-de-datos-comerciales-valen-la-pena/&amp;text=Las bases de datos comerciales, ¿valen la pena?&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></description>
			<content:encoded><![CDATA[
<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/las-bases-de-datos-comerciales-valen-la-pena/&amp;text=Las bases de datos comerciales, ¿valen la pena?&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
<p>Luego de trabajar con costosas configuraciones de SQL Server y Oracle la gran mayoría de mi carrera profesional, casi siempre defendiendo estas alternativas de forma &#8220;viciada&#8221; a capa y espada es difícil abrir los ojos y ver otras opciones, especialmente por esa &#8220;<a href="http://www.microsoft.com/sqlserver/2008/en/us/compare-mysql.aspx">propaganda</a>&#8221; que apoya la idea (ahora extinta) que: SQL Server y/o Oracle son (o fueron) las mejores elecciones o <a href="http://www.virtualconsulting.biz/">alternativas de base de datos</a> para la organización. Y creo que muchos solemos ser los &#8220;abogados&#8221; de las bases de datos comerciales.</p>
<p>Tal vez, estas bases de datos nos han dado de comer durante muchos años, no hay duda, incluso seamos profesionales, tal vez no expertos, pero sí profesionales en el manejo de estos motores, que muchas veces hemos tratado a los demás como &#8220;herejes&#8221;  por no aceptar &#8220;la verdad&#8221;. Y así como hay profesionales &#8220;adictos&#8221; a estas bases de datos también, están quienes les guardan distancia por distintas razones.</p>
<p>¿MySQL? Por favor, ¿se están burlando?. ¿PostgreSQL?, Gracias, aunque es en <em>proyecto serio</em>, necesitamos una base de datos de la que podamos depender y confiar.</p>
<p>Suenan familiares las frases anteriores, ¿verdad?.</p>
<p>¿Cuántas veces hemos llevado a cabo algún &#8220;análisis&#8221; para determinar si, de hecho, SQL Server y/o Oracle eran las mejores elecciones no para mí, sino para el equipo, el cliente, el empleador y la organización?<br />
<span style="font-size: 32pt"><br />
0<br />
</span></p>
<p>Y si hemos realizado con diligencia esos análisis, ¿Qué hemos aprendido? Dos cosas:</p>
<ul>
<li>SQL Server y Oracle son realmente bases de datos excelentes. (Está bien, eso ya lo sabíamos.)</li>
<li><strong>SQL Server y Oracle son una elección errónea para el 95% de las necesidades de almacenamiento de datos, incluso a nivel empresarial</strong>.</li>
</ul>
<p>Hoy en día, es agradable pensar en SQL Server y Oracle como las <a href="http://es.wikipedia.org/wiki/Estrella_de_la_muerte_(Star_Wars)" target="_blank">Estrellas de la muerte</a> del universo de las bases de datos relacionales (para decirlo en términos de la Guerra de las Galaxias), es decir, extremadamente poderosas, monolíticas, brillantes, complejas casi más allá de la comprensión que una simple mente humana pueda llegar a tener, y que significan un gasto monumental de dinero excepto en esas raras situaciones cuando se necesita destruir un planeta.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/djZFHTa6TfA&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/djZFHTa6TfA&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>He podido ver (al menos) a una docena de compañías derrochando dinero en bases de datos que no necesitan, impactando y confundiendo sus balances finales con <a href="http://blogs.msdn.com/buckwoody/archive/2009/03/18/simplified-sql-server-licensing.aspx" target="_blank">esquemas de licencias que adornan las oficinas</a>, perpetuando así la Falacia del Software de Marca:</p>
<blockquote><p>En igualdad de condiciones, y asumiendo que se tiene el presupuesto, generalmente se prefiere un costoso (por no decir caro) bien &#8220;ajustado&#8221; producto comercial como [inserte el producto comercial aquí] a análogos más económicos [inserte producto open-source o de precio razonable aquí]. Los desarrolladores del proyecto XYZ usaron [costoso producto comercial], nuestro XYZ  interno usa [producto comercial costoso], ergo, nueva política de la compañía: se utiliza [producto comercial costoso]. Claro, a $89,000 por licencia, [producto comercial costoso] es un poco costoso, pero a quién estamos engañando? Gastamos [inserte un monto realmente ridículo de  dinero solo disponible en Monopoly aquí] en IT cada año.</p></blockquote>
<p>Está bien claro, se ha gastado una cantidad ridícula de dinero en IT. Alguna vez se ha preguntado <em>por qué?</em></p>
<p>Veamos el siguiente ejemplo en este cuadro (Está inglés pero creo que es bastante claro):</p>
<p><a href="http://blogs.msdn.com/buckwoody/archive/2009/03/18/simplified-sql-server-licensing.aspx"><img style="border: 1px solid black;" src="http://www.codingthewheel.com/image.axd?picture=sql_server_pricing.png" alt="" width="719" height="525" /></a></p>
<p>Por qué comprometer su proyecto, su organización, su imperio, para construir y mantener una &#8220;Estrella de la Muerte&#8221; cuando lo que <em>realmente</em> necesita es una <a href="http://en.wikipedia.org/wiki/X-wing">nave X-Wing</a>, un <a href="http://en.wikipedia.org/wiki/Walker_%28Star_Wars%29#All_Terrain_Armored_Transport_.28AT-AT.29">AT-AT</a>, o por mucho, un <a href="http://en.wikipedia.org/wiki/Star_Destroyer">Destructor de Estrellas</a>? Especialmente dado que:</p>
<ul>
<li><a href="http://it.toolbox.com/blogs/database-soup/postgresql-publishes-first-real-benchmark-17470">El rendimiento y desempeño de una instalación Firebird/PostgreSQL/MySQL puede perfectamente ser rival de SQL Server y Oracle</a>.</li>
<li>La gran mayoría de aplicaciones no necesita las capacidades de las últimas, grandes y majestuosas versiones de las base de datos de Microsoft y Oracle .</li>
<li>Firebird SQL, PostgreSQL y MySQL son 100% gratis (en el caso de MySQL hay una versión comercial) lo que significa que, sí eso mismo, no más fatalidad económica a  causa de licencias comerciales. (Claro, cabe mencionar que <a href="http://www.theregister.co.uk/2009/04/27/dziuba_sunacle/">Oracle ahora es dueño de Sun y por ende controla a MySQL</a>.)</li>
</ul>
<p>Oracle y SQL Server tiene características más potentes que MySQL o PostgreSQL o Firebird o cualquier otra base de datos de código abierto. Tienen una funcionalidad más integrada. Nadie podría afirmar lo contrario. Pero son los desarrolladores y DBAs y las personas que toman las decisiones de compra totalmente conscientes (por ejemplo) tan solo de <em><a href="http://www.postgresql.org/about/featurematrix">cuán ricas y poderosas son las características técnicas de PostgreSQL?</a></em></p>
<blockquote><p>Una base de datos de clase empresarial, PostgreSQL cuenta con sofisticadas funciones como el control de concurrencia multi-versión  (MVCC), puntos de restauración en el tiempo, tablespaces, replicación asincrónica, transacciones anidadas (savepoints), copias de seguridad en línea/en caliente, un sofisticado analizador/optimizador de consultas, y un sistema write ahead para la tolerancia a fallos. Es compatible con conjuntos de caracteres internacionales, codificación de caracteres multibyte, Unicode, y tiene en cuenta la configuración regional para el ordenamiento, sensibilidad a mayúsculas y minúsculas, y formateo. Es altamente escalable, tanto en la enorme cantidad de datos que puede manejar como en el número de usuarios concurrentes que puede gestionar. Hay sistemas PostgreSQL activos en entornos de producción que manejan 4 terabytes de datos sin problemas.</p></blockquote>
<p>Dejando las configuraciones de PostgreSQL a un lado, están los desarrolladores conscientes de que <a href="http://www.informationweek.com/news/software/open_source/showArticle.jhtml?articleID=206900327">MySQL tiene más 11 millones de instalaciones</a> incluyendo gigantes tales como <a href="http://blog.facebook.com/blog.php?post=7899307130">Facebook</a>, <a href="http://itc.conversationsnetwork.org/shows/detail3299.html">YouTube</a>, <a href="http://mysqldatabaseadministration.blogspot.com/2007/04/federation-at-flickr-doing-billions-of.html">Flickr</a>, y <a href="http://en.wikipedia.org/wiki/Wikipedia:Technical_FAQ#What_software_is_used_to_run_Wikipedia.3F">Wikipedia</a>? Claro, Todo el mundo lo sabe. <strong>MySQL se ejecuta en la web</strong>, cierto? Entonces, realmente necesitamos el soporte de visualización hiper-cúbica cuatri-dimensional de las bases de datos comerciales cuando las necesidades en datos de la mayoría de organizaciones es modesta, y cuando las dos o tres bases de datos de código abierto han comprobado repetidamente sus capacidades y temple?</p>
<p>No.</p>
<p>No a menos que su necesidad pertenezca al 1% de los escenarios, aprovechando las características únicas de las bases de datos propietarias Oracle/SQL Server. (En tal caso, puede que tenga otro tipo de problema.)</p>
<p>De lo contrario la respuesta es simplemente: no.</p>
<p>Pero no permita que eso lo detenga! Por todo los medios, si usted está en un contrato gubernamental sobrecosteado donde desperdiciar dinero es fomentado, adelante y despréndase de ese dinero que le hace tanto estorbo y adquiera una de esas costosas bases de datos cerradas. Si cuando Microsoft o Oracle dicen &#8220;salte!&#8221; su organización dice &#8220;qué tan alto?&#8221;, prosiga y cierre el trato adquiriendo esa licencia costosa de plataforma &#8220;superior&#8221;. Si su organización está dominada por un montón de bocones aspirantes a evagelistas de tecnología que llevan a cabo una agenda personal, como generalmente es el caso, entonces probablemente no hay mucho que usted pueda hacer en este caso.</p>
<p>Pero si ud cuida el dinero, si cree que&#8230;</p>
<blockquote><p><em>No! NO está bien desperdiciar una cuarto de millón de dólares al año en licencias de bases de datos a pesar de que el presupuesto IT esté en decenas de millones&#8230;</em></p></blockquote>
<p>&#8230; y si tiene actualmente tiene el poder para influenciar sobre las decisiones de compra, entonces <strong>utilice bases de datos de código abierto siempre que le sea posible, y bases de datos comerciales cuando absolutamente deba hacerlo</strong>.</p>
<p>Su CFO (Director Financiero) se lo agradecerá.*</p>
<p>* &#8211; Bueno, probablemente no. Así es la vida.</p>
<p>Traducido y Adaptado de <a href="http://www.codingthewheel.com/archives/are-commercial-databases-worth-it" target="_blank">Coding The Wheel</a></p>

<div class="twitterbutton" style="float: right; padding-left: 5px;"><a href="http://twitter.com/share?url=http://magazine.virtualconsulting.biz/bases-de-datos/las-bases-de-datos-comerciales-valen-la-pena/&amp;text=Las bases de datos comerciales, ¿valen la pena?&amp;via=robregonm&amp;related=DolcePixel"><img align="right" src="http://magazine.virtualconsulting.biz/wp-content/plugins//easy-twitter-button/i/buttons/en/tweetn.png" style="border: none;" alt="" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://magazine.virtualconsulting.biz/bases-de-datos/las-bases-de-datos-comerciales-valen-la-pena/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

