SlideShare ist ein Scribd-Unternehmen logo
1 von 36
MongoDB – Partie 1
What the no-sql ?
Introduction
Introduction

PHPCR
MongoDB
MongoDB – Infos

MongoDB ("humongous")
10gen
2007 – start project
2009 – open source
C++
Licence : GNU AGPL v3.0 (drivers: Apache licence)
Easy, scalability and Big DATA
Geolocalisation
Data

MongoDB

MySQL

SGDB
> databases
> collections
> documents

SGDB
> databases
> tables
> lignes

No structure
Dynamic schema

Structure
Static schema
Data

BSON = Binary JSON
Lightweight, traversable and UTF-8

{
FirstName:
Address:
Children:
{Name:
{Name:
{Name:
{Name:
]
}

"Jonathan",
"15 Wanamassa Point Road",
[
"Michael", Age: 10},
"Jennifer", Age: 8},
"Samantha", Age: 5},
"Elena",
Age: 2}
Key

_id: ObjectId
12 bits :
- 4 bits – Timestamp (Unix)
- 3 bits – ID machine
- 2 bits – ID process
- 3 bits – Count

}

Similar UUID

Example : 52af1a617e0b18d9448b4567 (hexa)

DBRefs

- collection
- _id
- db (optional)
Map reduce
Map : select process per document
Reduce : combining data
function mapFunction() {
emit(this.user_id, this.price);
}
function reduceFunction(keyUserId, valuePrice) {
return Array.sum(valuePrice);
}
db.runCommand({
mapReduce: 'my_collection',
map:
mapFunction,
Reduce: reduceFunction,
out:
'map_reduce_results_collection',
query: { old_date: { $gt: new Date('17/08/2005') } }
})
V8 JavaScript engine

ECMAscript
V8 JavaScript Engine
standardized JSON
strict mode
Installation (Debian) & shell
Installation

$ sudo apt-key adv --keyserver keyserver.ubuntu.com
--recv 7F0CEB10
$ echo 'deb http://downloadsdistro.mongodb.org/repo/debian-sysvinit dist 10gen' |
sudo tee /etc/apt/sources.list.d/mongodb.list
$ sudo apt-get update
$ sudo apt-get install mongodb-10gen
$ sudo /etc/init.d/mongodb {status|start|stop|restart|
reload|force-reload}
Installation

$ mongo
MongoDB shell version 2.4.9
connection to : test
> show databases
default 0.203125GB
test
0.203125GB
local
0.078125GB
reseau 0.203125GB
> use reseau
switched to db reseau
> show collections
network
system.indexes
traffic
> db.traffic.count()
8
MongoDB – Drivers
Client libraries
●
●
●
●
●
●
●
●
●
●
●
●
●

C
C++
C#
Go
Erlang
Java
JavaScript
Node.js
Perl
PHP
Python
Ruby
Scala

Community Supported Drivers
●
●
●
●
●
●
●
●
●
●
●
●
●
●

ActionScript3
ColdFusion
D
Dart
Delphi
Groovy
Lips
Lua
Objective C
Ocaml
Opa
PowerShell
R
Smalltalk

http://docs.mongodb.org/ecosystem/drivers/
PHP - installation

$
$
$
$

sudo
sudo
sudo
sudo

apt-get update
apt-get install php5-dev
pecl install mongo
php5enmod mongo
Client PHP
PHP – classes & types

●

MongoClient

●

MongoId

●

MongoDB

●

MongoCode

●

MongoCollection

●

MongoDate

●

MongoCursor

●

MongoRegex

●

MongoBinData

●

MongoInt32

●

MongoInt64

●

MongoDBRef

●

MongoGridFS

●

MongoMinKey

●

MongoGridFSFile

●

MongoMaxKey

●

MongoGridFSCursor

●

MongoTimestamp
PHP – examples

Create
<?php
$someDoc = [
'author'
'content'
'nbComment'
'dateCreated'
];

=>
=>
=>
=>

'ekino',
'mongod',
5,
new MongoDate()

