Why Choose Percona Server for MongoDB? Tyler Duzan

Similar documents
Why Choose Percona Server For MySQL? Tyler Duzan

MongoDB Backup and Recovery Field Guide. Tim Vaillancourt Sr Technical Operations Architect, Percona

MongoDB Backup & Recovery Field Guide

Percona Server for MySQL 8.0 Walkthrough

Running MongoDB in Production, Part I

What s New in MySQL and MongoDB Ecosystem Year 2017

MyRocks deployment at Facebook and Roadmaps. Yoshinori Matsunobu Production Engineer / MySQL Tech Lead, Facebook Feb/2018, #FOSDEM #mysqldevroom

MariaDB 10.3 vs MySQL 8.0. Tyler Duzan, Product Manager Percona

Run your own Open source. (MMS) to avoid vendor lock-in. David Murphy MongoDB Practice Manager, Percona

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona

MongoDB: Comparing WiredTiger In-Memory Engine to Redis. Jason Terpko DBA, Rackspace/ObjectRocket 1

Course Content MongoDB

Percona Software & Services Update

MMS Backup Manual Release 1.4

How to Scale MongoDB. Apr

Percona Software & Services Update

How Percona Contributes to Open Source Database Ecosystem. Peter Zaitsev 5 October 2016

What s new in Mongo 4.0. Vinicius Grippa Percona

MongoDB Storage Engine with RocksDB LSM Tree. Denis Protivenskii, Software Engineer, Percona

Monitoring MongoDB s Engines in the Wild. Tim Vaillancourt Sr. Technical Operations Architect

How To Rock with MyRocks. Vadim Tkachenko CTO, Percona Webinar, Jan

Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016

Become a MongoDB Replica Set Expert in Under 5 Minutes:

MongoDB Shootout: MongoDB Atlas, Azure Cosmos DB and Doing It Yourself

Why we re excited about MySQL 8

The course modules of MongoDB developer and administrator online certification training:

Your First MongoDB Environment: What You Should Know Before Choosing MongoDB as Your Database

MongoDB. David Murphy MongoDB Practice Manager, Percona

Aurora, RDS, or On-Prem, Which is right for you

MongoDB Monitoring and Performance for The Savvy DBA

MongoDB. copyright 2011 Trainologic LTD

WiredTiger In-Memory vs WiredTiger B-Tree. October, 5, 2016 Mövenpick Hotel Amsterdam Sveta Smirnova

Beyond Relational Databases: MongoDB, Redis & ClickHouse. Marcos Albe - Principal Support Percona

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere)

MongoDB Revs You Up: What Storage Engine is Right for You?

Mesosphere and Percona Server for MongoDB. Jeff Sandstrom, Product Manager (Percona) Ravi Yadav, Tech. Partnerships Lead (Mesosphere)

MySQL Storage Engines Which Do You Use? April, 25, 2017 Sveta Smirnova

NoSQL BENCHMARKING AND TUNING. Nachiket Kate Santosh Kangane Ankit Lakhotia Persistent Systems Ltd. Pune, India

RocksDB Embedded Key-Value Store for Flash and RAM

Monitoring MySQL Performance with Percona Monitoring and Management

VMware vsphere with ESX 4.1 and vcenter 4.1

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018

MongoDB Security Checklist

Distributed File Systems II

ITG Software Engineering

MongoDB Security: Making Things Secure by Default

Practical MySQL Performance Optimization. Peter Zaitsev, CEO, Percona July 02, 2015 Percona Technical Webinars

RocksDB Key-Value Store Optimized For Flash

Migrating to Cassandra in the Cloud, the Netflix Way

Bringing code to the data: from MySQL to RocksDB for high volume searches

MySQL High Availability Solutions. Alex Poritskiy Percona

Scaling MongoDB. Percona Webinar - Wed October 18th 11:00 AM PDT Adamo Tonete MongoDB Senior Service Technical Service Engineer.

MyRocks in MariaDB. Sergei Petrunia MariaDB Tampere Meetup June 2018

MOC 6232A: Implementing a Microsoft SQL Server 2008 Database

Practical MySQL Performance Optimization. Peter Zaitsev, CEO, Percona July 20 th, 2016 Percona Technical Webinars

Inside the InfluxDB Storage Engine

Reduce MongoDB Data Size. Steven Wang

Open Source Database Ecosystem in Peter Zaitsev 3 October 2016

Why Do Developers Prefer MongoDB?

Open Source Database Performance Optimization and Monitoring with PMM. Fernando Laudares, Vinicius Grippa, Michael Coburn Percona

Percona Software & Services Update

BigTable. Chubby. BigTable. Chubby. Why Chubby? How to do consensus as a service

How we build TiDB. Max Liu PingCAP Amsterdam, Netherlands October 5, 2016

Scaling. Marty Weiner Grayskull, Eternia. Yashh Nelapati Gotham City

Oracle Database 18c and Autonomous Database

MySQL High Availability

CSE-E5430 Scalable Cloud Computing Lecture 9

