SlideShare una empresa de Scribd logo
1 de 12
Embarcadero Technologies Copyright 2016
Introducción a NoSQL con MongoDB
y FireDAC
Fernando Rizzato
Lead Software Consultant, Latin America
Embarcadero Technologies Copyright 2016
LO QUE SERÁ CUBIERTO POR ESTE WEBINAR?
 Qué es NoSQL
 Qué es MongoDB
 Comenzando con MongoDB
 FireDAC + MongoDB
Embarcadero Technologies Copyright 2016
QUÉ ES NOSQL
• No utiliza sintaxis SQL
• Emplea un lenguaje de consulta personalizada
• Es una base de datos "no relacional”
• Esto significa cosas diferentes en diferentes
implementaciones
• Favorece la velocidad y la escalabilidad más
que cualquier otra característica
• No sustituye a los tradicionales RDBMS
A concept,
not a standard.
QUÉ ES
• Una base de datos orientada a documentos
• Los documentos se representan como pares de
Name : Value
• Documentos anidados y arrays reducen la
necesidad de joins
• Esquemas dinámicos - permiten datos no
estructurados y complejos
Embarcadero Technologies Copyright 2016
MONGODB – DOCUMENTO DE EJEMPLO
 {
 "firstName":"Jack",
 "secondName":"Jones",
 "age":30,
 "phoneNumbers":[
 {fixedLine:"1234"},
 {mobile:"5678"}
 ],
 "residentialAddress":{
 lineOne:"…",
 lineTwo:"…",
 city:"…",
 state:"…",
 zip:"…",
 country:"…"
 }
 }
• Nombres siempre entre comillas
• Valores string siempre entre comillas
• Separados por comas
• Llaves representan objetos
• residentalAddress es un objeto anidado
• Corchetes representan las arrays
• phoneNumbers es un array de objetos
Embarcadero Technologies Copyright 2016
MONGODB - VOCABULARIO
RDMS/SQL
 Database
 Table
 Record / Row
 Column
 Primary Key
 Index
 Cursor
 Schema
MongoDB
 Database
 Collection
 Document
 Field
 Primary Key
 Index
 Cursor
 Schema
MONGODB - OTROS DETALLES
• Todos los documentos tienen un campo _id
• Una collection sólo existe cuando hay datos
• Los documentos en una collection no requiere
un esquema rígido, pero típicamente son
similares
• La lenguaje de consulta soporta estructuras
complejas, incluyendo las expresiones regulares
MONGODB - INSTALACIÓN
• Instaladores
• https://www.mongodb.org/downloads (32-bit & 64-bit)
• https://www.turnkeylinux.org/mongodb
• Configuración del entorno – Carpeta de la base de datos
• El valor por defecto es c:datadb
• Ejecutando el MongoDB: mongod.exe [options]
• O configurar como un servicio ...
• Tutorial
• http://embt.co/install-mongodb-windows [MongoDB.org]
• http://embt.co/connect-mongodb [DocWiki]
MONGODB - UNITS & COMPONENTES
• Units
• FireDAC.Phys.MongoDB – Driver FireDAC
• FireDAC.Phys.MongoDBCli – Interfaz cliente
• FireDAC.Phys.MongoDBWrapper – Clases de alto nivel
• FireDAC.Phys.MongoDBDef – Definición de conexión
• Componentes
• TFDConnection – Se utiliza para establecer una conexión
• TFDMongoQuery – Ejecuta consultas en una colección
• TFDMongoDataSet – Conecta a un cursor MongoDB
• TFDMongoPipeline – Ejecuta pipelines en una colección
Embarcadero Technologies Copyright 2016 10
MongoDB en Acción!
Embarcadero Technologies Copyright 2016
Recursos Adicionales
 Documentación:
 http://embt.co/connect-mongodb [DocWiki]
 http://embt.co/install-mongodb-windows [MongoDB.org]
 https://docs.mongodb.org/manual/core/crud-introduction [MongoDB.org]
 Blogs:
 http://delphi.org/2015/10/new-delphi-seattle-mongodb-sample/ [+ Ejemplos]
 https://derickrethans.nl/managing-schema-changes.html [Cambios de Esquema]
 Books
 Instant MongoDB, by Amol Nayak
 MongoDB: The Definitive Guide, by Kristina Chodorow
Embarcadero Technologies Copyright 2016 12
GRACIAS!
Preguntas?
Me puedes encontrar en:
@FernandoRizzato
fernando.rizzato@embarcadero.com
Síguenos en
fb.com/EMBTLatAm

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Que es MongoDB
Que es MongoDBQue es MongoDB
Que es MongoDB
 
