PDF de programación - The Little MonoDB Book ES

Imágen de pdf The Little MonoDB Book ES

The Little MonoDB Book ESgráfica de visualizaciones

Actualizado el 2 de Julio del 2018 (Publicado el 17 de Febrero del 2018)
2.229 visualizaciones desde el 17 de Febrero del 2018
211,0 KB
31 paginas
Creado hace 7a (11/08/2012)
Acerca de este libro

Licencia

El pequeño libro MongoDB esta licenciado bajo Reconocimiento-NoComercial 3.0 Unported (CC BY-NC 3.0). * No debiste

haber pagado por este libro.*

Eres libre de copiar, distribuir, modificar o mostrar el libro. Sin embargo, pido que siempre atribuyas el libro a mi, Karl

Seguin y no lo uses para propósitos comerciales.

Puedes leer el texto completo de la licencia en:

http://creativecommons.org/licenses/by-nc/3.0/deed.es_ES

Acerca del autor

Karl Seguin es un desarrollador con experiencia en varios campos y tecnologías. Es un experto en .NET y desarrollador

en ruby. Es un colaborador semi-activo de proyectos OSS, escritor técnico y presentador ocasional. Con respecto a

MongoDB, fue un colaborador principal de la librería C# NoRM, escribió el tutorial interactivo mongly así como el ad-

ministrador web Mongo Mongo Web Admin. Su servicio gratuito para desarrolladores de juegos casuales mogade.com,

esta soportado con MongoDB.

Su blog esta en: http://openmymind.net y sus tweets vía @karlseguin

Agradecimientos

Gracias especiales a Perry Neal por prestarme sus ojos, mente y pasión. Me proporciono una ayuda invaluable. Gracias.

Ultima Versión

La ultima versión de este libro esta disponible en:

http://github.com/karlseguin/the-little-mongodb-book. (ENG) https://github.com/uokesita/the-little-mongodb-book

(ESP)

1

Introducción

No es mi culpa que los capítulos sean cortos, MongoDB solo es fácil de aprender.

A menudo se dice que la tecnología avanza a rápidamente. Es cierto que hay una creciente lista de nuevas tecnologías

y técnicas que son liberadas. Sin embargo, desde hace mucho tiempo siempre he sido de la opinión de que las

tecnologías fundamentales utilizadas por los programadores se mueven a un ritmo más bien lento. Uno podría pasar

años aprendiendo poco pero seguir siendo relevantes.

Lo que es sorprendente es la velocidad a la que las tecnologías tradicionales son reemplazadas. Al parecer de la noche

a la mañana, las tecnologías desde hace tiempo se ven amenazados por cambios en el enfoque de los desarrolladores.

Nada puede ser mas representativo de este cambio repentino que el progreso de tecnologías NoSQL contra bases de

datos relacionales bien establecidas. Pareciera que un día la web fuera llevada por algunas RDBMS y al siguiente, 5 o

mas soluciones NoSQL se han establecido como soluciones dignas.

Aunque estas transiciones parecen ocurrir de la noche a la mañana, la realidad es que puede tomar años en convertirse

en practicas aceptadas. El entusiasmo inicial es llevado por un grupo de desarrolladores y compañías relativamente

pequeños. Las soluciones son refinadas, lecciones aprendidas y ver que una nueva tecnología esta aquí para quedarse,

otros lentamente lo intentan por si mismos. De nuevo, esto es particularmente cierto en el caso de NoSQL donde

muchas soluciones no remplazan a las soluciones mas tradicionales de almacenamiento de datos, pero en lugar de eso,

se enfocan en necesidades especificas ademas de lo que uno puede obtener de las soluciones tradicionales.

Habiendo dicho todo eso, lo primero que debemos hacer es explicar qué se entiende por NoSQL. Es un término amplio

que significa diferentes cosas para diferentes personas. Personalmente, lo uso de manera muy amplia en el sentido

de un sistema que interviene en el almacenamiento de datos. Dicho de otra manera, NoSQL (de nuevo, para mí),

es la creencia de que la capa de persistencia no es necesariamente la responsabilidad de un solo sistema. Donde los

proveedores de bases de datos relacionales históricamente han tratado de posicionar su software como la solución

única para todo, NoSQL se inclina hacia unidades más pequeñas de responsabilidad donde la mejor herramienta para

un trabajo determinado se puede aprovechar. Por lo tanto, tu stack NoSQL todavía puede aprovechar una bases de

datos relacionales, por ejemplo MySQL, pero también puede contener Redis como la persistencia de búsqueda de partes

específicas del sistema, así como Hadoop para el procesamiento intensivo de datos. En pocas palabras, NoSQL se trata

de ser abierto y consciente de alternativas existentes y adicionales patrones y herramientas para la gestión de sus

datos.

Puedes estarte preguntando donde cae MongoDB en todo esto. Como una base de datos orientada a documentos,

Mongo es una solución mas general de NoSQL. Debe ser vista como una alternativa a las bases de datos relacionales.

Como las bases de datos relacionales, también puede beneficiarse de la relación con otras soluciones NoSQL mas

especializadas. MongoDB tiene ventajas y desventajas que cubriremos en otros capítulos de este libro.

Como pudiste haber notado, usamos el termino MongoDB y Mongo indistintamente.

Primeros Pasos

La mayoría de este libro se enfoca en el núcleo de la funcionalidad de MongoDB. Por lo tanto usaremos la terminal de

MongoDB. La terminal es útil tanto para aprender como para usarla como una herramienta administrativa, tu código

