Submit Search
Upload
PuppetDB: One Year Faster - PuppetConf 2014
•
5 likes
•
2,249 views
Puppet
Follow
PuppetDB: One Year Faster - Deepak Giridharagopal, Puppet Labs
Read less
Read more
Technology
Report
Share
Report
Share
1 of 104
Download now
Download to read offline
Recommended
Pipfile, pipenv, pip… what?!
Pipfile, pipenv, pip… what?!
Ivan Chernoff
Icsm2009 bettenburg presentation
Icsm2009 bettenburg presentation
SAIL_QU
Real-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter Annotations
Joshua Shinavier
Coffee, Danish & Search: Presented by Alan Woodward & Charlie Hull, Flax
Coffee, Danish & Search: Presented by Alan Woodward & Charlie Hull, Flax
Lucidworks
Will iPython replace Bash?
Will iPython replace Bash?
Babel
Hadoop 101 - Kansas City Big Data Summit 2014
Hadoop 101 - Kansas City Big Data Summit 2014
skahler
Version Control and Git - GitHub Workshop
Version Control and Git - GitHub Workshop
All Things Open
How the internet works
How the internet works
Sharon Chen
Recommended
Pipfile, pipenv, pip… what?!
Pipfile, pipenv, pip… what?!
Ivan Chernoff
Icsm2009 bettenburg presentation
Icsm2009 bettenburg presentation
SAIL_QU
Real-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter Annotations
Joshua Shinavier
Coffee, Danish & Search: Presented by Alan Woodward & Charlie Hull, Flax
Coffee, Danish & Search: Presented by Alan Woodward & Charlie Hull, Flax
Lucidworks
Will iPython replace Bash?
Will iPython replace Bash?
Babel
Hadoop 101 - Kansas City Big Data Summit 2014
Hadoop 101 - Kansas City Big Data Summit 2014
skahler
Version Control and Git - GitHub Workshop
Version Control and Git - GitHub Workshop
All Things Open
How the internet works
How the internet works
Sharon Chen
2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge
Prof. Wim Van Criekinge
2015 bioinformatics databases_wim_vancriekinge
2015 bioinformatics databases_wim_vancriekinge
Prof. Wim Van Criekinge
Tree Top
Tree Top
eventRT
houGh documentation
houGh documentation
Miroljub Anastasov
FP in JS-Land
FP in JS-Land
Robert Pearce
Modern javascript localization with c-3po and the good old gettext
Modern javascript localization with c-3po and the good old gettext
Alexander Mostovenko
Tracking huge files with Git LFS - LinuxCon 2016
Tracking huge files with Git LFS - LinuxCon 2016
Tim Pettersen
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
Tom Croucher
a look at the postgresql engine
a look at the postgresql engine
Federico Campoli
PL/Parrot San Francisco Perl Mongers 2010/05/25
PL/Parrot San Francisco Perl Mongers 2010/05/25
David Fetter
Apache PIG
Apache PIG
Prashant Gupta
Hive vs Pig for HadoopSourceCodeReading
Hive vs Pig for HadoopSourceCodeReading
Mitsuharu Hamba
Linked Data on Rails
Linked Data on Rails
Patrick Sinclair
Tracking large game assets with Git LFS
Tracking large game assets with Git LFS
Tim Pettersen
Tracking huge files with Git LFS (GlueCon 2016)
Tracking huge files with Git LFS (GlueCon 2016)
Tim Pettersen
Will iPython replace bash?
Will iPython replace bash?
Roberto Polli
File Polyglottery; or This Proof of Concept is Also a Picture of Cats
File Polyglottery; or This Proof of Concept is Also a Picture of Cats
Evan Sultanik
Puppet at GitHub - PuppetConf 2013
Puppet at GitHub - PuppetConf 2013
Puppet
Context-Aware Access Control for RDF Graph Stores
Context-Aware Access Control for RDF Graph Stores
Serena Villata
Big Data and Hadoop in the Cloud
Big Data and Hadoop in the Cloud
Amazon Web Services LATAM
TypeScript와 Flow: 자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 자바스크립트 개발에 정적 타이핑 도입하기
Heejong Ahn
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
CloudxLab
More Related Content
What's hot
2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge
Prof. Wim Van Criekinge
2015 bioinformatics databases_wim_vancriekinge
2015 bioinformatics databases_wim_vancriekinge
Prof. Wim Van Criekinge
Tree Top
Tree Top
eventRT
houGh documentation
houGh documentation
Miroljub Anastasov
FP in JS-Land
FP in JS-Land
Robert Pearce
Modern javascript localization with c-3po and the good old gettext
Modern javascript localization with c-3po and the good old gettext
Alexander Mostovenko
Tracking huge files with Git LFS - LinuxCon 2016
Tracking huge files with Git LFS - LinuxCon 2016
Tim Pettersen
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
Tom Croucher
a look at the postgresql engine
a look at the postgresql engine
Federico Campoli
What's hot
(9)
2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge
2015 bioinformatics databases_wim_vancriekinge
2015 bioinformatics databases_wim_vancriekinge
Tree Top
Tree Top
houGh documentation
houGh documentation
FP in JS-Land
FP in JS-Land
Modern javascript localization with c-3po and the good old gettext
Modern javascript localization with c-3po and the good old gettext
Tracking huge files with Git LFS - LinuxCon 2016
Tracking huge files with Git LFS - LinuxCon 2016
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
a look at the postgresql engine
a look at the postgresql engine
Similar to PuppetDB: One Year Faster - PuppetConf 2014
PL/Parrot San Francisco Perl Mongers 2010/05/25
PL/Parrot San Francisco Perl Mongers 2010/05/25
David Fetter
Apache PIG
Apache PIG
Prashant Gupta
Hive vs Pig for HadoopSourceCodeReading
Hive vs Pig for HadoopSourceCodeReading
Mitsuharu Hamba
Linked Data on Rails
Linked Data on Rails
Patrick Sinclair
Tracking large game assets with Git LFS
Tracking large game assets with Git LFS
Tim Pettersen
Tracking huge files with Git LFS (GlueCon 2016)
Tracking huge files with Git LFS (GlueCon 2016)
Tim Pettersen
Will iPython replace bash?
Will iPython replace bash?
Roberto Polli
File Polyglottery; or This Proof of Concept is Also a Picture of Cats
File Polyglottery; or This Proof of Concept is Also a Picture of Cats
Evan Sultanik
Puppet at GitHub - PuppetConf 2013
Puppet at GitHub - PuppetConf 2013
Puppet
Context-Aware Access Control for RDF Graph Stores
Context-Aware Access Control for RDF Graph Stores
Serena Villata
Big Data and Hadoop in the Cloud
Big Data and Hadoop in the Cloud
Amazon Web Services LATAM
TypeScript와 Flow: 자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 자바스크립트 개발에 정적 타이핑 도입하기
Heejong Ahn
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
CloudxLab
Jsonsaga
Jsonsaga
nohmad
Semantic Web Technologies in Health Care Analytics
Semantic Web Technologies in Health Care Analytics
Robert Piro
Semantic Web Technologies in Health Care Analytics
Semantic Web Technologies in Health Care Analytics
Robert Piro
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
Ken Collins
Douglas Crockford Presentation Jsonsaga
Douglas Crockford Presentation Jsonsaga
Ajax Experience 2009
The JSON Saga
The JSON Saga
kaven yan
RESTFul API Design and Documentation - an Introduction
RESTFul API Design and Documentation - an Introduction
Miredot
Similar to PuppetDB: One Year Faster - PuppetConf 2014
(20)
PL/Parrot San Francisco Perl Mongers 2010/05/25
PL/Parrot San Francisco Perl Mongers 2010/05/25
Apache PIG
Apache PIG
Hive vs Pig for HadoopSourceCodeReading
Hive vs Pig for HadoopSourceCodeReading
Linked Data on Rails
Linked Data on Rails
Tracking large game assets with Git LFS
Tracking large game assets with Git LFS
Tracking huge files with Git LFS (GlueCon 2016)
Tracking huge files with Git LFS (GlueCon 2016)
Will iPython replace bash?
Will iPython replace bash?
File Polyglottery; or This Proof of Concept is Also a Picture of Cats
File Polyglottery; or This Proof of Concept is Also a Picture of Cats
Puppet at GitHub - PuppetConf 2013
Puppet at GitHub - PuppetConf 2013
Context-Aware Access Control for RDF Graph Stores
Context-Aware Access Control for RDF Graph Stores
Big Data and Hadoop in the Cloud
Big Data and Hadoop in the Cloud
TypeScript와 Flow: 자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 자바스크립트 개발에 정적 타이핑 도입하기
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Jsonsaga
Jsonsaga
Semantic Web Technologies in Health Care Analytics
Semantic Web Technologies in Health Care Analytics
Semantic Web Technologies in Health Care Analytics
Semantic Web Technologies in Health Care Analytics
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
Douglas Crockford Presentation Jsonsaga
Douglas Crockford Presentation Jsonsaga
The JSON Saga
The JSON Saga
RESTFul API Design and Documentation - an Introduction
RESTFul API Design and Documentation - an Introduction
More from Puppet
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
Puppetcamp r10kyaml
Puppetcamp r10kyaml
Puppet
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
Puppet camp vscode
Puppet camp vscode
Puppet
Modules of the twenties
Modules of the twenties
Puppet
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
Puppet
KGI compliance as-code approach
KGI compliance as-code approach
Puppet
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
Keynote: Puppet camp compliance
Keynote: Puppet camp compliance
Puppet
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet
Puppet: The best way to harden Windows
Puppet: The best way to harden Windows
Puppet
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Puppet
Accelerating azure adoption with puppet
Accelerating azure adoption with puppet
Puppet
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
Puppet
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Puppet
Take control of your dev ops dumping ground
Take control of your dev ops dumping ground
Puppet
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
Puppet
Puppet User Group
Puppet User Group
Puppet
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
Puppet
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
Puppet
More from Puppet
(20)
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppetcamp r10kyaml
Puppetcamp r10kyaml
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet camp vscode
Puppet camp vscode
Modules of the twenties
Modules of the twenties
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
KGI compliance as-code approach
KGI compliance as-code approach
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Keynote: Puppet camp compliance
Keynote: Puppet camp compliance
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet: The best way to harden Windows
Puppet: The best way to harden Windows
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Accelerating azure adoption with puppet
Accelerating azure adoption with puppet
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Take control of your dev ops dumping ground
Take control of your dev ops dumping ground
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
Puppet User Group
Puppet User Group
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
Recently uploaded
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Rick Flair
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
mohitsingh558521
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Lonnie McRorey
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
HarshalMandlekar2
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
LoriGlavin3
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Zilliz
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
hariprasad279825
Recently uploaded
(20)
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
PuppetDB: One Year Faster - PuppetConf 2014
1.
PuppetDB (ノ°ヮ°)ノ*:・゚✧2014 ✧
2.
RUN PDB
3.
deepak giridharagopal deepak @puppetlabs.com @grim_radical
4.
Puppet agent Puppet master facts PuppetDBPuppetDB
5.
Puppet agent Puppet master facts PuppetDBPuppetDB
6.
Puppet agent Puppet master PuppetDBfacts PuppetDB
7.
Puppet agent Puppet master facts PuppetDB PuppetDB
8.
Puppet agent Puppet master facts PuppetDBPuppetDB Yum!
9.
Puppet agent Puppet master PuppetDBPuppetDB
10.
Puppet agent Puppet master PuppetDBPuppetDB catalogcatalog
11.
catalog Puppet agent Puppet master PuppetDBPuppetDB catalog
12.
catalog Puppet agent Puppet master PuppetDB PuppetDB catalog
13.
Puppet agent catalog Puppet master facts PuppetDBPuppetDB Yum!
14.
Puppet agent Puppet master PuppetDBPuppetDB catalog
15.
Puppet agent Puppet master PuppetDBPuppetDB report
16.
Puppet agent Puppet master PuppetDBPuppetDB report
17.
report Puppet agent Puppet master PuppetDBPuppetDB
18.
report Puppet agent Puppet master PuppetDB PuppetDB
19.
Puppet agent Puppet master facts PuppetDBPuppetDB Yum!
20.
Puppet agent Puppet master PuppetDBPuppetDB
21.
22.
Puppet master catalog PuppetDB catalog
23.
Puppet master catalog PuppetDB catalog
24.
Puppet master PuppetDB catalog
25.
catalog Puppet master PuppetDB catalog
26.
Puppet master PuppetDcatalog
27.
catalog Puppet master PuppetDcatalog
28.
Puppet master Pupcatalog
29.
catalog Puppet master Pupcatalog
30.
Software should be self-regulating
31.
goo.comfoo.com bar.com STORAGE bar.com Self-regulating catalog
& fact storage!
32.
goo.comfoo.com bar.com STORAGE bar.combar.combar.combar.com Self-regulating report
storage!
33.
goo.comfoo.com bar.com STORAGE Self-regulating node
storage!
34.
goo.comfoo.com bar.com STORAGE bar.com Deduplication of
catalogs! foo.com goo.com
35.
/commands MQ Parse Delayed Dead
Letter Office Process UUID
36.
Querying
37.
File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo
foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] baz.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] goo.com /v4/resources
38.
File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo
foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] baz.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] goo.com /v4/resources/Service
39.
File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo
foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] baz.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] goo.com /v4/resources/Service/foo
40.
File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo
foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] baz.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] goo.com /v4/nodes/foo.com/resources
41.
File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo
foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] baz.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] goo.com /v4/nodes/foo.com/resources /Package
42.
File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo
foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] baz.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] goo.com /v4/nodes/foo.com/resources /Package/foo
43.
• Can query
facts, nodes, resources, reports, events, metrics • Advanced queries via AST- based language • Aggregates, ordering, paging, streaming, subqueries
44.
45.
A long time
ago in a galaxy far, far away… ! ! uh, like here a year ago…
46.
Just released 1.4.0, Around
11k deployments, Basic streaming support, Other stuff…
47.
We’ve been busy!
48.
Soft write failures Paging
support Resource containment paths in events Event aggregates Differential fact storage
49.
Differential edge storage Pervasive
streaming of query results 3dfx Voodoo2 and Soundblaster AWE32 support Improved de-duplication
50.
Resource parameter caching PostgreSQL
Hot Standby support for faster reads Debugging of de-duplication algorithm Full director’s commentary
51.
Compressed responses A pony Certificate
chain support Support for puppet environments Event subqueries
52.
Prepared statement caching Direct
POST of json data in terminus Brings Aeris from Final Fantasy VII back to life Profiling support for terminus
53.
Faster message parsing Structured
fact storage and querying Unified query subsystem in v4 API Riker’s beard
54.
docs.puppetlabs.com/ puppetdb/latest/ release_notes.html
55.
We can’t get
through that entire list, but I’ll try to highlight a few shiny bits
56.
1. Differential storage
57.
goo.comfoo.com bar.com STORAGE bar.comfoo.com
58.
bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[zzz] Exec[echo foo] Exec[echo bar]
59.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[zzz] Exec[echo
foo] Exec[echo bar]
60.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[zzz] Exec[echo
foo] Exec[echo bar]
61.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[zzz] Exec[echo
foo] Exec[echo bar]
62.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] bar.com File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[zzz] Exec[echo
foo] Exec[echo bar]
63.
• Edges and
facts, too • Trades reads for writes, which is a good tradeoff. • PostgreSQL’s heap-only- tuples help a lot.
64.
~90%fewer writes
65.
66.
Thanks to the
folks at Spotify, the community, etc. that helped us with this!
67.
2. More effective de-duplication
68.
Order matters!
69.
{"foo" => "goo", "bar"
=> "baz"} {"bar" => "baz", "foo" => "goo"} 904d4d… 11c05d…
70.
• Restructuring data
prior to hashing results in much fewer false negatives • The fastest way to persist data is to already have it persisted!
71.
~60-70%boost for users with
ordinarily low dedupe rates
72.
Thanks to the
folks at CERN that helped us debug this!
73.
3. Hot standby
74.
PuppetDB PostgreSQL WRITE READ
75.
PuppetDB PostgreSQL WRITE READ PostgreSQL standby REPLICATION
76.
Less I/O contention
for reads and writes yields better throughput
77.
3. Environment support
78.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com TEST bar.com PROD
79.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com TEST bar.com PROD
80.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com TEST bar.com PROD All
Files, please! Anything for you! !
81.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo
bar] foo.com TEST bar.com PROD WTF?! I’m trying my best! !
82.
STORAGE File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com TEST bar.com PROD All
Files for env TEST, plz! Anything for you! ! File[/foo]
83.
STORAGE File[/foo] File[/bar] Package[foo] Package[bar] Service[foo] Service[bar] Exec[echo foo] Exec[echo bar] foo.com TEST bar.com PROD Thanks! We’re
friends again! ❤️
84.
• Any reception
or transmission of data now includes the environment where possible • Queries can be isolated to a single environment
85.
3. Unified query engine
86.
PuppetDB Parse Map valid fields Map valid operators Compile
to SQL PostgreSQL Parse Map valid fields Map valid operators Compile to SQL Parse Map valid fields Map valid operators Compile to SQL Parse Map valid fields Map valid operators Compile to SQL Facts Resources Nodes Reports Parse Map valid fields Map valid operators Compile to SQL Events QUERY
87.
PuppetDB Parse to AST Term rewriting Apply operators Compile
to SQL PostgreSQL QUERY
88.
• Common query
engine underpinning v4 API • Operators are available uniformly across all v4 endpoints • We can add new endpoints and fields much faster
89.
4. Structured/Trusted fact support
90.
{ "cpus" : { "cpu1"
: { "bogomips": 6000, } }, "networking" : { "eth0" : { "ipaddresses" : [ "1.1.1.5" ], "macaddresses" : [ "aa:bb:cc:dd:ee:00" ] } } }
91.
["=", "path", ["networking", "eth0", "macaddresses", 0]]
92.
["~>", "path", ["networking", "eth.*", "macaddresses", ".*"]]
93.
! • PostgreSQL’s pg_trgm
index • Trusted facts
94.
So where are
we now?
95.
More features, but
also more speed
96.
Language bindings: Ruby, Python, JavaScript,
C/C++, Go, Clojure, Java…
97.
Trapperkeeper https://github.com/puppetlabs/trapperkeeper
98.
Puppetboard https://github.com/nedap/puppetboard
99.
Puppet Explorer https://github.com/spotify/puppetexplorer
100.
A new deployment every
10 minutes
101.
Coming soon: more efficient
GC
102.
Coming soon: simplified query
syntax
103.
Coming soon: historical data
104.
Thanks!
Download now