MONGODB - NOSQL
MONGODB - NOSQLMONGODB - NOSQL
MONGODB - NOSQL
 
MongoDB
MongoDBMongoDB
MongoDB
 
Introduccón a Mongodb
Introduccón a MongodbIntroduccón a Mongodb
Introduccón a Mongodb
 
Mongo db
Mongo dbMongo db
Mongo db
 
ASP.NET MVC - bundling y minification
ASP.NET MVC - bundling y minificationASP.NET MVC - bundling y minification
ASP.NET MVC - bundling y minification
 
#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Base de datos
Base de datosBase de datos
Base de datos
 
Características Adminsitración SQL Server 2012 Parte 3
Características Adminsitración SQL Server 2012 Parte 3Características Adminsitración SQL Server 2012 Parte 3
Características Adminsitración SQL Server 2012 Parte 3
 
#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure
 
Gabby lula
Gabby lulaGabby lula
Gabby lula
 
¿que es mongodb?
¿que es mongodb?¿que es mongodb?
¿que es mongodb?
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datos
 
Formularios y $ post en PHP
Formularios y $ post en PHPFormularios y $ post en PHP
Formularios y $ post en PHP
 
SGNext Elasticsearch
SGNext ElasticsearchSGNext Elasticsearch
SGNext Elasticsearch
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
 
Web services-con-php
Web services-con-phpWeb services-con-php
Web services-con-php
 
Maual de instalacion mongodb
Maual de instalacion mongodbMaual de instalacion mongodb
Maual de instalacion mongodb
 
Grupo 4 bd orientada a objetos
Grupo 4 bd orientada a objetosGrupo 4 bd orientada a objetos
Grupo 4 bd orientada a objetos
 

Similar a MongoDB FireDAC

Similar a MongoDB FireDAC (20)

Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No Relacionales
 
NodeJS y MongoDB
NodeJS y MongoDBNodeJS y MongoDB
NodeJS y MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Pricipales bases de datos
Pricipales bases de datosPricipales bases de datos
Pricipales bases de datos
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
Semana 3 Mongodb
Semana 3   MongodbSemana 3   Mongodb
Semana 3 Mongodb
 
Actividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datosActividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datos
 
Actividad de aprendizaje 4
Actividad de aprendizaje 4Actividad de aprendizaje 4
Actividad de aprendizaje 4
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
Mallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDBMallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
Act4 base datos_reyes_rosalba
Act4 base datos_reyes_rosalbaAct4 base datos_reyes_rosalba
Act4 base datos_reyes_rosalba
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 

Más de Fernando Rizzato

Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOFernando Rizzato
 
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Fernando Rizzato
 
Programa Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoPrograma Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoFernando Rizzato
 
Programa Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoPrograma Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoFernando Rizzato
 
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERO BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERFernando Rizzato
 
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIOBERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIOFernando Rizzato
 
Modelado y Arquitectura de Datos con ER/Studio
Modelado y Arquitectura de Datos con ER/StudioModelado y Arquitectura de Datos con ER/Studio
Modelado y Arquitectura de Datos con ER/StudioFernando Rizzato
 
Uso de efectos, animaciones y transiciones en FireMonkey
Uso de efectos, animaciones y transiciones en FireMonkey Uso de efectos, animaciones y transiciones en FireMonkey
Uso de efectos, animaciones y transiciones en FireMonkey Fernando Rizzato
 
Usando efeitos, animações e transições no FireMonkey
Usando efeitos, animações e transições no FireMonkey Usando efeitos, animações e transições no FireMonkey
Usando efeitos, animações e transições no FireMonkey Fernando Rizzato
 
Comprender y utilizar layouts FireMonkey
Comprender y utilizar layouts FireMonkey Comprender y utilizar layouts FireMonkey
Comprender y utilizar layouts FireMonkey Fernando Rizzato
 
Compreendendo e utilizando FireMonkey Layouts
Compreendendo e utilizando FireMonkey Layouts Compreendendo e utilizando FireMonkey Layouts
Compreendendo e utilizando FireMonkey Layouts Fernando Rizzato
 
Uso del Windows Runtime (WinRT) y la Universal Windows Platform (UWP) en Win...
 Uso del Windows Runtime (WinRT) y la Universal Windows Platform (UWP) en Win... Uso del Windows Runtime (WinRT) y la Universal Windows Platform (UWP) en Win...
Uso del Windows Runtime (WinRT) y la Universal Windows Platform (UWP) en Win...Fernando Rizzato
 
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...Fernando Rizzato
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Fernando Rizzato
 
Integración de servicios en la nube con REST/JSON
Integración de servicios en la nube con REST/JSONIntegración de servicios en la nube con REST/JSON
Integración de servicios en la nube con REST/JSONFernando Rizzato
 
