Mostrando las entradas con la etiqueta MySQL. Mostrar todas las entradas
Mostrando las entradas con la etiqueta MySQL. Mostrar todas las entradas

2014/12/30

Cómo elegir una Base de Datos para su Empresa


A medida que su organización recopila más datos y quiere hacer un mejor uso de los datos que va adquiriendo se tienen varias opciones que van mucho más allá de las bases de datos tradicionales. Quizás ud. se encuentra en el punto en que el uso de herramientas de inteligencia de negocios que hacen extracciones desde su datawarehouse no es  suficiente, y los datos son demasiado grandes para analizarlos lo suficientemente rápido por los medios tradicionales, y por lo tanto, es el momento de realizar un análisis detallado de las alternativas de bases de datos disponibles en el mercado.

Claramente la elección de la tecnología de base de datos estará determinada por los parámetros de su proyecto: la cantidad de datos, la rapidez con que le llegan, el análisis que quiere hacer y si va a utilizarlos operacionalmente o para la toma de decisiones estratégicas. También es posible que desee extraer conocimiento del negocio, por ejemplo, de la venta al detalle en el punto de venta o de las transacciones de un programa de CRM. Quizás usted podría estar tratando de acelerar la logística, identificar dónde está el inventario en tiempo real en su cadena de suministro o realizar un seguimiento del comportamiento de un gran número de clientes en su sitio web.

La pregunta es entonces: ¿Cuáles bases de datos son apropiadas para determinados tipos de proyectos?. La siguiente breve guía que hemos elaborado, puede ayudarle a evaluar las opciones que hay disponibles:

Base de datos relacional

Qué es: Es el sistema tradicional de base de datos relacional, con datos estructurados organizados en tablas.
Fortalezas: Usa el lenguaje estándar de consulta SQL, que  garantiza la consistencia de los resultados de las consultas.
Debilidades: Requiere que la tabla completa se almacene en archivo o memoria, requiere de datos estructurados y esquemas relacionales, la tabla canónica debe ser replicada con el fin de realizar análisis en servidores paralelos.

Si usted está tratando con datos estructurados o de transacciones relativamente simples, por ejemplo, pedidos de clientes o datos de puntos de venta y desea la máxima flexibilidad en las preguntas que quiere responder, el lugar para comenzar es la base de datos relacional. La ventaja directa es que su organización probablemente ya está utilizando un RDBMS, por lo que su personal de TI,  incluyendo los analistas de bases de datos, pueden crear las consultas SQL directamente sin necesidad de mayor entrenamiento. Usted sólo tiene que elegir una base de datos de clase empresarial (a la escala adecuada de su proyecto) para satisfacer sus necesidades de análisis de datos. Puede elegir algunas tales como Oracle, IBM InfoSphere Warehouse, Sybase o Teradata. Hay muchas más, éstas son sólo un ejemplo.

Por otro lado, las desventajas podrian estar en el precio, en la flexibilidad de las consultas a datos que están rigurosamente estructurados y que se almacenan en un único conjunto canónico de tablas, las cuales tienen que ser replicadas si necesitar usar el procesamiento en paralelo para acelerar el rendimiento. En este caso, cada actualización tiene que ser replicada en otras copias, así que si los datos cambian mucho, hay un montón de costos asociados (procesamiento en memoria, procesamiento en disco, equipos, discos,  tiempo, etc.), lo que afectará negativamente a los tiempos de respuesta de las consultas. Usted podría también mantener las tablas en memoria en lugar de tenerlas en el disco, con el fin de acelerar la lectura y escritura, pero esto tiene un costo mayor. Y a medida que crecen los datos, el tiempo de respuesta para las consultas de análisis pueden fácilmente pasar de ser instantáneas a tomar horas, días o semanas.

Base de datos columnar

Qué es: Es una base de datos relacional que almacena los datos por columna en lugar de filas.
Fortalezas: Todos los puntos fuertes de una base de datos relacional, optimizada para un mejor rendimiento en el análisis de los datos de varias columnas a la vez.
Debilidades: Requiere que la tabla completa se almacene en archivo o memoria, requiere de datos estructurados y esquemas relacionales.