$client = new MongoClient("mongodb://localhost/");
$database = $client->demoDb;
$collection = $database->demoCollection;
$collection->insert($someDoc);
echo (string) $someDoc['_id']; // 52af1a617e0b18d9448b4567
PHP – examples

$ mongo
MongoDB shell version: 2.4.8
connecting to: test
> show databases
demoDb 0.203125GB
local 0.078125GB
> use demoDb
switched to db demoDb
> db.demoCollection.find();
{ "_id" : ObjectId("52af1a617e0b18d9448b4567"), "author" :
"ekino", "content" : "mongod", "nbComment" : 5,
"dateCreated" : ISODate("2013-12-16T15:21:05.212Z") }
> exit
Bye
$ php -r 'var_dump(date("Y-m-d H:i:s",
hexdec("52af1a61")));'
string(19) "2013-12-16 16:21:05"
Installation

$ ls -lGh /var/lib/mongodb
drwxr-xr-x 2 mongodb 4,0K déc.
-rw------- 1 mongodb 64M déc.
-rw------- 1 mongodb 16M déc.
-rwxr-xr-x 1 mongodb
5 déc.
drwxr-xr-x 2 mongodb 4,0K déc.

16
16
16
16
16

16:21
10:10
10:10
10:10
16:21

journal
local.0
local.ns
mongod.lock
_tmp
PHP – examples

$ ls -lGh /var/lib/mongodb
-rw------- 1 mongodb 64M déc.
-rw------- 1 mongodb 128M déc.
-rw------- 1 mongodb 16M déc.
drwxr-xr-x 2 mongodb 4,0K déc.
-rw------- 1 mongodb 64M déc.
-rw------- 1 mongodb 16M déc.
-rwxr-xr-x 1 mongodb
5 déc.
drwxr-xr-x 2 mongodb 4,0K déc.

16
16
16
16
16
16
16
16

16:21
16:21
16:21
16:21
10:10
10:10
10:10
16:21

demoDb.0
demoDb.1
demoDb.ns
journal
local.0
local.ns
mongod.lock
_tmp
PHP – examples

