Blog

Published by John Potocny and Ewen Fortune on Jul 19, 2017 5:17:49 PM

You QA Most of Your System — What About Your Database?

For virtually all development teams, testing code is a given: It's one of the most important parts of software development. Whether your organization includes a separate team devoted to QA, or your developers are testing their own code, QA is the primary way your team ensures that your application's logic is working correctly, and it's the best way for you to identify issues as early as possible.

As a result, QA is critical for engineering velocity, and it helps shape your users' overall experience when engaging with your product. Nobody likes finding a broken app or website. But what about quality assurance for a database? Do most teams apply the same QA practices to improve their data tier? Do many teams even know how to perform database QA? In this article, we'll talk about how you and your team can apply the same high standards of QA principles to your database, which many organizations often overlook.

Read More
Published by Alex Slotnick on Jul 18, 2017 4:07:38 PM

PGConf Local in Philly: PostgreSQL Performance, in Theory and Practice

A few members of the VividCortex team had the chance to attend PGConf's local meetup in Philadelphia last week. The group came together to discuss anything and everything Postgres, including new features to be included in PostgreSQL 10, building a scalable time-series database on top of PostgreSQL, and common mistakes people make when migrating from Oracle to PostgreSQL.

Read More
Published by Alex Slotnick on Jul 7, 2017 4:14:35 PM

Why Tech Ops Needs to Care About User Experience

This article is Part 2 of an ongoing series about "The Zen of System Performance." Part 1 is about the importance of viewing system performance from two separate but deeply interconnected perspectives. View all parts here. Baron Schwartz's presentation from MongoDB World 2017 also explores these topics — a video recording is available here.

If you work on an app’s backend, you’re probably used to looking at server-side metrics like utilization and backlog. Alas, this can give you major tunnel vision, because it can easily cause you to ignore the user’s experience. Why does this empathy matter?

Read More
Published by John Potocny and Ewen Fortune on Jul 6, 2017 7:43:12 PM

What is MongoDB's _id Field and How to Use It

MongoDB's users are well known for valuing the database's capacity for growth. After all, the system's tagline is "for giant ideas," and for good reason.  The system supports extreme scalability and has been designed to store exceptionally large numbers of documents. Among all the data that a MongoDB system handles, however, there's only one field that exists across every document: the _id field.

Read More
Published by Alex Slotnick on Jun 30, 2017 5:20:51 PM

You Need to Consider Two Perspectives to Understand System Performance

This article is Part 1 of an ongoing series about "The Zen of System Performance." Part 2 is about how tech ops benefits from paying attention to users' perspectives. View all parts here. Baron Schwartz's presentation from MongoDB World 2017 also explores these topics — a video recording is available here.

There are two fundamental points of view for thinking about system performance. Most people tend to experience a system from only one side, and they can often analyze that perspective extremely well. This makes sense—most people are in a position where only one point of view occurs naturally. But that doesn't mean you shouldn't try to see both perspectives. Each one is equally valid, and without a complete view, you have no hope of understanding a definition of your system's performance as a whole.

Read More
Published by John Potocny and Ewen Fortune on Jun 23, 2017 6:08:47 PM

Deciding Which Storage Engine is Right for You: MMAPv1

In a recent article, we began an examination of MongoDB storage engines by explaining why WiredTiger is the current default engine. In this piece, we'll continue discussing storage engines and start to look at the specific characteristics of other available options, beginning with MMAPv1, to help readers understand which one is right for their system and workloads.

Read More
Published by Preetam Jinka on Jun 22, 2017 4:45:00 PM

Exponential Smoothing for Time Series Forecasting

Time series anomaly detection is a complicated problem with plenty of practical methods. It’s easy to find yourself getting lost in all of the topics it encompasses. Learning them is certainly an issue, but implementing them is often more complicated. A key element of anomaly detection is forecasting - taking what you know about a time series, either based on a model or its history, and making decisions about values that arrive later.

Read More
Published by John Potocny and Ewen Fortune on Jun 19, 2017 5:51:49 PM

When to Use explain() in MongoDB

In MongoDB, the command db.collection.explain() is an important operation that can help you understand exactly how your queries execute and behave. Once you have a grasp of how MongoDB handles explain(), using it lets you examine queries in a number of ways.

Read More
Published by John Potocny and Ewen Fortune on Jun 14, 2017 11:43:05 AM

Why WiredTiger is the Default MongoDB Storage Engine

Last week, when we published our blog post about working-sets in MongoDB, one of our colleagues told us that he'd been aware that MMAPv1 had previously been MongoDB's default storage engine, but he didn't know why WiredTiger had since taken its place. We saw this as an opportunity to write a follow-up post to explain some of the contrasts between the two and explore the advantages of WiredTiger, which (we think) led MongoDB to making it the system's default storage engine.

Read More

Subscribe to Email Updates

Posts by Topic

see all