¿Qué pasa si sus datos están muy estructurados, pero necesita realizar un mayor análisis de los datos almacenados en unas pocas columnas particulares, por ejemplo, el análisis de las transacciones de venta por tienda o por producto?. En este caso, una base de datos en columnas tiene más sentido, y puede elegir algunas de las opciones tales como Sybase IQ, Microsoft SQL Server 2012, Teradata Columnar o Actian VectorWise.

Aunque suena raro el nombre, una base de datos columnar es también una base de datos relacional. La diferencia está en la forma: en lugar de almacenar cada tabla de datos como una fila tras otra en un solo archivo, una base de datos columnar almacena las columnas en archivos separados, por lo que se pueden indexar y buscar por separado, incluso en diferentes servidores (en un clúster) para mejorar el rendimiento. Como resultado, las bases de datos columnares pueden ser mucho más rápidas para el análisis que una base de datos relacional tradicional, ya que lo concentran en sólo una o unas pocas columnas. A pesar de esta ventaja, este tipo de base también hereda muchos inconvenientes de las bases de datos relacionales, incluyendo el esfuerzo y el tiempo de procesamiento del sistema necesario para mantener las tablas canónicas.

Bases de datos NoSQL

Qué es: Es una base de datos no-relacional que almacena los datos en registros de transacciones en lugar de las tablas.
Fortalezas: Más rápido y más compacto cuando se trata de bases de datos muy grandes, soporta datos no estructurados o estructurados irregularmente, es compatible con el análisis y fácil de distribuir a servidores en paralelo.
Debilidades: La tecnología no está madura, no hay un lenguaje de consulta estándar o herramientas de consulta, no garantiza la consistencia en los resultados de las consultas.

Supongamos ahora que su proyecto se ocupará de un orden de magnitud superior datos, por decir Teras de información, que no están tan estructurados. Por ejemplo, el seguimiento de la logística del inventario en tiempo real o el análisis de cómo los clientes utilizan su sitio web. Con bases de datos convencionales, se podría requerir de grandes tablas multidimensionales en los que la mayor parte de las celdas probablemente estarían vacías, mientras que otras, podrían tener que almacenar varios valores a la vez. Este es el tipo de situación complicada es por la que las bases de datos NoSQL fueron creadas. Estas incluyen bases de datos NoSQL como Hadoop HBase, Hypertable, MongoDB o MarkLogic. Con NoSQL, no hay una tabla real de datos, no hay estructura física de una tabla. Aquí, en cambio, la base de datos consiste en una lista de todos los datos (que puede contener una información con diferente forma cada vez) , que se escriben, haciendo una consulta de búsqueda que lista para saber qué datos se han escrito recientemente en un registro en particular. Es como si se ha creado una enorme tabla que en cada escritura, agrega la información y estira la tabla al terminar la búsqueda en el registro.

Con NoSQL no hay necesidad de una tabla gigante canónica que se almacene en el disco o en la memoria. Los registros individuales no se escriben en una tabla, sino que se almacenan en estructuras de datos complejas en un sólo archivo o documento, como por ejemplo, almacenar la información sobre una publicación de un blog (título, cuerpo de texto, autor, etc.) junto a los comentarios y etiquetas del mismo, ¡todo en un único registro!. Y las copias de la base de datos NoSQL se pueden escribir en varios servidores dentro de un grupo, por lo que el análisis se puede dividir en paralelo. En comparación con las tablas de datos convencionales, NoSQL recorre un camino más pequeño, se realiza mucho más rápido y es más fácil de poner en paralelo. Sin embargo, como su nombre lo indica, NoSQL no ofrece garantías de integridad relacional o consistencia de datos, y en la actualidad no hay lenguaje de consulta estándar que facilite su consulta. Este tipo de bases de datos es más adecuada para el análisis de grandes volúmenes de datos (conocido en la jerga actual, como el famoso Big Data), y especialmente cuando los resultados deben ser entregados en tiempo real.