Retrieve
<?php
$client = new MongoClient("mongodb://localhost/");
$database = $client->demoDb;
$collection = $database->demoCollection;
$collection->findOne(['nbComment' => ['$gt' => 3]];
$cursor = $collection->find();
$cursor->count(); // number of documents
$cursor = $cursor->sort(['author' => 1]);
$cursor = $cursor->limit(10);
foreach ($cursor as $demo) {
// iterator ...
}
PHP – examples

Update
<?php
$client = new MongoClient("mongodb://localhost/");
$database = $client->demoDb;
$collection = $database->demoCollection;
$query = ["author" => "ekino"];
$newdata = [
'$set' => [
"keywords" => "excellent ta_vu"
]
];
$options = [
'upsert'
=> true,
'multiple' => false,
'j'
=> false // or fsync
];
$collection->update($query, $newdata, $options);
PHP – examples

Delete
<?php
$client = new MongoClient("mongodb://localhost/");
$database = $client->demoDb;
$collection = $database->demoCollection;
$options = ["justOne" => true, "j" => false];
$collection->remove(['author' => 'ekino'], $options);
Administration
Package components

●

mongod : primary daemon process for the MongoDB system

●

mongos : routing service for MongoDB shard

●

mongo : interactive JavaScript shell interface

●

mongodump : creating a binary export

●

mongorestore : writes data from a binary database dump

●

●

mongostat : provides a quick overview of the status
similar vmstat
mongoperf : check disk I/O performance independently
of MongoDB
Replication
Sharding
Tools
Interface - metric
MMS - 10gen
Interface - GUI
Robomongo

https://github.com/paralect/robomongo
Conclusion
Intégration
Intégration

SQL et/ou NoSQL ?

Source : http://www.commitstrip.com/en/2012/04/10/what-do-you-mean-its-oversized/
Annexes
Pool-DBM :
PHP Library to create relationships between DBMS.
Work with Doctrine Library.
https://github.com/pokap/pool-dbm

Source images :
http://askdba.org/weblog/images/technical/nosql
http://www.generation-trafic.fr/wp-content/uploads/2012/07/geolocalisation.jpg
http://www.kchodorow.com/blog/wp-content/uploads/2010/03/sharding.png
http://www.commitstrip.com/en/2012/04/10/what-do-you-mean-its-oversized/
http://www.pixelboy.fr/wp-content/uploads/2011/11/Firefox1.png
http://robomongo.org/
http://nyccto.files.wordpress.com/2011/03/mysql_to_mongodb.gif
http://www.elektronique.fr/cours/porte-logique/images/porte-logique-et.png

Weitere Àhnliche Inhalte

Was ist angesagt?

Back to Basics Spanish 4 Introduction to sharding
Back to Basics Spanish 4 Introduction to shardingBack to Basics Spanish 4 Introduction to sharding
Back to Basics Spanish 4 Introduction to shardingMongoDB
 
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 DocumentsMongoDB
 
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLBack to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLMongoDB
 
Conceptos bĂĄsicos. Seminario web 2: Su primera aplicaciĂłn MongoDB
 Conceptos bĂĄsicos. Seminario web 2: Su primera aplicaciĂłn MongoDB Conceptos bĂĄsicos. Seminario web 2: Su primera aplicaciĂłn MongoDB
Conceptos bĂĄsicos. Seminario web 2: Su primera aplicaciĂłn MongoDBMongoDB
 
Back to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsBack to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsMongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBantoinegirbal
 
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...MongoDB
 
Back to Basics Spanish Webinar 3 - IntroducciĂłn a los replica sets
Back to Basics Spanish Webinar 3 - IntroducciĂłn a los replica setsBack to Basics Spanish Webinar 3 - IntroducciĂłn a los replica sets
Back to Basics Spanish Webinar 3 - IntroducciĂłn a los replica setsMongoDB
 
Mongo db – document oriented database
Mongo db – document oriented databaseMongo db – document oriented database
Mongo db – document oriented databaseWojciech Sznapka
 
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 ApplicationMongoDB
 
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDBMongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDBMongoDB
 
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 FrameworkMongoDB
 
Beyond the Basics 2: Aggregation Framework
Beyond the Basics 2: Aggregation Framework Beyond the Basics 2: Aggregation Framework
Beyond the Basics 2: Aggregation Framework MongoDB
 
Webinar: Getting Started with MongoDB - Back to Basics
Webinar: Getting Started with MongoDB - Back to BasicsWebinar: Getting Started with MongoDB - Back to Basics
Webinar: Getting Started with MongoDB - Back to BasicsMongoDB
 
Webinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in DocumentsWebinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in DocumentsMongoDB
 
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentosConceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentosMongoDB
 

Was ist angesagt? (20)

Back to Basics Spanish 4 Introduction to sharding
Back to Basics Spanish 4 Introduction to shardingBack to Basics Spanish 4 Introduction to sharding
Back to Basics Spanish 4 Introduction to sharding
 
MongoDB
MongoDBMongoDB
MongoDB
 
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
 
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLBack to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQL
 
Conceptos bĂĄsicos. Seminario web 2: Su primera aplicaciĂłn MongoDB
 Conceptos bĂĄsicos. Seminario web 2: Su primera aplicaciĂłn MongoDB Conceptos bĂĄsicos. Seminario web 2: Su primera aplicaciĂłn MongoDB
Conceptos bĂĄsicos. Seminario web 2: Su primera aplicaciĂłn MongoDB
 
Back to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsBack to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica Sets
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
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...
 
Back to Basics Spanish Webinar 3 - IntroducciĂłn a los replica sets
Back to Basics Spanish Webinar 3 - IntroducciĂłn a los replica setsBack to Basics Spanish Webinar 3 - IntroducciĂłn a los replica sets
Back to Basics Spanish Webinar 3 - IntroducciĂłn a los replica sets
 
Mongo db – document oriented database
Mongo db – document oriented databaseMongo db – document oriented database
Mongo db – document oriented database
 
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
 
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDBMongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
 
MongoDB
MongoDBMongoDB
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
 
Beyond the Basics 2: Aggregation Framework
Beyond the Basics 2: Aggregation Framework Beyond the Basics 2: Aggregation Framework
Beyond the Basics 2: Aggregation Framework
 
Webinar: Getting Started with MongoDB - Back to Basics
Webinar: Getting Started with MongoDB - Back to BasicsWebinar: Getting Started with MongoDB - Back to Basics
Webinar: Getting Started with MongoDB - Back to Basics
 
Webinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in DocumentsWebinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in Documents
 
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentosConceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
 
Indexing
IndexingIndexing
Indexing
 
Mongo db basics
Mongo db basicsMongo db basics
Mongo db basics
 

Ähnlich wie MongoDB - Ekino PHP

MongoDB dla administratora
MongoDB dla administratora MongoDB dla administratora
MongoDB dla administratora 3camp
 
MongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB
 
Spring Data MongoDB 介çŽč
Spring Data MongoDB 介çŽčSpring Data MongoDB 介çŽč
Spring Data MongoDB 介çŽčKuo-Chun Su
 
Omnibus database machine
Omnibus database machineOmnibus database machine
Omnibus database machineAleck Landgraf
 
Architecting Secure and Compliant Applications with MongoDB
Architecting Secure and Compliant Applications with MongoDB        Architecting Secure and Compliant Applications with MongoDB
Architecting Secure and Compliant Applications with MongoDB MongoDB
 
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 ApplicationJoe Drumgoole
 
Get expertise with mongo db
Get expertise with mongo dbGet expertise with mongo db
Get expertise with mongo dbAmit Thakkar
 
Ops Jumpstart: Admin 101
Ops Jumpstart: Admin 101Ops Jumpstart: Admin 101
Ops Jumpstart: Admin 101MongoDB
 
MongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB World 2016: The Best IoT Analytics with MongoDBMongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB World 2016: The Best IoT Analytics with MongoDBMongoDB
 
Hitbkl 2012
Hitbkl 2012Hitbkl 2012
Hitbkl 2012F _
 
sf bay area dfir meetup (2016-04-30) - OsxCollector
sf bay area dfir meetup (2016-04-30) - OsxCollector   sf bay area dfir meetup (2016-04-30) - OsxCollector
sf bay area dfir meetup (2016-04-30) - OsxCollector Rishi Bhargava
 
Webinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBWebinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBMongoDB
 
Meetup#1: 10 reasons to fall in love with MongoDB
Meetup#1: 10 reasons to fall in love with MongoDBMeetup#1: 10 reasons to fall in love with MongoDB
Meetup#1: 10 reasons to fall in love with MongoDBMinsk MongoDB User Group
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBAlex Bilbie
 
Diagnostics & Debugging webinar
Diagnostics & Debugging webinarDiagnostics & Debugging webinar
Diagnostics & Debugging webinarMongoDB
 
Getting started with MongoDB and Scala - Open Source Bridge 2012
Getting started with MongoDB and Scala - Open Source Bridge 2012Getting started with MongoDB and Scala - Open Source Bridge 2012
Getting started with MongoDB and Scala - Open Source Bridge 2012sullis
 
Diagnostics and Debugging
Diagnostics and DebuggingDiagnostics and Debugging
Diagnostics and DebuggingMongoDB
 
Mongodb intro
Mongodb introMongodb intro
Mongodb introchristkv
 

Ähnlich wie MongoDB - Ekino PHP (20)

Mongo db dla administratora
Mongo db dla administratoraMongo db dla administratora
Mongo db dla administratora
 
MongoDB dla administratora
MongoDB dla administratora MongoDB dla administratora
MongoDB dla administratora
 
MongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB Performance
 
Spring Data MongoDB 介çŽč
Spring Data MongoDB 介çŽčSpring Data MongoDB 介çŽč
Spring Data MongoDB 介çŽč
 
Omnibus database machine
Omnibus database machineOmnibus database machine
Omnibus database machine
 
Architecting Secure and Compliant Applications with MongoDB
Architecting Secure and Compliant Applications with MongoDB        Architecting Secure and Compliant Applications with MongoDB
Architecting Secure and Compliant Applications with MongoDB
 
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
 
Get expertise with mongo db
Get expertise with mongo dbGet expertise with mongo db
Get expertise with mongo db
 
Ops Jumpstart: Admin 101
Ops Jumpstart: Admin 101Ops Jumpstart: Admin 101
Ops Jumpstart: Admin 101
 
MongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB World 2016: The Best IoT Analytics with MongoDBMongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB World 2016: The Best IoT Analytics with MongoDB
 
Hitbkl 2012
Hitbkl 2012Hitbkl 2012
Hitbkl 2012
 
sf bay area dfir meetup (2016-04-30) - OsxCollector
sf bay area dfir meetup (2016-04-30) - OsxCollector   sf bay area dfir meetup (2016-04-30) - OsxCollector
sf bay area dfir meetup (2016-04-30) - OsxCollector
 
Webinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDBWebinar: Architecting Secure and Compliant Applications with MongoDB
Webinar: Architecting Secure and Compliant Applications with MongoDB
 
MongoDB 101
MongoDB 101MongoDB 101
MongoDB 101
 
Meetup#1: 10 reasons to fall in love with MongoDB
Meetup#1: 10 reasons to fall in love with MongoDBMeetup#1: 10 reasons to fall in love with MongoDB
Meetup#1: 10 reasons to fall in love with MongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Diagnostics & Debugging webinar
Diagnostics & Debugging webinarDiagnostics & Debugging webinar
Diagnostics & Debugging webinar
 
Getting started with MongoDB and Scala - Open Source Bridge 2012
Getting started with MongoDB and Scala - Open Source Bridge 2012Getting started with MongoDB and Scala - Open Source Bridge 2012
Getting started with MongoDB and Scala - Open Source Bridge 2012
 
Diagnostics and Debugging
Diagnostics and DebuggingDiagnostics and Debugging
Diagnostics and Debugging
 
Mongodb intro
Mongodb introMongodb intro
Mongodb intro
 

KĂŒrzlich hochgeladen

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

KĂŒrzlich hochgeladen (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

MongoDB - Ekino PHP

Hinweis der Redaktion

  1. Qu&apos;est-ce que le no-sql ? Tout ce qui n&apos;est pas SQL Le no-sql a toujours existé
  2. Clé-valeur Orienté columns Orienté document
  3. Pas de transaction Terminologie : Table = Collection, Ligne = Document, Index = Index Collections de collections Mongo: ACID ? ~Atomic (update)~, cohérent, isolation, durable
  4. Pas de schéma Donnée hétérogÚnes (éviter M coll) Atomicité par document Terminologie : Jointure = Données embarquées
  5. Obligatoire ClĂ© 12 bits 4 – timestamp 3 – id machine 2 – id process 3 – compteur Non brut visible en hexa 24 caractĂšres
  6. Donne une idée de l&apos;implémentation de mongo dans PHP
  7. Pas besoin de createdAt avec l&apos;id
  8. Upsert : insert if unexists Multiple : all for request J : false : force sync with disk, else journal
  9. Groupe de process mongo maintiens les mĂȘmes donnĂ©es (master/slave)
  10. Process stockage de donnée entre plusieurs machine. Si une machine ne tiens pas la charge (I/O) Haute-disponibilité avec la réplication
  11. Qu&apos;est-ce que le no-sql ? Tout ce qui n&apos;est pas SQL Le no-sql a toujours existé
  12. Compatible : Mac, windows et Linux
  13. - ne pas l&apos;utiliser juste pour le plaisir - pas adapté aux environnements transactionnels critiques