Aprendiendo MySQL en soydata.net

Hoy voy a hablar de un sitio web que he descubierto hace bien poco sobre aprendizaje de Big Data en español: SoyData.net. Qué es SoyData.net Es una plataforma colaborativa de formación online sobre todo lo referente a los Datos en español. Ahora mismo cuenta con 15 cursos subidos y completamente disponibles, a los cuales se han inscrito ya más de medio millar de personas en sólo dos semanas. Estos cursos tratan de tecnologías específicas muy demandadas como Hadoop, MongoDB, R y también cubren áreas clave como visualización, cloud computing o...read more

Esta entrada Aprendiendo MySQL en soydata.net es contenido original de Manejando datos - Blog de bases de datos y …

[Lea más]
MySQL: extended insert

Al realizar dumps con mysqldump podemos hacerlo con los datos insertados mediante un único INSERT o bien un INSERT pode cada fila

# mysqldump --skip-extended-insert dbejemplo | grep ^INSER
INSERT INTO `a` VALUES (1);
INSERT INTO `a` VALUES (2);
INSERT INTO `a` VALUES (3);
# mysqldump --extended-insert dbejemplo | grep ^INSER
INSERT INTO `a` VALUES (1),(2),(3);

Dicho detalle también afecta al tiempo de importación

Vamos a usar una base de datos relativamente pequeña de ejemplo:

# du -hs /var/lib/mysql/dbejemplo/
57M     /var/lib/mysql/dbejemplo/

Creamos los dumps con y sin –extended-insert

# mysqldump --skip-extended-insert dbejemplo > /var/backup/test/skip-extended-insert.sql
# mysqldump --extended-insert dbejemplo > /var/backup/test/extended-insert.sql

En el caso del dump com extended …

[Lea más]
Total de transacciones InnoDB en MySQL

Para tener una idea de la actividad que tiene una base de dados normalmentr de usa SHOW PROCESLIST, pero es engañoso en algunos casos. Por ejemplo, si tenemos un pool de conexiones y también transacciones InnoDB abiertas veremos en ambos casos que estan en estado Sleep

Podemos verlo mediante la siguiente query:

mysql> select ps.id, ps.user,ps.host, ps.db, ps.command, ps.time, ps.state, trx.trx_state, ps.info from PROCESSLIST ps left join INNODB_TRX trx on ps.id=trx.trx_mysql_thread_id;
+----+------+-----------+--------------------+---------+------+-----------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | user | host      | db                 | command | time | state     | trx_state | info …
[Lea más]
Lessons learnt after doing webscrapping

Today it is time for lessons that I’ve learnt after finishing (successfully) a webscrapping to get all companies participans in #Fitur 2015, International Tourism Meeting (Feria Internacional del Turismo) in Spain, held every year in Madrid: the appointment for the turist sector. As a conclusion, I did it in near 3 days, and only using 160 lines of code. Only 160 lines? Yes, more or less. The coding time has been around 12 hours, plus 10-14 hours of processing, spread in a week or so!. Please, allow me not to...read more

Esta entrada Lessons learnt after doing webscrapping es contenido original de Manejando datos - Blog de bases de datos y programación. This entrance …

[Lea más]
Export large datasets from MySQL using Python

In the entrance about export large datasets we’ll see several ways of doing it, and now it is time to see how to do it with Python. Conecting to MySQL from Python Before continue, you could read here how to  conect to MySQL from Python, where you also use a class I use to connect because this class does what I like. But for this entrance, I will conect directly to MySQL by using the library PyMySQL. You only need to import the library, set the correct informacion for the...read more

The post Export large datasets from MySQL using Python appeared first on Manejando datos.

Related posts: Exportar grandes …

[Lea más]
Exportar grandes recordsets de MySQL desde Python

En la entrada sobre exportación de grandes recordsets ya vimos distintas formas de ejecutar la tarea, y dejamos pendiente cómo conseguirlo usando Python. Conectando con MySQL desde Python Ya hablamos de cómo conectar con MySQL desde Python en una entrada anterior, donde también publicaba una clase personalizada mia para facilitarme la tarea. Para este caso, voy a conectarme directamente a MySQL mediante la libreria PyMySQL sin clase ninguna. Sólo necesito importar la libreria, establecer la información de la conexión, y … listo! Para comprobar el tiempo, me he creado una...read more

Esta entrada Exportar grandes recordsets de MySQL desde Python es contenido original de …

[Lea más]
Dejad de usar FLUSH PRIVILEGES

Una sirena tiene las mismas probabilidades de arreglar tus problemas de permisos, la diferencia es que la gente continúa creyendo en el mito de FLUSH PRIVILEGES.Cada vez que alguien escribe un tutorial o solución a un problema relacionado con la creación de una nueva cuentas de usuario o la provisión de diferentes privilegios veo la sugerencia de utilizar FLUSH PRIVILEGES. Por ejemplo, el primer post en /r/mysql en el momento de escribir estas líneas, “MySQL:The user specified as a definer does not exist (error 1449)-Solutions” es culpable múltiples veces de esto mismo (Actualización: el usuario ha tachado estas líneas, tras …

[Lea más]
Pequeña lista de deseos para EXPLAIN

Aunque siempre deseamos un mayor rendimiento y más y mejores características para MySQL, estas no pueden aparecer “sin más” de una versión a otra, requiriendo profundos cambios en la arquitectura y muchas líneas de código. Sin embargo, a veces hay pequeños cambios y arreglos que podrían implementarse por un becario o contribuidor externo, principalmente en la capa SQL, que podrían hacer el ecosistema de MySQL más amigable para novatos y no expertos. Hacer que un programa sea más fácil de usar es muchas veces pasado de largo, pero es increíblemente importante -no todo el mundo usando MySQL es un administrador de bases de datos, y cuanta más gente lo adopte, más gente podrá vivir de él, tanto sus desarrolladores originales como proveedores externos.

Esta es mi propia lista de arreglos para los mensajes de EXPLAIN. Si ya eres un usuario experimentado de MySQL probablemente ya conozcas su sugnificado, pero …

[Lea más]
Export large datasets with MySQL

Today’s entrance is dedicated to export large datasets, that is, when the outcome of a SQL query is too large with millons of rows. I will be using a database with data from a fotovoltaic installation. Data is stores in a data table, and I want to extract a selection of parameters. The following SQL sentence will query data every 5 minutes of a few parameters: Execute the query, and I got the result. In some cases,when the recordset is too large, to can notice that the connection will be...read more

The post Export large datasets with MySQL appeared first on Manejando datos.

Related posts: Export large …

[Lea más]
Exportar grandes datasets en MySQL

La entrada de hoy está dedicada a exportaciones de grandes recordsets, esto es, que el resultado obtenido con una consulta es …. de varios miles o millones de filas. Como ejemplo, voy a usar uno de los proyectos en los que esty haciendo un trabajo de investigación relacionado con instalaciones fotovoltaicas. Los datos los tengo cargados en la tabla datos, y ahora quiero extraer una selección de ellos. La consulta trata de recuperar los datos cada 5 minutos de unos cuantos parámetros: Ejecuto la consulta, y …. obtengo el resultado....read more

Esta entrada Exportar grandes datasets en MySQL es contenido original de Manejando datos - Blog de bases de datos y …

[Lea más]