CIB Session 12th NoSQL Databases Structures

TokuDB vs RocksDB. What to choose between two write-optimized DB engines supported by Percona. George O. Lorch III Vlad Lesin

BigTable. CSE-291 (Cloud Computing) Fall 2016

Time-Series Data in MongoDB on a Budget. Peter Schwaller Senior Director Server Engineering, Percona Santa Clara, California April 23th 25th, 2018

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017

VMware vsphere 6.5 Boot Camp

Enterprise Open Source Databases

Improvements in MySQL 5.5 and 5.6. Peter Zaitsev Percona Live NYC May 26,2011

PebblesDB: Building Key-Value Stores using Fragmented Log Structured Merge Trees

HashKV: Enabling Efficient Updates in KV Storage via Hashing

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao

The Google File System

MongoDB and Mysql: Which one is a better fit for me? Room 204-2:20PM-3:10PM

Percona XtraDB Cluster 5.7 Enhancements Performance, Security, and More

Percona Live Santa Clara, California April 24th 27th, 2017

MongoDB - a No SQL Database What you need to know as an Oracle DBA

DHRUBA BORTHAKUR, ROCKSET PRESENTED AT PERCONA-LIVE, APRIL 2017 ROCKSDB CLOUD

High Availability- Disaster Recovery 101

Scylla Open Source 3.0

Adaptation in distributed NoSQL data stores

GFS Overview. Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures

MySQL Backup Best Practices and Case Study:.IE Continuous Restore Process

Highly Available Database Architectures in AWS. Santa Clara, California April 23th 25th, 2018 Mike Benshoof, Technical Account Manager, Percona

Oracle Database 11g for Experienced 9i Database Administrators

Bigtable: A Distributed Storage System for Structured Data. Andrew Hon, Phyllis Lau, Justin Ng

70-532: Developing Microsoft Azure Solutions

MongoDB in AWS (MongoDB as a DBaaS)

MongoDB for a High Volume Logistics Application. Santa Clara, California April 23th 25th, 2018

Mike Kania Truss

"Charting the Course... Oracle 18c DBA I (3 Day) Course Summary

MongoDB Shell: A Primer

CIS 601 Graduate Seminar. Dr. Sunnie S. Chung Dhruv Patel ( ) Kalpesh Sharma ( )

Best Practices for MySQL Scalability. Peter Zaitsev, CEO, Percona Percona Technical Webinars May 1, 2013

Transcription:

Why Choose Percona Server for MongoDB? Tyler Duzan Product Manager

Who Am I? My name is Tyler Duzan Formerly an operations engineer for more than 12 years focused on security and automation Now a Product Manager at Percona Have been using MongoDB in production for 5 years 2

Outline 3 Bio & Outline Percona Server for MongoDB Overview Using Percona Server for MongoDB Features Making the Choice Q&A

Percona Server for MongoDB Overview

What is Percona Server for MongoDB? First release in December 2015 Focused on performance and stability improvements layered on top of MongoDB Community Edition Addresses a need for deeper diagnostics and performance tuning capabilities Provides a place to develop new storage engines and strategies 5 Percona Memory Engine focused on high-performance reads with predictable latency MongoRocks focused on write-heavy workloads, supports LSM trees MongoDB Enterprise features available in an open-source release Expedited bug fixes for Percona Support customers and shared with the community

What is Percona Server for MongoDB? 6

Percona Server vs MongoDB Community Server Maintains drop-in compatibility with upstream Enhanced security capabilities LDAP Authentication Auditing Log Redaction New Storage Engines Percona Memory Engine MongoRocks Native Hot Backup Capability Works on both MongoRocks and Wired Tiger Integration with Percona Toolkit and PMM Enhanced Query Profiling 7

Using Percona Server for MongoDB Features

MongoRocks: RocksDB for MongoDB Different storage engines are not compatible with each others data files as they use different storage models Based on the RocksDB library from Facebook Uses LSM trees instead of B-Trees, optimized for write-heavy workloads Has native support for Snappy, LZ4, and Zlib compression to reduce storage requirements on disk To temporarily test the MongoRocks you can manually start MongoDB with the `--storageengine` command line flag and specify a new database path mongod --storageengine rocksdb --dbpath <newdatadir> For long term use, you can configure the storage engine in your MongoDB configuration file using the `storage.engine` configuration parameter 9

MongoRocks: RocksDB for MongoDB B-Tree: Data is stored on disk as chunks (pages/bau) and data is read and written to disk minimum one page at a time The tree has fewer levels than other patterns but search item involves comparisons at each level Optimizations: Minimize disk access Read and write in multiples of the page size 10

MongoRocks: RocksDB for MongoDB LSM-Tree: Writes are always fast regardless of data size, because it is append-only Reads must be serviced from memory or from disk Optimizations 11 Memtables help reduce reads to disk On-disk SSTable indexes are always loaded into memory All writes go directly to the Memtable indexes Reads check Memtable first, then SSTable indexes Compaction restructures on-disk SSTables to reduce disk usage and clean up tombstones

