MongoDB 3.4 Bundle Release

加入Percona的MongoDB Practice Manager David Murphy,查看并讨论针对MongoDB的Percona Server、Percona Monitoring and Management(PMM)和Percona Toolkit的最新捆绑版本。
Percona Server for MongoDB 3.4提供了所有最新的MongoDB 3.4社区版功能、其他企业功能和更多的存储引擎选择。


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

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 2

3.Agenda • 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 3

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

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 5 balancing.

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) 6

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. 7

8.Replication Update • Linear read concern • Default write majority • Tunable catch-up window • Initial sync improvement ▪ Better retries on network issue ▪ Indexes before documents 8

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 9

10.Engines Update ★ 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 10

11.Enterprise-Grade Features Open Sourced • 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) 11

12.Percona Monitoring and Management 1.1 What's new?

13.Grafana 4.1 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. 13

14.MongoDB Graph Update • 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 14

15.Percona Toolkit 3.0 What new MongoDB tools do we have?

16.What's so new about Percona Toolkit 3.0 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) 16 • 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. 17 18 19 20 21 22

23.Pulling It Together

24.How Do These Work Together? 24

25.Questions? What more would you like to see? Other tools the community needs? Twitter: @dmurphy_data @percona