2

usara un driver MongoDB.

Esto trae a colación lo primero que debes saber de MongoDB: sus drivers. MongoDB tiene un numero de drivers

oficiales para varios lenguajes. Estos drivers pueden ser vistos como los diferentes drivers para bases de datos con

los cuales probablemente estarás familiarizado. Sobre estos drivers, la comunidad de desarrollo han construido otros

frameworks y librerías especificas para ciertos lenguajes. Por ejemplo, NoRM es una librería en C# que implementa

LINQ, y MongoMapper es una librería ruby que es ActiveRecord-friendly. Así decidas programar directamente contra el

núcleo de drivers de MongoDB, o alguna librería de alto nivel, es tu opción. Hago esta acotación solo porque muchas

personas que vienen a MongoDB están confundidas sobre porque hay librerías oficiales y librerías de la comunidad, las

primeras se enfocan en la comunicación/conectividad con MongoDB y la segunda esta centrada en las implementaciones

de lenguaje/framework especificamente.

Mientras lees este libro, te invito a que juegues con MongoDB para replicar lo que demuestro así como explorar las

dudas que puedas tener. Es fácil comenzar con MongoDB, así que tomemos unos minutos para establecer las cosas.

1. Ve a la pagina de descargas oficial y toma los binarios de la primera fila (la versión estable recomendada) para tu

sistema operativo. Para efectos de desarrollo puedes tomar 32-bit o 64 bit.

2. Extrae el archivo (donde lo desees) y navega a la sub-carpeta bin. No ejecutes nada aun, pero ten en cuenta que

mongod es el proceso para el servidor y mongo es la terminal cliente - estos son dos ejecutables en los que pasaremos
la mayoría del tiempo.

3. Crea un nuevo archivo de texto en la sub-carpeta bin llamado mongodb.config

4. Añade una sola linea a tu mongod.config: dbpath=RUTA_DONDE_QUIERES_GUARDAR_TUS_ARCHIVOS_DE_BASE_DE_DATOS

. Por ejemplo, en Windows podrías hacer dbpath=c:\mongodb\data y en Linux dbpath=/etc/mongodb/data.

5. Asegúrate que la ruta dbpath que especificaste exista.

6. Lanza mongod con el parametro --config /ruta/a/tu/mongodb.config

Como ejemplo para usuarios windows, si extrajiste el archivo en c:\mongodb\ y creaste c:\mongodb\data\ entonces
en c:\mongodb\bin\mongodb.config especificaras la ruta dbpath=c:\mongodb\data\. Puedes lanzar mongod desde la

terminal con c:\mongodb\bin\mongod --config c:\mongodb\bin\mongodb.config.

Siéntete libre de agregar la carpeta bin a tu path para poder lanzar mongod sin estas especificaciones. Usuarios de
MacOSX y Linux siguen los mismos pasos. La única cosa que debes cambiar son las rutas.

Espero que ahora tengas MongoDB corriendo. Si tienes un error, lee la salida con cuidado - el servidor es muy bueno

explicando cual es el error.

Ahora puedes lanzar mongo (sin la d) que conectara tu terminal con el servidor que esta corriendo. Intenta escribir
db.version() para asegurarte que todo funciona como debe ser. Si todo va bien veras el numero de la versión que

has instalado.

3

Capitulo 1 - Lo Básico

Comenzamos nuestro viaje conociendo la mecánica básica de trabajar con MongoDB. Obviamente este es el núcleo

para entender MongoDB, pero también nos ayuda a responder dudas técnicas acerca de MongoDB.

Para comenzar, hay seis simples conceptos que necesitamos entender.

1. MongoDB tiene el mismo concepto de ‘base de datos’ con el que probablemente estés familiarizado (o un schema

para los amigos de Oracle). En una instancia de MongoDB puedes tener cero o mas bases de datos, cada una

actuando como un contenedor de alto nivel para todo lo demás.

2. Una base de datos puede tener cero o mas ‘colecciones’. Una colección comparte lo suficiente con lo que es

tradicionalmente una tabla por lo que puedes pensar en ellas como la misma cosa.

3. Las colecciones están hechas de cero o mas ‘documentos’. De nuevo, un documento puede ser visto como una ‘fila’.

4. Un documento esta compuesto de uno o mas ‘campos’, probablemente puedas adivinar que son las ‘columnas’.

5. ‘Indices’ en MongoDB funcionan muy parecido a sus equivalentes en RDBMS.

6. ‘Cursores’ son un concepto diferente de los otros 5 pero son tan importantes, y comúnmente pasados por alto, que

pienso valdría la pena crear un tema de discusión para ellos. Lo importante a entender sobre los cursores es que

cuando le pides datos a MongoDB, mongo retorna un cursor, con el que podemos hacer algunas cosas, como contar

o saltar algún dato, sin descargarlos de hecho.

Para resumir, MongoDB esta hecho de bases de datos que contienen colecciones. Una coleccion esta hecha de
documentos. Cada documento esta compuesto de campos. Las colecciones pueden ser indexadas, lo cual mejora la

búsqueda y ordenamiento. Finalmente, cuando obtenemos datos de MongoDB lo hacemos a través de un cursor cuya

ejecución es retrasada hasta que sea necesario.

Te preguntaras, porque usar una nueva terminología (colecciones vs tablas, documentos vs filas y campos vs colum-

nas). Es solo para hacer las cosas ma
  • Links de descarga
http://lwp-l.com/pdf8843

Comentarios de: The Little MonoDB Book ES (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad