mongodb 3.4 bundle release: percona server for mongodb 3.4 ... · mongodb practice manager mongodb...

26
David Murphy MongoDB Practice Manager MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 Percona Monitoring and Management 1.1 Percona Toolkit 3.0

Upload: others

Post on 21-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

David MurphyMongoDB Practice Manager

MongoDB 3.4 Bundle Release:● Percona Server for MongoDB 3.4● Percona Monitoring and Management 1.1● Percona Toolkit 3.0

Page 2: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

2

About Me

▪ Former NoSQL/MySQL Architect for Electronic Arts (and yes, I probably worked on that game you’re thinking about!)

▪ Original and Lead DBA for ObjectRocket, the high-performance MongoDB-as-a-Service offering

▪ Mongo Master Alumni, and one of the early Mongo Masters

▪ Practice Manager for MongoDB @ Percona

▪ 16+ years in MySQL and other RDBMs

Page 3: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

3

• Why the bundled release?

• Percona Server 3.4

• PMM 1.1

• Percona Toolkit 3.0 with MongoDB Tools

• Mongo Summary

• Mongo Query Digest

• Pulling it together

Agenda

Page 4: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

Percona Server for MongoDB 3.4New features, improved engines, and included enterprise features available for use

Page 5: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

5

Config Server Improvements

Moving most sharding functions to the config server primary• Allowed because the metadata MUST now be in a replica set

This gives us:▪ Predictability: the balancer process is always the config server PRIMARY. Before 3.4,

any mongos processes could become the balancer, often chosen at random. This made troubleshooting difficult.

▪ Lighter “mongos” process: the mongos/shard router benefits from being as light and thin as possible. This removes some code and potential for breakage from “mongos.”

▪ Efficiency: config servers have dedicated nodes with very low resource utilization and no direct client traffic (for the most part). Moving the balancer to the config server set moves usage away from critical “router” processes.

▪ Reliability: balancing relies on fewer components. Now the balancer can operate on the “config” database metadata locally, without the chance of network interruptions breaking balancing.

Page 6: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

6

Balancing Speed

• No more moving 1 chunk at a time and locking things up

• We can now move ((Number of Shards / 2) -1) chunks at the same time.

• For example, imagine a cluster with 10 shards. The match is:

▪ 10 / 2 = 5

▪ 5 - 1 = 4,

▪ So 4 total balancing actions at the same time (max)

Page 7: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

7

Views and Collations

• One huge new feature for many people is the addition of Collations in MongoDB

▪ Collations are critical for multi-language support and sorting of non-English words for index ordering.

• However, Views are another big item as they finally allow you to give users only access to the columns you want them to see, by way of storing an aggregations.

Page 8: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

8

Replication Update

• Linear read concern

• Default write majority

• Tunable catch-up window

• Initial sync improvement

▪ Better retries on network issue

▪ Indexes before documents

Page 9: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

9

Data Types and Aggregation Improvements

• Decimal data type!!!!!

• Aggregations

▪ Graph DB functions▪ Faceted searching▪ Better index usage▪ $Count to avoid ugly grouping▪ Date, string, array function improvements▪ $switch , $colStats, and $type fields now added ▪ ...and much more

Page 10: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

10

★ MongoRocks

○ Internal counters are now enabled by default, allowing much more tooling around the internals to the engine.

○ Previously, this was a big text block to parse

★ WiredTiger

○ Many (if not all) of the cache eviction issues seen in 3.2 have now been resolved and the cache system is much more stable, without micro-stalling

Engines Update

Page 11: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

11

• The most common question we see is on what MongoDB Enterprise Advanced features

• Features we have added to open source to match upstream Enterprise edition:

• In Memory Engine

• Audit Trail

• External Authentication (LDAP support for SSO systems)

Enterprise-Grade Features Open Sourced

Page 12: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

Percona Monitoring and Management 1.1What's new?

Page 13: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

13

Sharded Tooltip

Showing the tooltip on all panels at the same time has been a long standing request in Grafana. We are really happy to finally be able to release it.

You can enable/disable the shared tooltip from the dashboard settings menu, or cycle between default, shared tooltip and shared crosshair by pressing CTRL + O or CMD + O.

Grafana 4.1

Page 14: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

14

• We have updated many of the graphs based on feedback from the client base

• All the engines for MongoDB Community and Percona Server for Mongo are supported

• Work has been done to unify the feel between OS, MySQL, and Mongo graphs

MongoDB Graph Update

Page 15: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

Percona Toolkit 3.0 What new MongoDB tools do we have?

Page 16: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

16

In a word: golang• All of the MongoDB tools - such as mongodump, mongostats, etc. - use golang as

their base language

• Both the new tools pt-mongodb-summary and pt-mongodb-query-digest are also in go

▪ Much more portable and have none of the strict dependencies the PERL based-tools had

▪ Likely that more and more MySQL tools will also become more portable (where it makes sense)

What's so new about Percona Toolkit 3.0

Page 17: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

17

• The MongoDB summary command is similar to the MySQL one with CPU’s, PID and such.

• However, it goes much further and is aware of its sibling nodes:▪ If you connect to a mongos port it will give you a map and status of all nodes

in the cluster, information about the connected mongos process, operations flowing though that Mongos, the state of your security, and the current state of the cluster balance

▪ When connecting to a replica-set, however, it will forgo the clusters information and only provide information about other members in the same replica set.

▪ Finally, with a stand alone node it won’t report any other sibling nodes, as none exist.

pt-mongodb-summary

Page 18: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

18

pt-mongodb-summary

Page 19: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

19

pt-mongodb-summary

Page 20: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

20

pt-mongodb-summary

Page 21: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

21

pt-mongodb-summary

Page 22: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

22

pt-mongodb-query-digest

Page 23: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

Pulling It Together

Page 24: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

24

How Do These Work Together?

Page 25: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

Questions?What more would you like to see?Other tools the community needs?

Twitter: @dmurphy_data @percona

Page 26: MongoDB 3.4 Bundle Release: Percona Server for MongoDB 3.4 ... · MongoDB Practice Manager MongoDB 3.4 Bundle Release: ... around the internals to the engine. Previously, this was

DATABASE PERFORMANCE MATTERS