El documento presenta una agenda para un análisis de datos con MongoDB. La agenda incluye por qué hacer análisis con MongoDB, cómo crear un ambiente de MongoDB, cómo ingestar datos en MongoDB, cómo explorar datos con MongoDB Compass, cómo hacer análisis de datos con el Aggregation Framework de MongoDB, cómo extender el análisis con Python y Apache Spark, e integrar herramientas de BI. El documento también incluye una demostración del Aggregation Framework y la integración con Python y herramientas de BI.
MongoDB is an open-source document database, and the leading NoSQL database. Written in C++.
MongoDB has official drivers for a variety of popular programming languages and development environments. There are also a large number of unofficial or community-supported drivers for other programming languages and frameworks.
Transformación del diagrama entidad relación al modelo relacional siguiendo estos pasos
conversion Entidad- Relacion a Modelo Relacional
Bases de Datos
Entidad Relacion
MongoDB is an open-source document database, and the leading NoSQL database. Written in C++.
MongoDB has official drivers for a variety of popular programming languages and development environments. There are also a large number of unofficial or community-supported drivers for other programming languages and frameworks.
Transformación del diagrama entidad relación al modelo relacional siguiendo estos pasos
conversion Entidad- Relacion a Modelo Relacional
Bases de Datos
Entidad Relacion
Introducción al framework Angular 2 para el desarrollo de aplicaciones Web. Revisión a sus conceptos principales y su alineación con el estándar Web Components.
Charla impartida el 26 de enero de 2017 para SevillaJS.
Intro to MongoDB
Get a jumpstart on MongoDB, use cases, and next steps for building your first app with Buzz Moschetti, MongoDB Enterprise Architect.
@BuzzMoschetti
Presentación sobre cómo utilizar MongoDB en Bluemix, ya sea con el servicio de MongoDB o mediante Compose.io
Inicialmente se muestran un poco las capacidades de MongoDB para luego mostrar dos ejemplos montados mediante Python y Flask
Introducción al framework Angular 2 para el desarrollo de aplicaciones Web. Revisión a sus conceptos principales y su alineación con el estándar Web Components.
Charla impartida el 26 de enero de 2017 para SevillaJS.
Intro to MongoDB
Get a jumpstart on MongoDB, use cases, and next steps for building your first app with Buzz Moschetti, MongoDB Enterprise Architect.
@BuzzMoschetti
Presentación sobre cómo utilizar MongoDB en Bluemix, ya sea con el servicio de MongoDB o mediante Compose.io
Inicialmente se muestran un poco las capacidades de MongoDB para luego mostrar dos ejemplos montados mediante Python y Flask
Se aprenderá a desarrollar una API siguiendo la metodología MADA que tiene como misión reducir la complejidad a la hora de desarrollar una API y que utiliza RAML como lenguaje de definición de APIs. A patir del RAML, se generará toda la documentación necesaria para exponer a los developers, se podrá construir un fake para probarlo en la consola de pruebas y se generará un esqueleto en node.js. El taller desarrollará un ejemplo utilizando objetos en memoria y otro ejemplo utilizando MongoDB como base de datos.
Tarde Técnica Abirtone. MongoDB. Un pequeño sorbo.Victor Cuervo
Presentación sobre conceptos básicos de MongoDB. Manejo de Arrays en documentos. Programación MongoDB desde la Shell. Y uso de Python+MongoDB = Pymongo.
Uso de CouchDB como base de datos para soluciones que ameriten el manejo de gran cantidad de información a través de aplicaciones Android.
La presentación muestra una pequeña introducción sobre ¿Cómo conectarse y manejar bases de datos CouchDB en Android?
Las diapositivas fueron desarrolladas por mi persona para ExpoTech 2013 (31-01 al 01-02-2013) , en Puerto Ordaz - Venezuela.
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaAMADO SALVADOR
Distribuidor Oficial Ariston en Valencia: Amado Salvador distribuidor autorizado de Ariston, una marca líder en soluciones de calefacción y agua caliente sanitaria. Amado Salvador pone a tu disposición el catálogo completo de Ariston, encontrarás una amplia gama de productos diseñados para satisfacer las necesidades de hogares y empresas.
Calderas de condensación: Ofrecemos calderas de alta eficiencia energética que aprovechan al máximo el calor residual. Estas calderas Ariston son ideales para reducir el consumo de gas y minimizar las emisiones de CO2.
Bombas de calor: Las bombas de calor Ariston son una opción sostenible para la producción de agua caliente. Utilizan energía renovable del aire o el suelo para calentar el agua, lo que las convierte en una alternativa ecológica.
Termos eléctricos: Los termos eléctricos, como el modelo VELIS TECH DRY (sustito de los modelos Duo de Fleck), ofrecen diseño moderno y conectividad WIFI. Son ideales para hogares donde se necesita agua caliente de forma rápida y eficiente.
Aerotermia: Si buscas una solución aún más sostenible, considera la aerotermia. Esta tecnología extrae energía del aire exterior para calentar tu hogar y agua. Además, puede ser elegible para subvenciones locales.
Amado Salvador es el distribuidor oficial de Ariston en Valencia. Explora el catálogo y descubre cómo mejorar la comodidad y la eficiencia en tu hogar o negocio.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
Análisis de Datos con MongoDB
1. Análisis de Datos con MongoDB
Alejandro Mancilla
Sr. Solutions Architect, LATAM
alejandro@mongodb.com
@alxmancilla
2. Agenda
● ¿Por qué hacer análisis con MongoDB?
● Crear ambiente de MongoDB
● Ingestión de datos en MongoDB (mongoimport / mongorestore)
● Exploración de datos (MongoDB Compass)
● Análisis de datos con MongoDB (Aggregation Framework)
● Extendiendo análisis con Python (pymongo)
● Integración con herramientas de BI (BI Connector)
● Extendiendo análisis con Apache Spark
Repositorio de GitHub: https://github.com/alxmancilla/DataDayMX
3. 3
Análisis de Datos
como Arte
“Computer Programming as an art”, Turing Award Lecture 1974
La ciencia es conocimiento que
entendemos tan bien que podemos
enseñarlo a una computadora”.
Donald Knuth
11. MongoDB La Base NoSQL Líder
Modelo de Datos
Documental
Open-Source
Empresarial
Alto rendimiento
Escalable
{
nombre: “Juan Perez”,
pfxs: [“Dr.”,”Sr.”],
direccion: “Reforma 321”,
telefono: {
casa: 1234567890,
movil: 5512345689
}
}
12. El Modelo de Datos de Documento
Coincide con los objetos de aplicación
• Facilita el desarrollo
Flexible
• Evoluciona con la aplicación
Alto rendimiento
• Diseñado para el patrón de acceso
{
cliente_id : 12345,
nombre : ‘Juan’,
apellido : ‘Pérez’,
direccion : {
calle : ‘Av. Insurgentes Sur
321’,
colonia : ‘Roma Norte’,
ciudad : ‘Cuauhtémoc’,
estado : ‘CDMX’,
cod_postal : ‘06700’
}
polizas: [ {
num_poliza : 132987,
descripcion : ‘short term’,
deducible : 500
},{
num_poliza : 147001,
descripcion : ‘dental”,
visitas : 7
} ]
}
13. Funcionalidad adicional
MongoDB
Consultas
Expresivas
• Encuentra a alguien con el teléfono # "1-212 ..."
• Compruebe si la persona con el número "555 ..." está en la
lista de "no llamar"
Geo-espacial
• Encuentre la mejor oferta para el cliente en las coordenadas
geográficas de Insurgentes y Reforma
Búsqueda Textual
• Encuentra todos los tweets que mencionan la empresa en los
últimos 2 días
Agregación • Contar y ordenar número de clientes por ciudad
Soporte nativo a
JSON Binario (BSON)
• Agregue un número de teléfono adicional a Mario Robles sin
volver a escribir el documento
• Seleccione sólo el número de teléfono móvil en la lista
• Ordenar por la fecha modificada
{
cliente_id : 1,
nombre : "Mario",
apellido : "Robles",
ciudad : "CDMX",
telefonos: [
{ numero : “1-212-777-1212”,
primario : true,
tipo : “casa” },
{
numero : “1-212-777-
1213”,
tipo : “cell”
}
]
}
Left outer join
($lookup)
• Consulta todas las casas de CDMX, consulta sus
transacciones y suma la cantidad por personar
14. 14
Te permite ubicar los datos donde los necesitas
Localidad
de datos
EscalabilidadDisponibilidad
Aislamiento de
Carga de Trabajo
platforma resiliente con
replicación y failover
Crece horizontalmente
con sharding nativo
cargas operacionales y
analiíticas en el mismo
cluster
Gobierno, calidad de
servicio, minimiza
latencia
15. 15
Corre igual en cualquier lugar (on-premises <-> cloud)
Local
On-premises
Server & Mainframe Nube privada
Servicio en la nube
completamente administrado
Nube híbrida Nube pública
23. # Se pueden cargar archivos .json/.csv y dumps de MongoDB.
$ mongoimport -d test -c restaurants --drop --file primer-dataset.json
$ mongoimport -c books --drop --type csv --headerline --file ./dataset/books.csv
$ mongoimport -c ratings --drop --type csv --headerline --file ./dataset/ratings.csv
$ mongorestore --dir=dump
Cargando datos usando mongoimport / mongorestore
24. # Acceder a localhost en puerto default 27017
$ mongo test
rs_pss:PRIMARY> show dbs
admin 0.000GB
config 0.000GB
local 0.094GB
test 0.220GB
rs_pss:PRIMARY> show collections
books
ratings
restaurants
zips
Conexión al clúster desde el shell en tu laptop
25. > db.books.findOne()
{
"_id" : ObjectId("5aa890aa7fe2b08c22b6b246"),
"book_id" : 2,
"goodreads_book_id" : 3,
"work_id" : 4640799,
"books_count" : 491,
"isbn" : 439554934,
"authors" : "J.K. Rowling, Mary GrandPr̩",
"original_publication_year" : 1997,
"original_title" : "Harry Potter and the
Philosopher's Stone",
"title" : "Harry Potter and the Sorcerer's Stone
(Harry Potter, #1)",
"language_code" : "eng",
"image_url" : "https://images.gr-
assets.com/books/1474154022m/3.jpg",
"small_image_url" : "https://images.gr-
assets.com/books/1474154022s/3.jpg"
}
Consultar datos usando findOne() & count()
> db.ratings.findOne()
{
"_id" :
ObjectId("5aa889807fe2b08c225974e8"),
"user_id" : 2,
"book_id" : 260,
"rating" : 5
}
> db.books.count()
10000
> db.ratings.count()
5976479
39. # Instalar pymongo con pip
$ python -m pip install pymongo
# Verificar instalación de pymongo
$ python -c "import pymongo; print(pymongo.version);"
3.6.1
Instalación de pymongo
40. import pymongo
# Connection to Mongo DB
try:
conn=pymongo.MongoClient("mongodb://localhost:27017")
print "Connected successfully!!!"
collection = conn.DataDayMX.wkshops
# dictionary to be added in the database
record={
"title": "MongoDB and Python",
"description": 'MongoDB is no SQL database',
"tags": ['mongodb', 'database', 'NoSQL'],
"viewers": 104}
Ejemplo en Python - Conexión a MongoDB (1/2)
41. # inserting the data in the database
rec = collection.insert(record)
print "Inserted record successfully!!!"
for i in collection.find({"title": "MongoDB and Python"}):
print(i)
print "Docs returned successfully!!!"
except pymongo.errors.ConnectionFailure, e:
print "Could not connect to MongoDB: %s" % e
conn.close()
Ejemplo en Python - Conexión a MongoDB (2/2)
46. MongoDB Conector para BI
• Crea visualizaciones & analiítica desde herramientas de BI
basadas en SQL
• Muestreo automaático de esquemas
• Elimina necesidad de ETL
• Rendimiento mejorado en la capa de re-escritura de SQL
• Mayor procesamiento realizado en la base de datos
• Instalacioón y autenticación simplificada
52. Data Lake Operacional
MessageQueue
Customer Data
Mgmt
Mobile App IoT App Live Dashboards
Raw Data
Processed
Events
Distributed
Processing
Framework
s
Millisecond latency. Expressive querying & flexible indexing against subsets of
data. Updates-in place. In-database aggregations & transformations
Multi-minute latency with scans across TB/PB of data. No indexes. Data stored
in 128MB blocks. Write-once-read-many & append-only storage model
Sensors
User Data
Clickstreams
Logs
Churn
Analysis
Enriched
Customer
Profiles
Risk
Modeling
Predictive
Analytics
Real-Time Access
Batch Processing, Batch Views