Mi experiencia en el FOSDEM 2014 – No deberías perdértelo

FOSDEMposterEste año he asistido al FOSDEM 2014  por primera vez y tengo que decir que ha sido una experiencia genial, las charlas han sido de primer nivel a los que he asistido y estaba muy interesado, pero también tengo que decir que tenía otras charlas de las que nada tiene que ver con las cosas que normalmente hago, pero recomiendo a todos aquellos que estén pensando en ir, que se apunten y se organicen bien a lo que quieren asistir, hay mucha gente y los más seguro es que te quedes sin entrar, como les ha ocurrido a muchos.

Sobre el tema del alojamiento, recomiendo estar lo más próximo al campus ULB, ya que me pasó a mi, que estaba un poco lejos, tenía que coger transporte público pero se tardaba en llegar, tenía que combinar metro y tranvía o autobús. Eso si como estaba en centro de Bélgica, es un ventaja si vas de turismo, pero en mi caso, poco he hecho. Lo que hacía era madrugar un poco para dar un paseo matinal y disfrutar de las calles vacías del centro y hacer tiempo para llegar a las charlas.
Seguir leyendo

Algunas claves a la hora de diseñar nuestros datos: Schema Design con MySQL vs Schema Design con MongoDB

Think Different WordleEn estos últimos tiempos, se está viendo que hay un emergente mundo y un crecimiento de soluciones de base de datos y yo, como desarrollador, me estoy haciendo muchas preguntas, tales como: ¿Debo usar SQL o NoSQL? ¿cuándo debo usar una u otra? ¿Cuál es la diferencia? ¿Cuál debo utilizar para mi proyecto? ¿Puedo o debería utilizar los dos? son preguntan cuando te cuestionas cosas como: déjalo así “es que esto se ha hecho siempre de esta forma”. Pienso que tenemos la obligación, como desarrolladores, el saber las diferentes posibilidades disponibles para obtener los mejores resultados de nuestros proyectos y esto quedará reflejado en nuestros clientes.

En la mayoría de los proyectos estamos utilizando las bases de datos relacionales como algo implícito en nuestros proyectos, no quiero decir que esté mal, pero tampoco creo que esté bien, si se ha puesto implícitamente una base de datos relacional. Además, el cambio de paradigma y pensamiento a la hora de utilizar soluciones NoSQL como MongoDB, nos trae retos muy interesantes.

Uno de los retos a los que me enfrentado cuando he comenzado a utilizar una base de datos NoSQL, es el diseño del esquema, a pesar que una NoSQL como MongoDB es Schemaless, pero esto no quiere decir que no necesites pensar en un esquema. Pues bien, si mientras que en el mundo relacional, la normalización es desde dónde siempre se arranca la manera de diseñar la funcionalidad de nuestro proyecto, ahora nos tenemos que plantear el ¿cómo debemos diseñar nuestras colecciones y documentos, al crear una nueva aplicación de MongoDB?
Seguir leyendo

Algunos métodos CRUD que son necesarios conocer con MongoDB

MongoDB Stickers and Mug Siguiendo con el post anterior de MongoDB sobre Mis primeros pasos con MongoDB utilizando NodeJS, en esta ocasión vamos a ver algunos aspectos que nos vendrán bien para conocer bien por dónde debemos ir pasando para conseguir los datos de nuestros documentos. Vemos algunos cosas interesantes con respecto a la consola que nos proporciona mongo de la que vamos a poder interactuar con la shell de javascript. Un ejemplo, si creamos una variable doc en la que mentemos los siguientes datos:

> doc = {“name“:”Carlos”, “age“: 26, “profession“: “Dev”}

>db nos dice en que base de datos son encontramos activa

>show dbs nos dice las bases de datos que tenemos disponibles para interactuar

Recordatorio: para proporcionar los datos, accedemos a la db que es la base de datos que tenemos activa, people es el collection dentro de nuestra base de datos y .find() es el método para acceder a los datos. Por tanto si hacemos db.people.find() obtenemos:

> db.people.find() obtenemos todos los documentos de la base de datos 
{ “_id” : ObjectId(“522323da16a738edcd927cd9”), “name” : “Carlos”, “age” : 26, “profession” : “Dev” }

Si no lo hemos insertado deberíamos haber hecho previamente, para ello utilizamos el método insert():

> db.people.insert(doc) siendo doc la variable de antes doc = {“name”:”Carlos”, “age”: 26, “profession”: “Dev”}

El método .insert() lo hace sobre una collections y el campo: valor de cada uno de ellos: Seguir leyendo

Mis primeros pasos con MongoDB utilizando NodeJS

NYみやげのMongo goods貰った!He comenzado a montar un entorno de desarrollo con la base de datos NoSQL Mongodb y utilizar también NodeJS para ver su funcionamiento, la verdad es que llevaba tiempo detrás de ambos temas y ha llegado el momento de hacerlo y llevarlo a la práctica. La verdad es que el entorno de instalación tanto de MongoDB como de NodeJS, no es nada complicado en Linux, si lo intentas en otros sistemas operativos, encontrarás mucha información de cómo poder instalarlo o en la página oficial de MongoBD también dispones de todos los sistemas operativos que lo puedes instalar.

Vemos los primeros pasos de cómo podemos familiarizarnos con MongoDB y la shell que dispone para entender algunos comandos necesarios. Primero debemos arrancar desde el directorio bin el servidor de mongo : ./mongod en la que nos aparece los datos como:

MongoDB starting : pid=5982 port=27017 dbpath=/data/db/ 64-bit host=desarrollo

Ahora ya estamos en predisposición de poder entrar en la shell y ejecutar comandos con ./mongo . Veamos algunos de esos comandos interesantes de saber:

Con el comando show dbs vemos todas las bases de datos creadas, así sabemos cuales son las que tenemos creadas y ponerlas en uso o activas con el comando use y el nombre de la base de datos, use curses por ejemplo. Pero puedes estar pensando si utilizas bases de datos relacionales, ¿Cómo me creo una base de datos?, en este caso es muy sencillo con el mismo comando use si existe la activa y si no existe la crea y la pone activa. Seguir leyendo