Integração de Serviços Cloud com REST/JSON
Integração de Serviços Cloud com REST/JSON Integração de Serviços Cloud com REST/JSON
Integração de Serviços Cloud com REST/JSON Fernando Rizzato
 
LiveBindings: desde lo básico hasta técnicas avanzadas
LiveBindings: desde lo básico hasta técnicas avanzadas LiveBindings: desde lo básico hasta técnicas avanzadas
LiveBindings: desde lo básico hasta técnicas avanzadas Fernando Rizzato
 
LiveBindings - de Formulários Visuais ao Código
LiveBindings - de Formulários Visuais ao Código LiveBindings - de Formulários Visuais ao Código
LiveBindings - de Formulários Visuais ao Código Fernando Rizzato
 
Control de una aplicación Windows desde una aplicación móvil con AppTethering
Control de una aplicación Windows desde una aplicación móvil con AppTethering Control de una aplicación Windows desde una aplicación móvil con AppTethering
Control de una aplicación Windows desde una aplicación móvil con AppTethering Fernando Rizzato
 

Más de Fernando Rizzato (20)

Todos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIOTodos os recursos do RAD Studio 10.3 RIO
Todos os recursos do RAD Studio 10.3 RIO
 
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
 
Programa Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero GratuítoPrograma Acadêmico Embarcadero Gratuíto
Programa Acadêmico Embarcadero Gratuíto
 
Programa Acadêmico Embarcadero
Programa Acadêmico EmbarcaderoPrograma Acadêmico Embarcadero
Programa Acadêmico Embarcadero
 
RAD Studio 10.2 Tokyo
RAD Studio 10.2 TokyoRAD Studio 10.2 Tokyo
RAD Studio 10.2 Tokyo
 
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERO BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
 
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIOBERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
BERLIN 10.1 UPDATE 2 EDIÇÃO DE ANIVERSÁRIO
 
Modelado y Arquitectura de Datos con ER/Studio
Modelado y Arquitectura de Datos con ER/StudioModelado y Arquitectura de Datos con ER/Studio
Modelado y Arquitectura de Datos con ER/Studio
 
Uso de efectos, animaciones y transiciones en FireMonkey
Uso de efectos, animaciones y transiciones en FireMonkey Uso de efectos, animaciones y transiciones en FireMonkey
Uso de efectos, animaciones y transiciones en FireMonkey
 
Usando efeitos, animações e transições no FireMonkey
Usando efeitos, animações e transições no FireMonkey Usando efeitos, animações e transições no FireMonkey
Usando efeitos, animações e transições no FireMonkey
 
Comprender y utilizar layouts FireMonkey
Comprender y utilizar layouts FireMonkey Comprender y utilizar layouts FireMonkey
Comprender y utilizar layouts FireMonkey
 
Compreendendo e utilizando FireMonkey Layouts
Compreendendo e utilizando FireMonkey Layouts Compreendendo e utilizando FireMonkey Layouts
Compreendendo e utilizando FireMonkey Layouts
 
Uso del Windows Runtime (WinRT) y la Universal Windows Platform (UWP) en Win...
 Uso del Windows Runtime (WinRT) y la Universal Windows Platform (UWP) en Win... Uso del Windows Runtime (WinRT) y la Universal Windows Platform (UWP) en Win...
Uso del Windows Runtime (WinRT) y la Universal Windows Platform (UWP) en Win...
 
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
Utilizando o Windows Runtime (WinRT) e o Universal Windows Platform (UWP) no ...
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC
 
Integración de servicios en la nube con REST/JSON
Integración de servicios en la nube con REST/JSONIntegración de servicios en la nube con REST/JSON
Integración de servicios en la nube con REST/JSON
 
Integração de Serviços Cloud com REST/JSON
Integração de Serviços Cloud com REST/JSON Integração de Serviços Cloud com REST/JSON
Integração de Serviços Cloud com REST/JSON
 
LiveBindings: desde lo básico hasta técnicas avanzadas
LiveBindings: desde lo básico hasta técnicas avanzadas LiveBindings: desde lo básico hasta técnicas avanzadas
LiveBindings: desde lo básico hasta técnicas avanzadas
 
LiveBindings - de Formulários Visuais ao Código
LiveBindings - de Formulários Visuais ao Código LiveBindings - de Formulários Visuais ao Código
LiveBindings - de Formulários Visuais ao Código
 
Control de una aplicación Windows desde una aplicación móvil con AppTethering
Control de una aplicación Windows desde una aplicación móvil con AppTethering Control de una aplicación Windows desde una aplicación móvil con AppTethering
Control de una aplicación Windows desde una aplicación móvil con AppTethering
 