MongoRocks: RocksDB for MongoDB MongoRocks Pros vs Wired Tiger: Best space efficiency / Least disk usage Better write efficiency / Higher insert rate Better response times Additional compressions options That said: Wired Tiger is close, and has better read performance 12

Percona Memory Engine Different storage engines are not compatible with each others data files as they use different storage models Fully compatible with In-Memory Engine in MongoDB Enterprise To temporarily test the Percona Memory Engine you can manually start MongoDB with the `--storageengine` command line flag and specify a new database path mongod --storageengine inmemory --dbpath <newdatadir> For long term use, you can configure the storage engine in your MongoDB configuration file using the `storage.engine` configuration parameter Although Percona Memory Engine stores all data in memory, some diagnostics and statistics are still written to disk. 13

Percona Memory Engine Pros: Consistent latency on reads/writes While not as high-performance as something like Redis, it is significantly more performant than any on-disk database engine Allows full MongoDB query semantics in-memory Cons: No persistence to disk on the same node Requires specific architectural considerations if you need persistence 14

Percona Memory Engine Architectural Considerations You can mix/match different storage engines within the same ReplSet Percona Memory Engine utilizes shared internals with Wired Tiger, so blends best with it Usage examples For read-heavy workloads you can have Wired Tiger primary with several Percona Memory Engine secondary nodes Can create in-memory shards for hot data and age it into a different persistent shard Session Management / Caching where persistence is not a requirement 15

Importing Existing Data to New Engines For both MongoRocks and Percona Memory Engine you can migrate existing MongoDB data. For stand-alone instances: First dump your existing data Stop MongoDB and edit your configuration to set the new storage engine Delete the contents of the existing data directory Start MongoDB with the new configuration Finally, import your data from the dump 16 mongodump --out <dumpdir> mongorestore <dumpdir>

Importing Existing Data to New Engines For Replica Sets Change the engine in the configuration file on a secondary Example: storage.engine: rocksdb Remove/move dbpath contents Restart MongoDB on the node, when no longer lagged repeat on next secondary You can also run different engines on different members of a Replica Set if you are wanting to just test that engine. 17

Backup Improvements Hot Backup for both Wired Tiger and MongoRocks Example: admindb.runcommand( { createbackup: 1, backupdir: /my/backup/data/path } ) Hot backups run while other activity continues without impediment Significantly reduces recovery time as it s only requires the time to copy the hot backup into place Percona Labs also has a cluster-aware consistent backup tool for MongoDB being developed in the open on Github that s quite feature-filled 18

Query Profiling Rate Limit Query profiling can have a significant performance overhead in the default implementation Percona Server for MongoDB implements the ability to set a rate limit For example to profile all operations only for queries which are slower than 200ms and every 100th fast query, you would do the following: mongod --profile 2 --slowms 200 --ratelimit 100 Integrates with Percona Toolkit using the pt-mongodb-query-digest tool Is a useful tool for the administrator to understand the reasons why a query may have performance problems 19

Query Profiling w/ QAN QAN for MongoDB announced during the morning keynote on September 26th, 2017 Uses data gathered from query profiler to feed into PMM exporters Allows you to graph query metrics and gain a deeper understanding of the performance profile of your applications on MongoDB Expands PMM management capabilities for MongoDB 20

Auditing mongod --auditdestination=file --auditformat=json Fully compatible with auditing capabilities in MongoDB Enterprise Track and log user activity on the server: Auth-related operations (user and role management, login, logout, shutdown) Replication/Sharding re-configuration operations Failures on regular operations (reads, writes, schema updates, cursor operations) Supports multiple destinations: file, console, syslog Supports multiple output formats: BSON and JSON Assists administrators in enforcing organizational controls for compliance 21

Making the Choice

Evaluating Your Use Case Do you need a supported platform with modern security features? Percona Server for MongoDB provides auditing, log redaction, and LDAP authentication without requiring any licensing costs Are you concerned with write-heavy workloads in your MongoDB environment such as data aggregation? MongoRocks provides significant performance improvements over Wired Tiger in write-heavy workloads and is built-in to Percona Server for MongoDB Do you need to utilize MongoDB for providing caching layers, session management, or providing real-time analytics? Using the Percona Memory Engine provides consistent latency for read-intensive workloads 23

Open Source is About Choice 24 Percona is committed to supporting MongoDB in all of its flavors for our customers, whether you run MongoDB Community Edition, MongoDB Enterprise Edition, or Percona Server for MongoDB. Open source software is about choice, pick what is right for your use case whether that s Percona Server for MongoDB or something else We will continue to expand the datastore families we provide services and software for over time. With support for MySQL, MariaDB, and MongoDB, Percona provides unbiased care for customers running open-source databases

Questions?

Thank You Sponsors! 26

SAVE THE DATE! April 23-25, 2018 Santa Clara Convention Center CALL FOR PAPERS OPENING SOON! 27 www.perconalive.com