Professional Documents
Culture Documents
El almacén de clave-valor (KV) es el modelo más simple, como su nombre lo indica, una tienda KV empareja las
claves de los valores de forma muy parecida a como lo haría un mapa (o hashtable). Algunas implementaciones de
KV permiten tipos de valores complejos como hash o listas, pero esto no es obligatorio. Algunas implementaciones
de KV proporcionan un medio para iterar a través de las claves, pero esto de nuevo es una ventaja adicional. Un
sistema de archivos podría considerarse un almacén de clave-valor, si se piensa en la ruta del archivo como la
clave y el contenido del archivo como el valor. (Redmon & R. Wilson, 2012, p.4)
Clave Valores
Juan {Cuenca, Av. Loja, Don Bosco}
Bases de datos de este tipo: Cassandra (Apache), Big Table (Google) o HBase (Java-Apache).
datos de documentos permiten la indexación de documentos sobre la base de no solo su identificador primario,
pero también sus propiedades. Algunas bases de datos de documentos de código abierto son diferentes disponible
hoy, pero las más destacadas entre las opciones disponibles son MongoDB y CouchDB. (Tiwari, 2011, p.18)
Las bases de datos orientadas a documentos almacenan, documentos. En resumen, un documento es como un
hash, con un campo de ID único y valores que pueden ser de una variedad de tipos, incluyendo más hashes. Los
documentos pueden contener estructuras anidadas, por lo que muestran un alto grado de flexibilidad, lo que permite
dominios variables. El sistema impone pocas restricciones a los datos entrantes, siempre que se reúna el requisito
básico de ser expresable como documento. (Redmon & R. Wilson, 2012, p.5-6)
“Edad”: 30
Bases de datos que usan este tipo: MongoDB (MongoDB, Inc), CouchDB (Apache).
Las bases de datos de gráficos son las más especializadas de las cuatro bases de datos NoSQL discutidas en este
libro. En lugar de modelar datos usando columnas y filas, una base de datos de gráficos usa estructuras
llamados nodos y relaciones (en discusiones más formales, se llaman vértices y
bordes). Un nodo es un objeto que tiene un identificador y un conjunto de atributos. Una relación es una
enlace entre dos nodos que contienen atributos sobre esa relación. (Sullivan, 2015, 76)
• Resultado
Executing: /tmp/tmp.qmrt74CHIr/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv
9DA31620334BD75D9DCB49F368818C72E52529D4
gpg: requesting key E52529D4 from hkp server keyserver.ubuntu.com
gpg: key E52529D4: public key "MongoDB 4.0 Release Signing Key
<packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
• Resultado
deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-
org/4.0 multiverse
• Resultado
Hit:1 http://ec.archive.ubuntu.com/ubuntu xenial InRelease
Hit:2 http://ec.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:3 http://ec.archive.ubuntu.com/ubuntu xenial-backports InRelease
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
Ign:5 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 InRelease
Get:6 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 Release
[3.457 B]
Get:7 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 Release.gpg
[801 B]
Get:8 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0/multiverse
amd64 Packages [2.143 B]
Get:9 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0/multiverse
arm64 Packages [2.146 B]
Fetched 115 kB in 1s (57,7 kB/s)
Reading package lists... Done
El paquete mongodb-org es un meta paquete que instalará automáticamente los cuatro paquetes de
componentes enumerados a continuación.
-mongoimport bsondump
La herramienta mongoimport importa contenido de una exportación extendida de JSON, CSV o TSV
creada por mongoexport, o potencialmente, por otra herramienta de exportación de terceros.
-Mongodump
Es una utilidad para crear una exportación binaria de los contenidos de una base de datos. mongodump
puede exportar datos de instancias mongod o mongos.
-Mongoexport
Es una utilidad que produce una exportación JSON o CSV de datos almacenados en una instancia de
MongoDB.
-Mongofiles
La utilidad mongofiles hace posible manipular archivos almacenados en su instancia de MongoDB en
objetos GridFS desde la línea de comandos.
-Mongorestore
El programa mongorestore carga datos de un volcado de base de datos binario creado por mongodump o
de la entrada estándar (comenzando en la versión 3.0.0) en una instancia de mongod o mongos.
-Mongostat
La utilidad mongostat proporciona una descripción general rápida del estado de una instancia de mongod
o mongos actualmente en ejecución.
-mongotop.
Proporciona un método para rastrear la cantidad de tiempo que una instancia de MongoDB pasa leyendo
y escribiendo datos.
• Resultado
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
The following NEW packages will be installed:
mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell
mongodb-org-tools
0 upgraded, 5 newly installed, 0 to remove and 249 not upgraded.
Need to get 55,7 MB of archives.
Formato aprobado con Res. C.S. N° 076-04-2016-04-20 Página 4 de 8
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
• Insertamos un documento
>db.restaurants.insert(
... {
... "address" : {
... "street" : "2 Avenue",
... "zipcode" : "10075",
... "building" : "1480",
... "coord" : [ -73.9557413, 40.7720266 ]
... },
... "borough" : "Manhattan",
... "cuisine" : "Italian",
... "grades" : [
... {
... "date" : ISODate("2014-10-01T00:00:00Z"),
... "grade" : "A",
... "score" : 11
... },
... {
... "date" : ISODate("2014-01-16T00:00:00Z"),
... "grade" : "B",
... "score" : 17
... }
... ],
... "name" : "Restaurant Vella",
... "restaurant_id" : "41704620"
... }
... )
WriteResult({ "nInserted" : 1 })
Con esta línea, la inserción se realizó correctamente
• Otro documento
>db.restaurants.insert(
... {
... "address" : {
... "street" : "Tomas de Heres",
... "zipcode" : "01011566",
... "building" : "1130",
... "coord" : [ -2.8885206,-78.9910242 ]
... },
... "borough" : "Ciudad Cuenca",
... "cuisine" : "Cocina Morlaca",
... "grades" : [
... {
... "date" : ISODate("2014-10-01T00:00:00Z"),
... "grade" : "A",
... "score" : 111
... },
... {
... "date" : ISODate("2014-01-16T00:00:00Z"),
... "grade" : "B",
... "score" : 17
... }
... ],
... "name" : "Restaurante El Cuencano",
... "restaurant_id" : "41704621"
... }
... )
WriteResult({ "nInserted" : 1 })
Inserción realizada
Referencias:
- Shashank Tiwari. (2011). Professional NoSQL. Indiana: John Wiley & Sons, Inc.
- Eric Redmon & Jim R. Wilson. (2012). Seven Databases in Seven Weeks Texas: Pragmatic Programmers.
- Dan Sullivan. (2015). NoSQL for Mere Mortals. Massachusetts: Addison-Wesley.
RESULTADO(S) OBTENIDO(S): Lograr la instalación exitosa de MongoDB en Ubuntu16.04, mediante la
aplicación de las instrucciones brindadas en la guía de practica
CONCLUSIONES: Lograr comprender el funcionamiento de MongoDB, junto con las operaciones CRUD las
cuales son creación, inserción, consulta y eliminación de documentos.
RECOMENDACIONES: Instalar la versión comprobada de MongoDB y para la versión correcta de Ubuntu, ya
que podrían surgir problemas de compatibilidad o uso en las versiones incorrectas.