MongoDB FireDAC

  • 1. Embarcadero Technologies Copyright 2016 Introducción a NoSQL con MongoDB y FireDAC Fernando Rizzato Lead Software Consultant, Latin America
  • 2. Embarcadero Technologies Copyright 2016 LO QUE SERÁ CUBIERTO POR ESTE WEBINAR?  Qué es NoSQL  Qué es MongoDB  Comenzando con MongoDB  FireDAC + MongoDB
  • 3. Embarcadero Technologies Copyright 2016 QUÉ ES NOSQL • No utiliza sintaxis SQL • Emplea un lenguaje de consulta personalizada • Es una base de datos "no relacional” • Esto significa cosas diferentes en diferentes implementaciones • Favorece la velocidad y la escalabilidad más que cualquier otra característica • No sustituye a los tradicionales RDBMS A concept, not a standard.
  • 4. QUÉ ES • Una base de datos orientada a documentos • Los documentos se representan como pares de Name : Value • Documentos anidados y arrays reducen la necesidad de joins • Esquemas dinámicos - permiten datos no estructurados y complejos
  • 5. Embarcadero Technologies Copyright 2016 MONGODB – DOCUMENTO DE EJEMPLO  {  "firstName":"Jack",  "secondName":"Jones",  "age":30,  "phoneNumbers":[  {fixedLine:"1234"},  {mobile:"5678"}  ],  "residentialAddress":{  lineOne:"…",  lineTwo:"…",  city:"…",  state:"…",  zip:"…",  country:"…"  }  } • Nombres siempre entre comillas • Valores string siempre entre comillas • Separados por comas • Llaves representan objetos • residentalAddress es un objeto anidado • Corchetes representan las arrays • phoneNumbers es un array de objetos
  • 6. Embarcadero Technologies Copyright 2016 MONGODB - VOCABULARIO RDMS/SQL  Database  Table  Record / Row  Column  Primary Key  Index  Cursor  Schema MongoDB  Database  Collection  Document  Field  Primary Key  Index  Cursor  Schema
  • 7. MONGODB - OTROS DETALLES • Todos los documentos tienen un campo _id • Una collection sólo existe cuando hay datos • Los documentos en una collection no requiere un esquema rígido, pero típicamente son similares • La lenguaje de consulta soporta estructuras complejas, incluyendo las expresiones regulares
  • 8. MONGODB - INSTALACIÓN • Instaladores • https://www.mongodb.org/downloads (32-bit & 64-bit) • https://www.turnkeylinux.org/mongodb • Configuración del entorno – Carpeta de la base de datos • El valor por defecto es c:datadb • Ejecutando el MongoDB: mongod.exe [options] • O configurar como un servicio ... • Tutorial • http://embt.co/install-mongodb-windows [MongoDB.org] • http://embt.co/connect-mongodb [DocWiki]
  • 9. MONGODB - UNITS & COMPONENTES • Units • FireDAC.Phys.MongoDB – Driver FireDAC • FireDAC.Phys.MongoDBCli – Interfaz cliente • FireDAC.Phys.MongoDBWrapper – Clases de alto nivel • FireDAC.Phys.MongoDBDef – Definición de conexión • Componentes • TFDConnection – Se utiliza para establecer una conexión • TFDMongoQuery – Ejecuta consultas en una colección • TFDMongoDataSet – Conecta a un cursor MongoDB • TFDMongoPipeline – Ejecuta pipelines en una colección
  • 10. Embarcadero Technologies Copyright 2016 10 MongoDB en Acción!
  • 11. Embarcadero Technologies Copyright 2016 Recursos Adicionales  Documentación:  http://embt.co/connect-mongodb [DocWiki]  http://embt.co/install-mongodb-windows [MongoDB.org]  https://docs.mongodb.org/manual/core/crud-introduction [MongoDB.org]  Blogs:  http://delphi.org/2015/10/new-delphi-seattle-mongodb-sample/ [+ Ejemplos]  https://derickrethans.nl/managing-schema-changes.html [Cambios de Esquema]  Books  Instant MongoDB, by Amol Nayak  MongoDB: The Definitive Guide, by Kristina Chodorow
  • 12. Embarcadero Technologies Copyright 2016 12 GRACIAS! Preguntas? Me puedes encontrar en: @FernandoRizzato fernando.rizzato@embarcadero.com Síguenos en fb.com/EMBTLatAm

Notas del editor

  1. RDBMS features are great, but they come at a price of speed. NoSQL databases are an answer to the question “What would a database look like if it didn’t use SQL?”