Por otro lado, tampoco hay soporte generalizado para bases de datos NoSQL, y esto podría ser un problema a la hora de pedir ayuda. Sin embargo, si existen herramientas de software que apoyan el funcionamiento de NoSQL, tales como Hadoop, que divide el trabajo que se realiza en varios servidores en un clúster. Cabe destacar también, que con la llegada del Cloud Computing, hay más proveedores con servidores en “la nube” y una variada oferta de almacenamiento, que hace innecesario adquirir hardware con el fin de hacer un análisis basado en NoSQL.

Consideraciones de gestión a tener en cuenta

Para concluir esta guía, cualesquiera sea la base de datos que elija para su proyecto deberá tener en cuenta que tendrá que adquirir tecnología y desarrollar las habilidades de su personal de TI, es decir, capacitación y entrenamiento. Asegúrese también de que los costos encajen en el contexto de su proyecto empresarial. Recuerde que la tecnología desconocida requiere de tiempo para recibir el veto de los usuarios y también de tiempo para desarrollar las habilidades de su personal de TI. Seguramente su personal de TI sabe cómo lidiar con bases de datos convencionales, pero mucho de ese conocimiento no se transferirá directamente. Una buena idea en este punto es partir con experimentos a pequeña escala o prototipos, para ir adquiriendo experiencia.

Por otro lado, hay que tener en cuenta que los proveedores de bases de datos siempre están trabajando para hacer frente a las limitaciones propias del software y el hardware,  y agregando nuevas funcionalidades para satisfacer las nuevas necesidades de manejo de grandes volúmenes de datos, y quizás ello requiera de cambiar algunas técnicas y prácticas de sus desarrolladores para asimilar e internalizar su uso.

Finalmente, es muy probable que cometa errores. Mientras menos costosos sean, mejor. Por lo que  identificar la mejor tecnología de base de datos para sus proyectos de análisis e inteligencia de negocios, es un buen punto de partida. Y este es el espíritu de esta guía. Buena suerte!.

2014/01/24

SoftTree SQL Assistant vs dbForge SQL Complete

Sotf Tree SQL Assistant equipa a los desarrolladores de bases de datos y administradores de bases con las herramientas de productividad que necesitan para acelerar el proceso de desarrollo de base de datos, mejorar la calidad del código y la precisión. SQL Assistant puede aumentar su productividad de codificación SQL en un 300%. SQL Assistant es compatible con todas las principales bases de datos. Se envía pre-configurado con el soporte para Oracle, Microsoft SQL Server, IBM DB2, MySQL, PostgreSQL, Sybase ASE y SQL Anywhere. El producto también ofrece una interfaz con todas las funciones de control de código fuente que apoya la Subversión y repositorios de código de servidor de Microsoft Team Foundation. Muchos usuarios han dicho que no saben cómo pueden codificar y administrar sus bases de datos sin SQL Assistant. Para tener una mejor idea de lo que puede hacer por usted, descargar la prueba y comprobar por ti mismo.


Capturas de pantalla de las herramientas de base de datos y desarrollo de aplicaciones populares usando Asistente SQL.
Mas información: http://www.softtreetech.com/isql.htm

dbForge SQL Complete es un complemento útil para Microsoft SQL Server Management Studio y Microsoft Visual Studio.


Ofrecen una amplia gama de funciones de terminación de código que permiten a los usuarios evitar concentrarse en recordar largos y complejos nombres de objeto, nombres de columnas, operadores exactas SQL, etc, pero en lugar de concentrarse en escribir código SQL de alta calidad con el formato correcto, que será fácil de entender y de interpretar.


Mas información: http://www.devart.com/dbforge/sql/sqlcomplete/

Conclusión:
Ambos programas(utilitarios) soportan varios tipos de bases de datos, en este caso me he permitido probarlos en SQL Server. Luego de probar todas sus funcionalidades he decidido seguir con SoftTree SQL Assistant, si puedes darte un tiempo y hacer la comparación seria excelente, sin mas me despido atentamente.

2014/01/01

Sobre mi

INFORMACION
Apellidos y Nombre       Calzada Gutierrez Edgar
Dirección                       Urb. Los Naranjos Mz. U3 Lte. 27 – Los Olivos
# Móvil                          +511 956 721 673
Email                             cgtedgar@gmail.com
Nacionalidad                 Peruano

INTRODUCCION
Profesional en computación e informática con más de cuatro años de experiencia laboral en puestos relacionados a las tecnologías de información (TIC’s) tales como administración de bases de datos, desarrollo de sistemas, soporte técnico, manejo de sistemas operativos (Windows, Linux) y seguridad informática.

EDUCACION
26/01/2014 – 04/05/2014
                CIBERTEC
                Curso: PHP 5.0 Application Developer

21/01/2012 – 25/02/2012
                Instituto Nacional de Investigación Forense (INIF)
                Curso: Informática Forense

06/02/2006 – 30/09/2009
                Instituto Superior Tecnológico IDAT
                Técnico en computación e informática 

EXPERIENCIA
14/12/2012 – Actualidad
                TURISMO CIVA S.A.C.
                Jr.  Sancho de Rivera Nº. 1184 Urb. Monserrate – Cercado de Lima
                Cargo: Programador de sistemas
                Función principal:
    -          Desarrollo y mantenimiento de sistemas para logística operativa y logística administrativa.

02/07/2012 – 31/10/2012
                ABF CORP
                Av. Luis Felipe Villarán Nº. 395 – San Isidro        
    Cargo: Programador
    Función principal:
    -          Desarrollo y mantenimiento de los módulos de automatización de la impresión de recetas, ingresos de órdenes de compra y transferencia del centro de distribución.
    -          Creación de campos de usuario en SAP.

24/04/2012 – 30/06/2012
                ENLACE CORREOS S.A.
                Av. Paseo de la Republica Nº. 4979 – Surquillo
                Cargo: Programador
                Función principal:
    -          Desarrollo y mantenimiento del sistema SysProsegur, el cual incluye varios módulos desarrollados en N capas con C# y JQuery.
    -          Administración de la base de datos en Oracle PL/SQL.

25/03/2010 – 31/01/2012
                COLEGIO DE ECONOMISTAS DE LIMA
                Av. Javier Prado Oeste Nº. 830 – San Isidro
                Cargo: Programador y help desk
                Función principal:
    -          Administración de la base de datos y del sistema de pagos.
    -          Mantenimiento preventivo y correctivo a los equipos de cómputo.
   -          Soporte al personal administrativo y agremiado.

06/07/2011 – 06/10/2011
                ASOCIACION BENEFICA PRISMA
                Calle Carlos Gonzales Nº. 251 Urb. Maranga – San Miguel
                Cargo: Voluntariado (medio tiempo)
                Función principal:
    -          Creación de una nueva página web y un campus virtual.
    -          Creación del manual de usuario del campus virtual.

15/08/2009 – 06/03/2010
                TRADER CORP E.I.R.L.
                Av. Larco Nº. 345 – Miraflores
                Cargo: Programador y help desk
                Función principal:
    -          Análisis y programación de sistemas.
    -          Mantenimiento preventivo y correctivo a los equipos de cómputo, soporte técnico.
    -          Desarrollo de páginas web para los clientes de la empresa.

20/10/2008 – 05/12/2008
                COLEGIO AVANTE
                Av. Las Palmeras Nº. 5601 – Los Olivos
                Cargo: Encargado de sistemas
                Función principal:
    -           Desarrollo y mantenimiento de los sistemas de matrículas, pagos, asistencias.
    -          Mantenimiento preventivo y correctivo de los equipos de cómputo.

CONOCIMIENTOS
Sistemas operativos     
                Windows (xp, 7, 8)
                Linux (Centos, Ubuntu)
    Windows Server (2003, 2008, 2012)
               
Bases de datos
                Microsoft SQL Server (2008R2, 2012, 2014)
                Oracle PL/SQL
                MySQL
    PostgreSQL

Programación
                Microsoft Visual Studio (2010, 2012, 2013)
                               C Sharp (escritorio y web)
                               Visual Studio (escritorio y web)
                Adobe (CS5, CS6)
                               Dreamweaver
                               Fireworks
                               Flash
                Php
                               CodeIgnater
                               Laravel
                               Zend Framework

                NetBeans (java)
                               Escritorio y web

