com presentations: PHP Dublin talk: mongodb-phpdub18.xml slides/mongodb/aggr-facet.xml slides/mongodb/aggr-pipelines-ops.xml slides/mongodb/atlas.jpg slides/mongodb/atlas.xml slides/mongodb/considerations.xml slides/mongodb/data-model.xml slides/mongodb/document-validation-jsonschema.xml slides/mongodb/document-validation.xml slides/mongodb/indexes-new.xml slides/mongodb/indexes-special.xml slides/mongodb/repl-eventual-consistency.xml slides/temp
[email protected] (Derick Rethans) Fri, 23 Mar 2018 11:50:59 +0000
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Commit: 35a1e04a1836e8740cae448ff785a331ee20abfa Author: Derick Rethans <[email protected]> Fri, 23 Mar 2018 11:50:59 +0000 Parents: 820638cccd927db15fbf1b3c03af1432a596e9e7 Branches: master Link: http://git.php.net/?p=presentations.git;a=commitdiff;h=35a1e04a1836e8740cae448ff785a331ee20abfa Log: PHP Dublin talk Changed paths: A mongodb-phpdub18.xml M slides/mongodb/aggr-facet.xml M slides/mongodb/aggr-pipelines-ops.xml A slides/mongodb/atlas.jpg A slides/mongodb/atlas.xml M slides/mongodb/considerations.xml M slides/mongodb/data-model.xml A slides/mongodb/document-validation-jsonschema.xml M slides/mongodb/document-validation.xml M slides/mongodb/indexes-new.xml M slides/mongodb/indexes-special.xml M slides/mongodb/repl-eventual-consistency.xml A slides/template.xml
diff_35a1e04a1836e8740cae448ff785a331ee20abfa.txt
(text/plain, 8.3 KB)
diff --git a/mongodb-phpdub18.xml b/mongodb-phpdub18.xml new file mode 100644 index 0000000..3cb80c2 --- /dev/null +++ b/mongodb-phpdub18.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="10gen-strict.css"> +<topic>MongoDB</topic> +<title>Getting the Most out of MongoDB</title> +<event>PHP Dublin</event> +<location>Dublin, Ireland</location> +<date>March 20, 2018</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<url>http://derickrethans.nl/talks.html</url> +<joindin>https://joind.in/23650</joindin> +<slide>slides/mongodb/title.xml</slide> +<slide>slides/mongodb/me.xml</slide> + +** Terms ** + +<slide>slides/mongodb/collections-documents.xml</slide> + +<slide>slides/mongodb/document-title.xml</slide> +<slide>slides/mongodb/document-simple.xml</slide> +<slide>slides/mongodb/document-complex.xml</slide> + +<slide>slides/mongodb/collections-title.xml</slide> +<slide>slides/mongodb/collections.xml</slide> + +<slide>slides/mongodb/index-title.xml</slide> +<slide>slides/mongodb/index.xml</slide> + +** From PHP ** + +<slide>slides/mongodb/new-architecture.xml</slide> +<slide>slides/mongodb/phplib-intro.xml</slide> +<slide>slides/mongodb/phplib-crud.xml</slide> +<slide>slides/mongodb/query-side-by-side.xml</slide> + +<slide>slides/mongodb/keys-title.xml</slide> +<slide>slides/mongodb/data-model.xml</slide> +<slide>slides/mongodb/considerations.xml</slide> + +<RETRYABLEWRITES/> +<ATLAS/> + +Common Patterns + +- RDBMS-normalisation. + +<slide>slides/mongodb/eav2.xml</slide> +<slide>slides/mongodb/eav3.xml</slide> + +<slide>slides/mongodb/document-validation.xml</slide> +<slide>slides/mongodb/document-validation-jsonschema.xml</slide> + +<slide>slides/mongodb/index-title.xml</slide> +<slide>slides/mongodb/indexes-new.xml</slide> +<slide>slides/mongodb/indexes-php.xml</slide> +<slide>slides/mongodb/indexes-explain2.xml</slide> +<slide>slides/mongodb/indexes-special.xml</slide> + +<!-- A/F --> +<slide>slides/mongodb/aggregation-title.xml</slide> +<slide>slides/mongodb/aggr-pipeline.xml</slide> +<slide>slides/mongodb/aggr-our-example-data.xml</slide> +<slide>slides/mongodb/aggr-pipelines-ops.xml</slide> + +<slide>slides/mongodb/aggr-favourite-german-beer.xml</slide> +<slide>slides/mongodb/aggr-favourite-german-beer-result.xml</slide> + +<slide>slides/mongodb/aggr-facet.xml</slide> +<slide>slides/mongodb/aggr-facet-result.xml</slide> + +<!-- REPLICATION --> +<slide>slides/mongodb/replication-title.xml</slide> +<slide>slides/mongodb/repl-features.xml</slide> +<slide>slides/mongodb/repl-works-normal.xml</slide> +<slide>slides/mongodb/repl-eventual-consistency.xml</slide> + +<slide>slides/mongodb/atlas.xml</slide> + +<slide>slides/mongodb/questions.xml</slide> +<slide>slides/mongodb/resources.xml</slide> + +</presentation> diff --git a/slides/mongodb/aggr-facet.xml b/slides/mongodb/aggr-facet.xml index b5a6944..b344b4b 100644 --- a/slides/mongodb/aggr-facet.xml +++ b/slides/mongodb/aggr-facet.xml @@ -1,8 +1,6 @@ <slide> <title>Give an *overview* of number of beers per ~x~</title> -<blurb>Facets, new in MongoDB 3.4.</blurb> - <div effect="fade-in"> <break/> <blurb>Pipeline:</blurb> diff --git a/slides/mongodb/aggr-pipelines-ops.xml b/slides/mongodb/aggr-pipelines-ops.xml index 284a1dd..e33ee75 100644 --- a/slides/mongodb/aggr-pipelines-ops.xml +++ b/slides/mongodb/aggr-pipelines-ops.xml @@ -6,9 +6,9 @@ <bullet>%$project%</bullet> <bullet>%$group%</bullet> <bullet>%$unwind%</bullet> - <bullet>%$sample% (new in 3.2)</bullet> - <bullet>%$sortByCount% (new in 3.4)</bullet> - <bullet>%$bucket% / %$bucketAuto% (new in 3.4)</bullet> + <bullet>%$sample%</bullet> + <bullet>%$sortByCount%</bullet> + <bullet>%$bucket% / %$bucketAuto%</bullet> <bullet>%$geoNear%</bullet> <bullet>%$sort%, %$limit%, %$skip%</bullet> </list> diff --git a/slides/mongodb/atlas.jpg b/slides/mongodb/atlas.jpg new file mode 100644 index 0000000..a23e119 Binary files /dev/null and b/slides/mongodb/atlas.jpg differ diff --git a/slides/mongodb/atlas.xml b/slides/mongodb/atlas.xml new file mode 100644 index 0000000..84d9dd3 --- /dev/null +++ b/slides/mongodb/atlas.xml @@ -0,0 +1,17 @@ +<slide style="imagebg" background="atlas.jpg"> +<title>MongoDB Atlas</title> + +<break lines="5"/> +<div class="center-blurb-wide"> +<blurb>MongoDB's Database as a Service</blurb> +<list> + <bullet>Automated Operations</bullet> + <bullet>Easy to scale up and down</bullet> + <bullet>Managed Upgrades</bullet> + <bullet>Continuous Backups</bullet> + <bullet>Performance Monitoring</bullet> + <bullet>*Free Tier*</bullet> +</list> +</div> +</slide> + diff --git a/slides/mongodb/considerations.xml b/slides/mongodb/considerations.xml index f4995b2..1f2fd5a 100644 --- a/slides/mongodb/considerations.xml +++ b/slides/mongodb/considerations.xml @@ -1,6 +1,5 @@ -<slide style="imagebg"> +<slide style="imagebg" background="keys.jpg"> <title>Schema Considerations</title> -<image align="center" filename="keys.jpg"/> <break lines="10"/> <div class="center-blurb-wide"> <list> diff --git a/slides/mongodb/data-model.xml b/slides/mongodb/data-model.xml index c53de0b..4c3fdec 100644 --- a/slides/mongodb/data-model.xml +++ b/slides/mongodb/data-model.xml @@ -5,7 +5,7 @@ <list> <bullet>No relations between collections</bullet> <bullet>No foreign keys</bullet> - <bullet>No transactions</bullet> + <bullet>|777777|No| transactions</bullet> </list> </div> <break lines="2"/> diff --git a/slides/mongodb/document-validation-jsonschema.xml b/slides/mongodb/document-validation-jsonschema.xml new file mode 100644 index 0000000..94c8f35 --- /dev/null +++ b/slides/mongodb/document-validation-jsonschema.xml @@ -0,0 +1,28 @@ +<slide> +<title>Enforcing Schema</title> + +<blurb>Allows you to set a *validator*, a query that every new or updated document must match</blurb> +<blurb>Example with JSON schema:</blurb> +<example inline="1"> +db.runCommand( { + collMod: "whisky", + validator: { + $jsonSchema: { + bsonType: "object", + *required*: [ "name", "age" ], + properties: { + name: { + *bsonType*: "string", + description: "The name of the whisky.", + }, + age: { + bsonType: "int", + *minimum: 3,* + description: "The age in years of the whisky". + } + } + } + }, +} ) +</example> +</slide> diff --git a/slides/mongodb/document-validation.xml b/slides/mongodb/document-validation.xml index dbbb792..b351316 100644 --- a/slides/mongodb/document-validation.xml +++ b/slides/mongodb/document-validation.xml @@ -14,6 +14,4 @@ db.runCommand( { validationAction: *"warn"*, // error, } ) </example> -<break/> - <blurb>MongoDB 3.6 adds JSON Schema support</blurb> </slide> diff --git a/slides/mongodb/indexes-new.xml b/slides/mongodb/indexes-new.xml index e39ad74..a2cfafc 100644 --- a/slides/mongodb/indexes-new.xml +++ b/slides/mongodb/indexes-new.xml @@ -1,7 +1,6 @@ -<slide style="imagebg"> +<slide style="imagebg" background="index.jpg"> <title>Indexes</title> -<image align="center" filename="index.jpg"/> <break lines="5"/> <div class="center-blurb-wide"> <list> diff --git a/slides/mongodb/indexes-special.xml b/slides/mongodb/indexes-special.xml index 83467da..92f3b0f 100644 --- a/slides/mongodb/indexes-special.xml +++ b/slides/mongodb/indexes-special.xml @@ -1,7 +1,6 @@ -<slide style="imagebg"> +<slide style="imagebg" background="index.jpg"> <title>Special Indexes</title> -<image align="center" filename="index.jpg"/> <break lines="5"/> <div class="center-blurb-wide"> <blurb>Geospatial Indexes (2d, and 2dsphere)</blurb> diff --git a/slides/mongodb/repl-eventual-consistency.xml b/slides/mongodb/repl-eventual-consistency.xml index cc2cd4a..1072f24 100644 --- a/slides/mongodb/repl-eventual-consistency.xml +++ b/slides/mongodb/repl-eventual-consistency.xml @@ -13,6 +13,7 @@ <bullet>Warning! <list> <bullet>Secondaries may be out of date</bullet> + <bullet>Failover may happen while you're trying to write</bullet> <bullet>Not appropriate for all applications</bullet> </list> </bullet> diff --git a/slides/template.xml b/slides/template.xml new file mode 100644 index 0000000..60c04b9 --- /dev/null +++ b/slides/template.xml @@ -0,0 +1,8 @@ +<slide> +<title></title> + +<list> + <bullet></bullet> +</list> + +</slide>