SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
Technical Evangelist,MongoDB

@tgrall
Tugdual Grall
@EspritJUG
Building your first app;

an introduction to MongoDB
@tgralltug@mongodb.com
MongoDB@ESPRITJUG2014
• Day 1 : Introduction
• Discover MongoDB
• Day 2 : Deep Dive into Queries and Analytics
• Advanced CRUD operations
• Aggregation,GeoSpatial,Full Text
• Day 2 : Fun with MongoDB and Javascript
• WebSockets
• Node.js,AngularJS
@tgralltug@mongodb.com
{ “about” : “me” }
Tugdual“Tug”Grall
• MongoDB
• Technical Evangelist
• Couchbase
• Technical Evangelist
• eXo
• CTO
• Oracle
• Developer/Product Manager
• Mainly Java/SOA
• Developer in consulting firms
• Web
• @tgrall
• http://blog.grallandco.com
• tgrall
• NantesJUG co-founder
• Pet Project :
• http://www.resultri.com
• tug@mongodb.com
• tugdual@gmail.com
What is MongoDB?
@tgralltug@mongodb.com
MongoDB is a ___________ database
• Document
• Open source
• High performance
• Horizontally scalable
• Full featured
@tgralltug@mongodb.com
Document Database
• Not for .PDF & .DOC files
• A document is essentially an associative array
• Document = JSON object
• Document = PHPArray
• Document = Python Dict
• Document = Ruby Hash
• etc
@tgralltug@mongodb.com
Document Database
Relational MongoDB
{
first_name: ‘Paul’,
surname: ‘Miller’
city: ‘London’,
location: [45.123,47.232],
cars: [
{ model: ‘Bently’,
year: 1973,
value: 100000},
{ model: ‘Rolls Royce’,
year: 1965,!
value: 330000}!
}
}
@tgralltug@mongodb.com
Open Source
• MongoDB is an open source project
• On GitHub
• Licensed under the AGPL
• Started & sponsored by 10gen
• Commercial licenses available
• Contributions welcome
@tgralltug@mongodb.com
High Performance
• Written in C++
• Extensive use of memory-mapped files 

i.e.read-through write-through memory caching.
• Runs nearly everywhere
• Data serialized as BSON (fast parsing)
• Full support for primary & secondary indexes
• Document model = less work
@tgralltug@mongodb.com
@tgralltug@mongodb.com
Database Landscape
@tgralltug@mongodb.com
Full Featured
• Ad Hoc queries
• Real time aggregation
• Rich query capabilities
• Strongly consistent
• Geospatial features
• Support for most programming languages
• Flexible schema
@tgralltug@mongodb.com
Full Featured
Queries
• Find Paul’s cars
• Find everybody in London with a car built
between 1970 and 1980
Geospatial
• Find all of the car owners within 5km of
Trafalgar Sq.
Aggregation
• Calculate the average value of Paul’s car
collection
Map Reduce
• What is the ownership pattern of colors
by geography over time? (is purple
trending up in China?)
{ first_name: ‘Paul’,
surname: ‘Miller’,
city: ‘London’,
location: {
! type: “Point”, !
coordinates :
! ! [-0.128, 51.507]
! },!
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
}
}
Text Search
• Find all the cars described as having
leather seats
@tgralltug@mongodb.com
mongodb.org/downloads
$ tar –z xvf mongodb-osx-x86_64-2.6.x.tgz!
$ cd mongodb-osx-i386-2.6.0/bin!
$ mkdir –p /data/db!
$ ./mongod
Running MongoDB
MacBook-Air-:~ $ mongo!
MongoDB shell version: 2.6.0!
connecting to: test!
> db.test.insert({text: 'Welcome to MongoDB'})!
> db.test.find().pretty()!
{!
! "_id" : ObjectId("51c34130fbd5d7261b4cdb55"),!
! "text" : "Welcome to MongoDB"!
}
Mongo Shell
Document Database
@tgralltug@mongodb.com
Terminology
RDBMS MongoDB
Table, View ➜ Collection
Row ➜ Document
Index ➜ Index
Join ➜ Embedded Document
Foreign Key ➜ Reference
Partition ➜ Shard
@tgralltug@mongodb.com
Let’s Build a Blog
@tgralltug@mongodb.com
First step in any application is
Determine your entities
@tgralltug@mongodb.com
Entities in our Blogging System
• Users (post authors)
• Article
• Comments
• Tags
@tgralltug@mongodb.com
In a relational base app
We would start by doing schema
design
@tgralltug@mongodb.com
Typical (relational) ERD
@tgralltug@mongodb.com
In a MongoDB based app
We start building our app
and let the schema evolve
@tgralltug@mongodb.com
MongoDB ERD
Working With MongoDB
@tgralltug@mongodb.com
Demo time !
var user = { !
! ! ! ! username: ’tgrall', !
! ! ! ! first_name: ’Tugdual',!
! ! ! ! last_name: ’Grall',!
}
Start with an object 

