Are you a seasoned MySQL DBA that needs to add MongoDB to your skills? Are you used to managing a small environment that runs well, but want to know what you might not know yet?
MongoDB works well, but when it has issues, the number one question is "where should I go to solve a problem?" This tutorial will cover:
Understanding the MongoDB logs
Understanding the Server Status output, including various engine types
Using the "currentOp" command
Using operationProfiling (i.e.: the database profiler)
Troubleshooting a query plan
Recommended tools for parsing profiler and logs
Performance monitoring recommendations
Maintenance recommendations for replica sets
Maintenance recommendations for sharding
Picking the right shard key
Debugging shard balancing problems
Changes to the sharding system in MongoDB 3.4
Benchmark and load replaying tools
Choosing a storage engine
Choosing a backup method
Backup process best practices and tooling
How to use the Elastic Stack (previously called ELK Stack) to monitor logs is widely known. But it can also give you a complete picture of your MongoDB installation:
* System metrics: Keep track of network traffic and system load.
* Logs: Collect and parse MongoDB logs.
* MongoDB metrics: Gather the most relevant attributes with the dedicated Metricbeat module.
* Queries: Monitor your queries on the wire with Packetbeat.
And we will do all of that together since it is so easy and quick to set up.
This tutorial will guide you through the many considerations when deploying a sharded cluster. We will cover the services that make up a sharded cluster, configuration recommendations for these services, shard key selection, use cases, and how data is managed within a sharded cluster. Maintaining a sharded cluster also has its challenges. We will review these challenges and how you can prevent them with proper design or ways to resolve them if they exist today. There will be lab sessions at the end of some chapters so please have your laptops with you.
We hear a good deal about MongoDB Atlas, Azure's CosmosDB Document Database, and running MongoDB in your environment. However, less is said about how to compare the cost, upkeep, support and pain of running them.
In this talk, we will go through some of the features of each. This includes some of the common challenges in each. There is no perfect solution and you must consider things such as current cloud implementations, staff knowledge, available tooling and (most importantly) budget.
At the end of this talk, you should have a good grasp on how to build out primary and alternate plans when your projects move from development to critical, prime-time production.
Heterogeneous replication from MySQL to MongoDB has been available for a long time using Tungsten Replicator. In this session, we will explain (again) how to enable it and, what is more important and what you can and can't do with this feature. Also, some workarounds for common tasks will be discussed. Lastly, we will review some features missing that would be great to have and some ideas on how to implement them.
- Origins of heterogeneous MySQL to MongoDB replication in tungsten
- MySQL vs. MongoDB
2. Create a lab using Vagrant
- Install all the stuff
- Check the environment
3. What you can do and what you can't do with Heterogeneous Replication
- Empty tables
- Tables with data
- Handling indexes
- Online schema changes
- De-normalizing (Document embedding)
MongoDB and Elasticsearch are both NoSQL "databases", or more correctly NoSQL data stores that are often compared and contrasted on a head-to-head basis.
But if comparing that way, one could easily miss out on the opportunity to use both together as individual and independent data stores that serve specific purposes to deliver the best overall solution for your application flow and performance needs.
In this talk, Kimberly will discuss the overall aspects of each technology, best use cases, the strengths and weaknesses of each, scaling, and provide examples for each with details for the underlying technology with architectural information and basic functioning of these two data stores.
Join her as she will offer opinions on the best times to use separately as independent data stores plus the chance to combine the two to get the absolute performance often needed by today's applications and the large amounts of data required.
Typically, a database storage layer is built on B-trees. The same applies to WiredTiger - the default engine for MongoDB.
However, Percona Server for MongoDB has a specific engine built on an LSM tree - it's MongoRocks. Based on the RocksDB library from Facebook, MongoRocks became a different but interesting storage layer solution.
This talk covers its implementation details.
Is your MongoDB deployment secure? This talk will cover security best practices for a MongoDB deployment. Features such as Authorization, client/server SSL, SELinux and more will be covered.
This presentation will discuss implementing external authentication when using Percona Server for MongoDB and MongoDB Enterprise. It will review authentication using OpenLDAP or ActiveDirectory and ActiveDirectory with Kerberos.
The presentation will also include examples of the configurations required by these external directory services. It will also review the LDAP Authorization features introduced in MongoDB Enterprise 3.4.
Recently at MongoDB World, it was announced that MongoDB 3.6 would come out in late 2017 or early 2018 (as per the normal schedule). The feature list was very light, as the focus is more on services like Atlas. In this talk, we will go into what we know is confirmed or already completed, and what is on the desired list.
Some of bigger items are:
$comments and $hints in aggregations
$mergeObjects / $$Remove
Fix deep nesting in aggregation (overflow bug)
Intital improvements to support transactions in the future
randomSample for profile added (was added to Percona Server for MongoDB 3.2/ 3.4 already)
Performance, efficiency and QoS in MongoRocks are greatly improved this year thanks to work on it and on RocksDB. I will explain some of the changes that have been made and provide benchmark results to compare current MongoRocks with current WiredTiger and an older MongoRocks release.
As service providers, one of our responsibilities is helping clients understand what causes contributed to a production downtime incident, and how to avoid (as much as possible) them from happening again. We do this with Incident Reports, and one common recommendation we make is to have a historical monitoring system in place. All our clients have point-in-time monitoring solutions in place, solutions that can alert them when a system is down or behaving in unacceptable ways. But historical monitoring is still not common, and we believe a lot of companies can benefit from deploying one of them.
In most cases, we have recommended Percona Monitoring and Management (PMM), as a good and Open Source solution for this problem. In this session, we will talk about the reasons why we recommend PMM as a way to prevent incidents, and also to investigate their possible causes when one has happpened.
Percona Monitoring and Management (PMM) is a platform using Prometheus, Grafana and other tools. This sounds great at the high level, but how do you use it in the real world? What benefit is it to me?
This talk covers these questions and more. We will look at how to use PMM for MongoDB on four examples of different problems, and how you might go about tracing what happened and understanding if it is a normal flow.
PostgreSQL has had JSONB support since 2012 with 9.2, but is it fast enough to beat MongoDB? In this talk, we compare the performance of using schemaless documents with both PostgreSQL and MongoDB for high performance workloads.
In any busy operations environment, there are countless tasks to perform - some monthly, or weekly, some daily or more frequently, and some on an ad-hoc basis. And automation is key to performing fast, efficient and consistently repeatable software deployments and recovery.
There are many generic tools available, both commercial and open source, to aid with the automation of operational tasks. Some of these tools are even deployed in the database world. However, there are a small number of specialist domain-specific automation tools available also, and we are going to compare two of these products: MongoDB?s own Ops Manager, and ClusterControl from Severalnines.
We will cover:
* Installation and maintenance
* Complexity of architecture
* Options for redundancy
* Comparative functionality
* Monitoring, Dashboard, Alerting
* Backing up and restoring
* Automated deployment of advanced configurations
* Upgrading existing deployments
Participants should take away a clear understanding of the differences between these tools, and how they help automate and manage MongoDB operations.
This talk is intended to give an overview of the feature differences between Percona Server for MongoDB and MongoDB Community Edition. We'll also dive into how some of these features are useful to a database developer or DBA in troubleshooting issues, increasing query performance, improving reliability, and improving security.
This talk will cover backup and recovery solutions for MongoDB replica sets and clusters, focusing on online and low-impact solutions for production systems.
"It's just a log, right?" How hard can it be, how can you possibly mess this up?
Wrong. Logs can impact your reliability, performance and quality of sleep in a million ways small and large. In this session we'll cover some of the lessons every engineer should know (and often learns the hard way), such as why good logging solutions are so expensive, why treating your logs as strings can be costly and dangerous, how logs can impact code efficiency and add/fix/change race conditions in your code. And what's the difference between a log line and an event, anyway?
We'll talk about how to craft a good, helpful log line or event and how to spot a bad one. We'll also talk about trends in debugging for complex systems, like the drive for structured logs/events and what comes next.
This talk is intended to give a basic overview of the encryption requirements of several current compliance standards (EU GDPR, PCI DSS, HIPAAA/HITRUST, and SOC II TSP) and how the "at rest" encryption component can be met in a technology-agnostic way.
Have you wanted to deploy some cool new database to production, and simply can't make use of transparent data encryption? Come to this talk to find out how to use LUKS/dm-crypt to perform at-rest encryption, and where this fits into your overall compliance stance.
Unlike MySQL (and the MySQL manual), there are hidden variables in MongoDB that no one really documents. But they can control things such as how data sets are returned, to connection pool size/ timeouts, to even if intersections should be allowed.
In this talk, we will show you examples of these knobs, how to find them on GitHub, what they are for and when to use them.
Beyond that, we will also talk about some very unknown WiredTiger and MongoRocks internal engine settings that are useful for when your database grows and needs a bit of tweaking to save the day.
Starting with MySQL 5.7 a new Document Store feature has been introduced that makes working with JSON documents an integral part of the MySQL experience. The new X DevAPI gives MySQL users the best of both worlds - SQL and NoSQL - and allows an entirely new category of use cases for managing data. It is constantly evolving based on the community feedback and can be run on top of the brand new MySQL InnoDB Cluster feature. This session gives an overview of the Document Store possibilities and we will migrate data from MongoDB to MySQL and finally play with the data using NoSQL and SQL.
Percona Monitoring and Management (PMM) is a free and open-source solution for managing and monitoring MySQL and MongoDB performance. It provides accurate per-second analysis for MySQL and MongoDB servers, which allows you to tune the database as efficiently as possible.
This session will also be a review of internal PMM architecture, an overview of all components, and the communications between them.