Otros
Dev Express, Visual Source Safe, JQuery, Ajax, BDDesigner, Erwin DataModeler,
Rational Rose, Xampp, Wamp, redes, IBM AS/400

INTERESES
Profesional
                Innovaciones tecnológicas
                Desarrollo de software
                Metodologías de programación
                Administración de bases de datos
                Cultura digital
                Hacking

Ocio
                Deporte
                Viajar
                Música
                Ciclismo

2013/09/02

Migrar Base de datos SQL Server a MySQL

www-ifxperu-com-Migracion-Base-Datos-SQL-Server-a-MySQL
Saludos estimados lectores, espero se encuentren bien, comenzamos por la siguiente frase un tanto persona: firme que esta situación de las migraciones de base de datos es un dolor de cabeza, debido a que se tiene que comprobar detenidamente que los datos hayan sido “movidos” en su totalidad, estuve buscando durante unas horas cómo hay que hacer en este tipo de casos, y del naufragio que tuve en la red aprendí que las herramientas trial no son buena idea por más que parezcan la cura a la desesperación que hay contra el tiempo, una recomendación: respirar, entrar en modo “yaoming” y seguir buscando con calma [aunque sabes que el tiempo te está ahorcando, evita el stress, las ideas claras aumentan la productividad]. Regresando al tema, veamos cómo es la nuez:

La idea es la siguiente: Primero MS SQL Server exportamos a un archivo MS Access, luego éste archivo lo importamos en MySQL
Y ya sin tanto rodeo, venga vamos! Iniciamos el SQL Server, en este caso tengo la versión 2008 R2, click derecho sobre la base de datos a migrar, Tareas –> Exportar datos ….
image
Aparecerá la siguiente ventana
image
Seleccionamos la configuración del origen de datos
image
En este paso, nos dirigimos hacia nuestro MS Access y creamos el archivo de “Base de Datos en blanco” es muy importante seleccionar el formato 2002-2003 y no 2007 como se ve en la imagen
image
Ahora regresamos al SQL Server y “examinamos” nuestro archivo y copiamos los datos.
image
image
Un pequeño detalle: es probable que salgan advertencias sobre los datos y los tipos por los que serán reemplazados.
Revisamos la base de datos creada en Access, siempre es bueno un SELECT COUNT(*) FROM nombretabla en el SQL Server y el Access para revisar la cantidad de filas empleadas.
Hasta aquí, ya tenemos la primera parte completa, continuemos! Para conectar el MySQL a MS Access, necesitamos el Connector/OBDC [descargar] Si están en windows de 64 bits, igual bajen el de 32bits porque encontré una manera medio alienígena de hacer la migración con pocos clicks y nos olvidamos de todas las configuraciones de los “nombres y archivos DSN”, dicho conector de arquitectura x86 es necesario para utilizar un programa llamado “Access To MySQL”[descargar] que a diferencia de otros programas que utilicé, éste en particular es freeware, simple, y muy efectivo:
image
Een la siguiente ventana solo buscaremos el access generado anteriormente y Next!
image
Aqui configuramos si queremos una transferencia directa o un archivo que contenga toda la estructura para luego ejecutarlo en el MySQL Query Browser.
image
Sea cual sea la opción elegida en el paso anterior, el programa solicitará que hagamos una selección de las tablas que emplearemos en la migración:
image
EL último paso viene a continuación, y bueno, solo queda presionar “Run Now” si es que ya reviste las opciones avanzadas
image
Los prefijos de las tablas están por una razón: algunos hosting solo admiten 1 base de datos y es por ello que toda instalación tiene su propio prefijo, por ejemplo el wordpres “wp_”
image
Y si le diste Run Now, comienza el proceso.
image
En caso hayas empleado File –> Open Script –> Seleccionas el archivo generado de extensión .sql y vas por execute
image
Finalmente hemos terminado, espero les haya sido de utilidad y les ahorre tiempo para evitar estar dando vueltas y vueltas por toda la red, nos vemos!

Fuente: http://ifxperu.com/
Si te ha parecido interesante podrías hacer click en +1, compartirlo en Facebook o Twitter, o dejar un comentario. ¡Gracias!.