(or array, hash, dict, etc)
>db!
test!
> use blog!
switching to db blog !
!
> db.users.insert( user )
Switch to Your DB
> db.users.insert(user)
Insert the Record
No collection creation necessary
> db.users.findOne()!
{!
! "_id" : ObjectId("50804d0bd94ccab2da652599"),!
! "username" : ”tgrall",!
! "first_name" : ”Tugdual",!
! "last_name" : ”Grall"!
}
Find One Record
@tgralltug@mongodb.com
_id
• _id is the primary key in MongoDB
• Automatically indexed
• Automatically created as an ObjectId if not provided
• Any unique immutable value could be used
@tgralltug@mongodb.com
ObjectId
• ObjectId is a special 12 byte value
• Guaranteed to be unique across your cluster
• ObjectId("50804d0bd94ccab2da652599")



|----ts-----||---mac---||-pid-||----inc-----|

4 3 2 3
> db.article.insert({ !
! ! ! ! ! title: ‘Hello World’,!
! ! ! ! ! body: ‘This is my first blog post’,!
! ! ! ! ! date: new Date(‘2013-06-20’),!
! ! ! ! ! username: ‘tgrall’,!
! ! ! ! ! tags: [‘adventure’, ‘mongodb’],!
! ! ! ! ! comments: [ ]!
})
Creating a Blog Post
> db.article.find().pretty()!
{!
! "_id" : ObjectId("51c3bafafbd5d7261b4cdb5a"),!
! "title" : "Hello World",!
! "body" : "This is my first blog post",!
! "date" : ISODate("2013-06-20T00:00:00Z"),!
! "username" : "tgrall",!
! "tags" : [!
! ! "adventure",!
! ! "mongodb"!
! ],!
! "comments" : [ ]!
}
Finding the Post
> db.article.find({tags:'adventure'}).pretty()!
{!
! "_id" : ObjectId("51c3bcddfbd5d7261b4cdb5b"),!
! "title" : "Hello World",!
! "body" : "This is my first blog post",!
! "date" : ISODate("2013-06-20T00:00:00Z"),!
! "username" : "tgrall",!
! "tags" : [!
! ! "adventure",!
! ! "mongodb"!
! ],!
! "comments" : [ ]!
}
Querying An Array
> db.article.update({_id: !
! new ObjectId("51c3bcddfbd5d7261b4cdb5b")}, !
! {$push:{comments:!
! {name: 'Steve Blank', comment: 'Awesome Post'}}})!
>
Using Update to Add a Comment
> db.article.findOne({_id: new ObjectId("51c3bcddfbd5d7261b4cdb5b")})!
{!
! "_id" : ObjectId("51c3bcddfbd5d7261b4cdb5b"),!
! "body" : "This is my first blog post",!
! "comments" : [!
! ! {!
! ! ! "name" : "Steve Blank",!
! ! ! "comment" : "Awesome Post"!
! ! }!
! ],!
! "date" : ISODate("2013-06-20T00:00:00Z"),!
! "tags" : [!
! ! "adventure",!
! ! "mongodb"!
! ],!
! "title" : "Hello World",!
! "username" : "tgrall"!
}
Post with Comment Attached
@tgralltug@mongodb.com
Real applications are not built in the shell
MongoDB Drivers
@tgralltug@mongodb.com
MongoDB has native bindings for over 12
languages
@tgralltug@mongodb.com
@tgralltug@mongodb.com
@tgralltug@mongodb.com
Hey,we are at a JUG no?
@tgralltug@mongodb.com
Java & MongoDB
• Java Driver
• Morphia
• Spring Data MongoDB
• Hibernate OGM
• Jongo
@tgralltug@mongodb.com
MongoDB Drivers (Java)
• Manage Connections to MongoDB Cluster
• Send commands over the wire
• Serialize/Deserialize Java Objects to BSON
• Generate Object ID
MongoClient mongoClient = new MongoClient("localhost", 27017);!
DB db = mongoClient.getDB("ecommerce");!
DBCollection collection = db.getCollection("orders");!
DBObject order;!
List<DBObject> items = new ArrayList<DBObject>();!
DBObject item;!
!
order = BasicDBObjectBuilder.start()!
.add("customer", "Tug Grall")!
.add("date", new Date())!
.get();!
item = BasicDBObjectBuilder.start()!
.add("label", "MongoDB in Action")!
.add("price", 13.30)!
.add("qty", 1)!
.get();!
items.add(item);!
!
order.put("items", items);!
!
collection.insert(order);
Java Driver : Insert
MongoClient mongoClient = new MongoClient("localhost", 27017);!
!
DB db = mongoClient.getDB("ecommerce");!
DBCollection collection = db.getCollection("orders");!
!
!
DBObject query = BasicDBObjectBuilder.start()!
.push("items.price")!
.add(QueryOperators.GTE , 20)!
.get();!
!
!
DBCursor cursor = collection.find( query );!
while (cursor.hasNext()) {!
System.out.println(cursor.next());!
}
Java Driver : query
@tgralltug@mongodb.com
Morphia
• Based on Java Driver
• Provide a simple mapping
• Query Builder
• https://github.com/mongodb/morphia
public class Order {!
! @Id private ObjectId id;!
! private Date date;!
! @Property(“customer")!
! private String customer;!
! @Embedded!
! List<Item> items;!
! ...!
}!
!
{!
Mongo mongo = new Mongo();!
Morphia morphia = new Morphia();!
Datastore datastore = morphia.createDatastore(mongo, “ecommerce”); !
!
Order order = new Order();!
…!
Key<Order> savedOrder = datastore.save(order);!
… !
}
Morphia: Insert
! !
!
! List<Order> findByItemsQuantity(int quantity) {!
! ! return !
! ! find( createQuery().filter("items.quantity", quantity))!
! ! .asList();!
! }
Morphia : Query
@tgralltug@mongodb.com
ORM
Object Relational Mapping
@tgralltug@mongodb.com
ODM
Object Document Mapping
@tgralltug@mongodb.com
Spring Data
• Part of the Spring ecosystem
• Common approach for many datasources
• RDBMS,NoSQL,Caching Layers
• Key Features
• Templating
• ODM
• Repository Support
• http://projects.spring.io/spring-data-mongodb/
public class Order {!
! @Id private!
! String id;!
! private Date date;!
! @Field(“customer")!
! private String customer;!
! List<Item> items; ...!
}!
Spring Data: Insert
public interface OrderRepository !
! extends MongoRepository<Order, String> {!
!
! List<Order> findByItemsQuantity(int quantity);!
!
! @Query("{ "items.quantity": ?0 }")!
! List<Order> findWithQuery(int quantity);!
!
}
Spring Data : Query
@tgralltug@mongodb.com
Jongo
• Based on Java Driver
• Document Mapping
• Easy Query
• MongoDB Shell“experience”for Java
• http://jongo.org/
public class Order {!
! @Id private!
! String id;!
! private Date date;!
! @Field(“customer")!
! private String customerInfo;!
! List<Item> items; ...!
}!
!
{!
MongoClient mongoClient = new MongoClient();!
DB db = mongoClient.getDB("ecommerce");!
Jongo jongo = new Jongo(db);!
MongoCollection orders = jongo.getCollection("orders");!
!
Order order = new Order()!
...!
orders.save( order );!
}
Jongo: Insert
!
{!
!
DB db = mongoClient.getDB("ecommerce");!
Jongo jongo = new Jongo(db);!
MongoCollection orders = jongo.getCollection("orders");!
!
Iterable<Order> result = orders!
! .find("{"items.quantity": #}", 2)!
! .fields( “{ _id :0, date : 1, customer : 1 }” );!
! .as(Order.class);!
!
}
Jongo: Query
@tgralltug@mongodb.com
Hibernate OGM
• OGM : Object Grid Mapper
• The“JPA”way
• Subset of JPA
• Query not yet well supported
• Still under development
• http://hibernate.org/ogm
public class Order {!
! @GeneratedValue(generator = "uuid")!
! @GenericGenerator(name = "uuid", strategy = "uuid2")!
! @Id private!
! String id;!
! private Date date;!
! @Column(name = “customer")!
! private String customer;!
! @ElementCollection!
! private List<Item> items;!
…!
}

Hibernate OGM: Insert
{!
… !
!
@PersistenceContext(unitName = "ecommerce-mongodb-ogm")!
EntityManager em;!
!
Order order = new Order();!
…!
!
em.persist(quote);!
!
}
Hibernate OGM: Insert
@tgralltug@mongodb.com
Which one is good for me?
@tgralltug@mongodb.com
MongoDB Java Driver
Morphia Spring Data Jongo Hibernate OGM
@tgralltug@mongodb.com
MongoDB Java Driver
Morphia Spring Data Jongo Hibernate OGM
• Developed and Supported by MongoDB Inc
• The most used way to use MongoDB & Java
• Support “ all database features”
• Too Verbose… (IMHO)
• new version is coming 3.0
@tgralltug@mongodb.com
MongoDB Java Driver
Morphia Spring Data Jongo Hibernate OGM
• Developed and Supported by MongoDB Inc
• Easy Mapping and Query
• Active Community
@tgralltug@mongodb.com
MongoDB Java Driver
Morphia Spring Data Jongo Hibernate OGM
• Developed and Supported by Spring
• Easy Mapping and Query
• Advanced Features
• Great for Spring developers!
@tgralltug@mongodb.com
MongoDB Java Driver
Morphia Spring Data Jongo Hibernate OGM
• Developed by the Community
• Easy query and mapping
• Mature
• A better tools for MongoDB query language fans!
@tgralltug@mongodb.com
MongoDB Java Driver
Morphia Spring Data Jongo Hibernate OGM
• Developed by Red Hat - Jboss
• Not yet supported
• Under development (not mature, not for production!)
• Too “relational”
• nice to learn… but move away from it asap :)
Questions?
#ConferenceHashtag
ThankYou

Mais conteúdo relacionado

Mais procurados

Building Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBBuilding Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDB
MongoDB
 
San Francisco Java User Group
San Francisco Java User GroupSan Francisco Java User Group
San Francisco Java User Group
kchodorow
 
10gen Presents Schema Design and Data Modeling
10gen Presents Schema Design and Data Modeling10gen Presents Schema Design and Data Modeling
10gen Presents Schema Design and Data Modeling
DATAVERSITY
 
Building web applications with mongo db presentation
Building web applications with mongo db presentationBuilding web applications with mongo db presentation
Building web applications with mongo db presentation
Murat Çakal
 

Mais procurados (20)

MongoDB
MongoDBMongoDB
MongoDB
 
Agile Schema Design: An introduction to MongoDB
Agile Schema Design: An introduction to MongoDBAgile Schema Design: An introduction to MongoDB
Agile Schema Design: An introduction to MongoDB
 
Building Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBBuilding Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDB
 
Back to Basics Webinar 5: Introduction to the Aggregation Framework
Back to Basics Webinar 5: Introduction to the Aggregation FrameworkBack to Basics Webinar 5: Introduction to the Aggregation Framework
Back to Basics Webinar 5: Introduction to the Aggregation Framework
 
NoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDBNoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDB
 
Back to Basics Webinar 3: Schema Design Thinking in Documents
 Back to Basics Webinar 3: Schema Design Thinking in Documents Back to Basics Webinar 3: Schema Design Thinking in Documents
Back to Basics Webinar 3: Schema Design Thinking in Documents
 
Building your first app with mongo db
Building your first app with mongo dbBuilding your first app with mongo db
Building your first app with mongo db
 
Apache CouchDB Presentation @ Sept. 2104 GTALUG Meeting
Apache CouchDB Presentation @ Sept. 2104 GTALUG MeetingApache CouchDB Presentation @ Sept. 2104 GTALUG Meeting
Apache CouchDB Presentation @ Sept. 2104 GTALUG Meeting
 
Schema design
Schema designSchema design
Schema design
 
最近 node.js 來勢洶洶, 怎麼辦? 別怕, 我們也有秘密武器 RingoJS!
最近 node.js 來勢洶洶, 怎麼辦? 別怕, 我們也有秘密武器 RingoJS!最近 node.js 來勢洶洶, 怎麼辦? 別怕, 我們也有秘密武器 RingoJS!
最近 node.js 來勢洶洶, 怎麼辦? 別怕, 我們也有秘密武器 RingoJS!
 
San Francisco Java User Group
San Francisco Java User GroupSan Francisco Java User Group
San Francisco Java User Group
 
Back to Basics: My First MongoDB Application
Back to Basics: My First MongoDB ApplicationBack to Basics: My First MongoDB Application
Back to Basics: My First MongoDB Application
 
10gen Presents Schema Design and Data Modeling
10gen Presents Schema Design and Data Modeling10gen Presents Schema Design and Data Modeling
10gen Presents Schema Design and Data Modeling
 
Building Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBBuilding Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDB
 
Webinar: General Technical Overview of MongoDB for Dev Teams
Webinar: General Technical Overview of MongoDB for Dev TeamsWebinar: General Technical Overview of MongoDB for Dev Teams
Webinar: General Technical Overview of MongoDB for Dev Teams
 
Feed Normalization with Ember Data 1.0
Feed Normalization with Ember Data 1.0Feed Normalization with Ember Data 1.0
Feed Normalization with Ember Data 1.0
 
Learn Learn how to build your mobile back-end with MongoDB
Learn Learn how to build your mobile back-end with MongoDBLearn Learn how to build your mobile back-end with MongoDB
Learn Learn how to build your mobile back-end with MongoDB
 
MongoDB, PHP and the cloud - php cloud summit 2011
MongoDB, PHP and the cloud - php cloud summit 2011MongoDB, PHP and the cloud - php cloud summit 2011
MongoDB, PHP and the cloud - php cloud summit 2011
 
Dealing with Azure Cosmos DB
Dealing with Azure Cosmos DBDealing with Azure Cosmos DB
Dealing with Azure Cosmos DB
 
Building web applications with mongo db presentation
Building web applications with mongo db presentationBuilding web applications with mongo db presentation
Building web applications with mongo db presentation
 

Semelhante a Building Your First MongoDB Application

Dev Jumpstart: Build Your First App with MongoDB
Dev Jumpstart: Build Your First App with MongoDBDev Jumpstart: Build Your First App with MongoDB
Dev Jumpstart: Build Your First App with MongoDB
MongoDB
 
MongoDB and Ruby on Rails
MongoDB and Ruby on RailsMongoDB and Ruby on Rails
MongoDB and Ruby on Rails
rfischer20
 
Mongo db eveningschemadesign
Mongo db eveningschemadesignMongo db eveningschemadesign
Mongo db eveningschemadesign
MongoDB APAC
 
Marc s01 e02-crud-database
Marc s01 e02-crud-databaseMarc s01 e02-crud-database
Marc s01 e02-crud-database
MongoDB
 
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
MongoDB
 

Semelhante a Building Your First MongoDB Application (20)

Back to Basics, webinar 2: La tua prima applicazione MongoDB
Back to Basics, webinar 2: La tua prima applicazione MongoDBBack to Basics, webinar 2: La tua prima applicazione MongoDB
Back to Basics, webinar 2: La tua prima applicazione MongoDB
 
Back to Basics 2017: Mí primera aplicación MongoDB
Back to Basics 2017: Mí primera aplicación MongoDBBack to Basics 2017: Mí primera aplicación MongoDB
Back to Basics 2017: Mí primera aplicación MongoDB
 
Neotys conference
Neotys conferenceNeotys conference
Neotys conference
 
Building your first app with MongoDB
Building your first app with MongoDBBuilding your first app with MongoDB
Building your first app with MongoDB
 
MongoDB at RuPy
MongoDB at RuPyMongoDB at RuPy
MongoDB at RuPy
 
Aggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days MunichAggregation Framework MongoDB Days Munich
Aggregation Framework MongoDB Days Munich
 
Dev Jumpstart: Build Your First App with MongoDB
Dev Jumpstart: Build Your First App with MongoDBDev Jumpstart: Build Your First App with MongoDB
Dev Jumpstart: Build Your First App with MongoDB
 
MongoDB and Ruby on Rails
MongoDB and Ruby on RailsMongoDB and Ruby on Rails
MongoDB and Ruby on Rails
 
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
MongoDB Introduction talk at Dr Dobbs Conference, MongoDB Evenings at Bangalo...
 
PostgreSQLからMongoDBへ
PostgreSQLからMongoDBへPostgreSQLからMongoDBへ
PostgreSQLからMongoDBへ
 
Mongo db eveningschemadesign
Mongo db eveningschemadesignMongo db eveningschemadesign
Mongo db eveningschemadesign
 
Streaming Data Pipelines with MongoDB and Kafka at ao.com
Streaming Data Pipelines with MongoDB and Kafka at ao.comStreaming Data Pipelines with MongoDB and Kafka at ao.com
Streaming Data Pipelines with MongoDB and Kafka at ao.com
 
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep DiveMongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
 
Back to Basics Webinar 2 - Your First MongoDB Application
Back to  Basics Webinar 2 - Your First MongoDB ApplicationBack to  Basics Webinar 2 - Your First MongoDB Application
Back to Basics Webinar 2 - Your First MongoDB Application
 
MongoDB at ZPUGDC
MongoDB at ZPUGDCMongoDB at ZPUGDC
MongoDB at ZPUGDC
 
Marc s01 e02-crud-database
Marc s01 e02-crud-databaseMarc s01 e02-crud-database
Marc s01 e02-crud-database
 
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
 
10gen MongoDB Video Presentation at WebGeek DevCup
10gen MongoDB Video Presentation at WebGeek DevCup10gen MongoDB Video Presentation at WebGeek DevCup
10gen MongoDB Video Presentation at WebGeek DevCup
 
The Aggregation Framework
The Aggregation FrameworkThe Aggregation Framework
The Aggregation Framework
 
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
 

Mais de Tugdual Grall

Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iot
Tugdual Grall
 

Mais de Tugdual Grall (20)

Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1
 
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
 
Big Data Journey
Big Data JourneyBig Data Journey
Big Data Journey
 
Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015
 
Introduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopIntroduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi Workshop
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
MongoDB and Hadoop
MongoDB and HadoopMongoDB and Hadoop
MongoDB and Hadoop
 
Proud to be polyglot
Proud to be polyglotProud to be polyglot
Proud to be polyglot
 
Drop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignDrop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema Design
 
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
 
Some cool features of MongoDB
Some cool features of MongoDBSome cool features of MongoDB
Some cool features of MongoDB
 
Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iot
 
Softshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseSoftshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with Couchbase
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?
 
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
 
Big Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQLBig Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQL
 
Big Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataBig Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big Data
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Building Your First MongoDB Application