MongoDB Appendix
MongoDB Appendix
TECHNOLOGY/DATABASE
TECH FUNDAMENTALS
Concept Explanation Why It Matters
Bare Metal A physical server with no virtualization that is Term used by customers. You should know
available for use by only one customer. and understand it!
Cloud Computing The ability to remotely access and use Foundational concept that’s required to
computer hardware and software through the understand and articulate the value
Internet. proposition of MongoDB Atlas and a fully
managed platform of services.
Cloud Native Describes a solution designed to work only in Phrase used to describe a customer/company
the cloud (of one vendor) without alternative that was “born in the cloud” and isn’t
options. encumbered by any legacy data center(s).
Hybrid Cloud Mix of on-prem, private cloud, and public There are customers with legacy on-prem
cloud setup. Any two of these together solutions that are balancing those
classify as “hybrid.” investments against new(er) investments in
“the cloud”, and you’ll need to understand their
environment and be able to coach through
MongoDB solutions and our value proposition.
Multi Cloud The use of multiple cloud computing services Companies are increasingly seeking to
in a single client-side architecture. diversify their cloud infrastructures beyond a
single provider.
Private Cloud Similar to “public cloud”, but with restricted Customers unable or unwilling to move into
access, usually in boundaries defined by an the public cloud still want to emulate the
enterprise. public cloud for myriad reasons, and there
solutions available for customers to attempt
simulating their own public cloud
environments but with the important caveat
that these environments are self provisioned
and self managed...and thus compromising
several value propositions associated with a
true public cloud. As a seller, you need to
understand the difference and why customers
might choose to build a “private cloud”, and be
able to do discovery to learn more.
Public Cloud A cloud computing offering from a vendor that Infrastructure provided by another provider
allows anyone to use their services. (GCP, AWS, Azure, etc.), that customers can
rent/lease. Additionally, platform services
and software applications may be made
available for purchase or general use that is
hosted on these clouds. This is important
because our flagship services and platform
are available on GCP, Azure, and AWS. You
need to understand how to articulate the
value prop.
Server At a fundamental level, a server is essentially a Closely associated with “bare metal”, it’s a type
computer that houses your application and/or of powerful computer and a term you’ll hear
other technologies. from customers. Servers have the same
technology as a personal computer (RAM,
Storage, CPUs), but it does not have the same
interfaces as a personal computer as it lives in
a data warehouse with hundreds (or
thousands) of other servers.
When a customer purchases a license of
MongoDB, their instance of MongoDB will be
installed on a server for use.
Shadow IT A term often used to describe IT systems and You’ll run into this in customer accounts and
solutions built and used inside organizations it’s a strong signal the customer (or their
without explicit organizational approval. teams) are feeling pain around whatever
Ex: John in infrastructure doesn't want to wait they’re doing with shadow IT.
3 weeks to get a new Exadata Server procured
and installed so he goes to AWS and
provisions a server using his credit card for
the development of a new application for the
business. John has just engaged in Shadow IT
Virtual Machine An operating system (OS) or environment that Rather than devote huge bare metal
is installed on software, which imitates machines, virtual machines allow customers
hardware. to divide those hardware resources and run
operating systems as self contained
applications on top of bare metal, meaning
users can make better use of those bare metal
resources. It became super popular over the
years, but it’s starting to be eclipsed by
containers, which allow even better
optimization of those bare metal resources.
DATABASE FUNDAMENTALS
An application called MyContacts illustrates examples in this guide.
It is like the app you use on your phone, Outlook, or Gmail.
Concept Explanation Why It Matters
Database Software that manages data. Databases have existed as long as software.
They are a critical piece of virtually all
Strictly speaking, managed data is called a applications.
database, and the software that manages the
data is called a database management system Databases store data, secure data, and
(DBMS). For simplicity, we use database to manage access: the key operations are
refer to the software. create, read, update, delete (CRUD).
Data Model The way the database organizes the data. Relational databases (RDBMS) use a data
model that is very different from the way data
There are a few important data models: is organized in applications (i.e., objects of
relational (most popular), key-value (most object oriented languages), adding complexity
simple), document (MongoDB), and graph and slowing dev cycles. Each contact in
(niche). The way data is organized for a MyContacts could be spread across dozens of
specific application is called schema. tables in an RDBMS. This saves space, but
adds complexity.
Each contact in MyContacts is a record in the
database. Depending on the data model, each In contrast, data objects are very closely
contact would be organized very differently. aligned with the document data model used by
For example, in a relational data model, a MongoDB, making apps faster to build
contact would be spread across many tables, because developers are more productive.
while in MongoDB a contact would be a single Each contact in MyContacts corresponds to a
document. single document in MongoDB.
DevOps This refers to a new style of IT organization in Customers are increasingly organizing
which there is no wall between development themselves into DevOps-styled orgs to build
(creation) and operations (maintenance) in an better, faster software. You need to
IT organization. These groups are cross understand this working dynamic because
functional and more agile as a result. Atlas/MongoDB can help DevOps to further
improve their operating efficiency.
Query Language & How the application communicates with the SQL is used by relational databases. It is
Drivers database. usually accompanied by an additional
technology layer, Object Relational Mapping
Each time you want to add, update, or delete a (ORM), to simplify access for developers and
contact, MyContacts sends a query in the bridge the difference between the data model
query language the database speaks, and and programming language model.
drivers connect the application to the
database (they are different for each language MongoDB Query Language (MQL) provides all
– Java, .NET, JavaScript, etc.). of the sophistication of SQL, including
aggregation, with a convenient syntax that is
Some query languages only allow you to do natural and intuitive for developers. This
simple things (look up a contact by their phone makes developers more productive, and
number). SQL and MongoDB allow much more removes the need for ORM layers that add
(“How many of my contacts currently work at complexity and reduce performance in
IBM?”). relational databases.
Indexes: Primary & Indexes allow the database to find data RDBMS and MongoDB support secondary
Secondary efficiently. indexes natively, including special kinds of
indexes (e.g., geospatial, compound, text
All databases have at least one index, called a search).
Primary Key Index. In MyContacts, this could
be the phone number. Without secondary Key-value databases like Cassandra and
indexes, a database would have to look at Couchbase only support primary keys, and
every one of your contacts to find the one you force you to build your own by making copies
are looking for (this is called a table scan). of the data: for each field – last name, first
name, city, company – the application would
How useful would MyContacts be if you could copy every contact with that field as the
only look people up by phone number? Not primary key. This 1) means the data is out of
very. Secondary indexes allow you to find data sync across the copies, 2) makes updates
by other fields. i.e. by first name, last name, slow, and 3) adds work and complexity.
city, or company.
ACID Transactions: These are the guarantees the database Users have come to expect ACID guarantees
Atomicity provides to the application. from the database.
Consistency*
Isolation ● Atomicity: An operation is all or nothing. If you get all four of these properties in your
Durability If you change a phone number AND database, building applications is much
address in MyContacts, they both get easier. If you throw away any ONE of them,
*Note: not to be updated, or the whole operation is then building an application becomes very
confused with aborted and “rolled back.” difficult.
strong & eventual ● Consistency: The system ensures the
consistency. data is valid. All contacts must have a
unique phone number.
● Isolation: Operations on the same record
don’t interfere with one another. A
contact will only be updated by one user
at a time.
● Durability: Operations can’t be lost. For a
power failure or database crash, all the
updates you made to your contacts won’t
be lost.
Consistency Whether the database guarantees data is the Strong consistency is intuitive, and how
Model*: Strong & most recent version or potentially stale. relational databases and MongoDB are
Eventual designed. Applications can be written using
Databases maintain multiple copies of the conventional approaches, without adding
*Note: not to be data for high availability. A strongly consistent unnecessary complexity.
confused with ACID database guarantees you always see the most
consistency. recent version of the data. However, during a Eventual consistency (Cassandra) adds
failure (i.e. power loss) for a brief period of complexity and can compromise
time (seconds) the database is unavailable performance. For example, you could 1)
while it performs failover. increase the balance of your checking
account from $100 to $200, 2) get
An eventually consistent database makes confirmation from the database that the
compromises in consistency to ensure that transaction succeeded, then 3) ask for the
even during failure there is no time the current balance and get $100. Good luck
database is unavailable. It does so by allowing writing an app that doesn’t mind such
you to read and write to any copy of the data. behavior.
The downside is that it can potentially return
stale data. In a few cases, availability is more
important than consistency.
High Availability & Being able to answer queries, even when MongoDB can tolerate unplanned downtime,
Failover something goes wrong. as well as planned downtime such as upgrades
and migrations. Modern deployments must
Things break. When they do, users of assume many types of failure will occur
MyContacts shouldn’t notice. Availability is routinely (e.g. server crash, network partition,
measured in terms of time the system is NOT data center power loss). MongoDB detects
down in year, usually with “nines,” where “three these, and recovers from them automatically.
nines” is 99.9% (8 hrs of downtime/yr, 10
min/week), “four nines,” “five nines,” and so on. Conversely, relational databases were
designed to write data to disk on a single
A database will “fail over” to a redundant copy server. While replication can help to provide
of the data to remain available, either “hot” and “warm” standbys, these options have
automatically (e.g., as in MongoDB), or drawbacks, including the need for manual
manually (many relational databases), or failover.
through expensive add on features.
Encryption Encryption is when security measures are At Rest: Condition in which your data is not
designed to lock the viewing/editing/or being accessed or transferred and is merely
access of data. You need to have a basic level sitting in storage. Put together, this concept
working knowledge to speak credibly about refers to the idea that when your data is not
MongoDB and our various offerings. being accessed or queried, it is secure. In
relation to MongoDB, this is only available with
EA and Atlas offerings.
In Flight: Movement of data over a network or
from one machine to another.Put together,
this concept refers to the idea that even when
your data is being accessed and transported
over the network, it will remain secure. In
relation to MongoDB, all MongoDB offerings
including free version have encryption
in-flight
Replication (Replica Automatically copies data across multiple MongoDB provides native replication for up to
Set) servers. 50 copies, including many features that make
it easy to deploy across data centers for
Databases typically achieve high availability by availability and keeping copies of data near
storing multiple copies of the data on users for low latency.
different servers, racks, and data centers.
Replication moves the data between servers. Most databases provide very simple
replication for one copy.
See High Availability & Failover.
Scalability The ability of a system to perform more work RDBMS are typically hard to scale and limited
as more resources are allocated to it. to vertical scaling. Vertical scaling has several
drawbacks: a) bigger servers typically cost
Scalability is usually measured as a) more per unit than smaller servers (i.e., this is
operations per second (read and write the opposite of a volume discount), b) you buy
queries), or b) the volume of data. Resources more capacity than you need to address
are usually measured in terms of the number future needs, c) migrating takes your app
of servers and their size. There are two ways offline.
to do more work:
MongoDB scales with horizontal and vertical
Vertical scaling (aka scaling up): use a bigger scaling. Horizontal scaling has many
server. Bigger servers are more expensive, advantages: a) costs scale linearly, b)
but have fixed operational overhead. elasticity - pay for and add capacity only when
Horizontal scaling (aka scaling out): use more you need it, c) adding capacity requires no
servers. Commodity servers are cheap, but downtime. Users can take advantage of both
each adds incremental operational overhead. horizontal and vertical scaling in the way that
is best for their needs.
Sharding This is a MongoDB specific term. Sharding Imagine you are housing customer data in
refers to a splitting of your replica set for your replica set and you organize it A-Z. Now
benefits of speed, performance, location that your business is taking off, the original
based access, and other reasons. P2S replica set you created when you first
procured MongoDB is starting to reach the
limit in storage and processing capabilities.
To increase performance, you split that
replica set into 2 shards with one shard being
for A-M and the second for N-Z. You can now
continue to accept more users and grow as
your business grows
Latency The time between cause and effect, or how Low latency helps ensure a great user
long you wait for what you asked for. experience. Looking up, adding, or updating a
contact in MyContacts should be really fast.
Latency is typically measured in milliseconds.
Low Latency = good. High Latency = bad.
Throughput The amount of work you can do in a given High throughput allows you to support many
time. users with low latency, even when they’re all
getting responses at the same time.
Throughput is a measure of performance,
typically measured in operations per second. Low Throughput = bad. High Throughput =
good.
Joins An instruction to the database to combine SQL joins are a staple of relational databases,
data from more than one table (in relational where data is often split across networks of
databases) or collection (in MongoDB). interconnected tables.
In MongoDB, most of the time all the data for a
record tends to be located in a single
document, which makes accessing data
simple, high-performance, and easy to scale.
However, for analytics and reporting, it’s very
possible that you will need to access data that
spans multiple collections (just like you would
access data that spans multiple tables in a
relational database). To do this, you would
need a join.
Microservices Small applications built with a very specific Modern applications are built using
business process in mind. Microservices are microservices, and you need to have a
not dependent on one another for releases or foundational awareness and understanding of
upgrades. Teams are often self-contained and that to sell effectively and have credibility in
have expertise at each layer of the stack. front of a customer(s). Microservices scale as
Microservices communicate with one another the demand on the business process grows.
through common protocols like HTTP.
The business process dictates the choice of:
● Development Language
● Data Model
● Database
● Infrastructure
On-Prem (aka In older times, on-prem would refer to having Many companies still self manage their
On-Premise or hardware and software on-premise, meaning infrastructure and applications today and it’s
Self-Managed) in the company's own data centers. important to understand that - along with the
Nowadays, this can also refer to managing implications. This will help you be able to most
hardware and software investments internally effectively articulate the value proposition of
whether or not it is actually in the company's a fully managed service.
data center
Node A "node" is a single instance of a database It’s a concept you’ll hear from customers and
technology. SAs in relation to the customer’s
environments set-up and dictates the
EA-pricing models.
MONGODB PRODUCTS
Concept Explanation
MongoDB Community MongoDB’s free version of our open document database. There are no tools or services
included with this version.
Enterprise Advanced The Enterprise Advanced subscription of MongoDB offers support and SLA when the
customer runs our database on their own infrastructure. Customers are given operational
tooling, advanced analytics and data visualization, platform integrations and certification,
along with on-demand training for their teams.
Atlas This is our fully-managed cloud database. It can be deployed across AWS, Google Cloud,
and Azure.
Data Platform MongoDB is a true data platform with a comprehensive suite of tools to make working
with data remarkably easy for everyone, from developers to analysts to data scientists.
MONGODB COMMUNITY VS ENTERPRISE ADVANCED
Feature MongoDB Community Edition MongoDB Enterprise Advanced
MongoDB Compass ✔ ✔
Platform Certification ✔
On-Demand Training ✔
TECHNOLOGY & DATABASE ACRONYMS
CRUD Create, Read, Update, Delete An acronym for the fundamental operations of a
database
DBMS Database Management System Software that handles the storage, retrieval, security
and management of data in a computer system
DDL Data Definition Language Used to define data structures (e.g., create
collection, create index.)
DML Data Manipulation Language Used to manipulate data itself (e.g., insert, delete,
update)
GUI Graphical User Interface The way in which users interact with an application
HDFS Hadoop Distributed File System HDFS allows us to distribute files across multiple
machines for parallel processing
IP Internet Protocol Most often tied to the concept of an IP address in
networking - the unique network identifier of a
device
MQL MongoDB Query Language Data manipulation language used to work with data in
MongoDB databases
OS Operating System A common interface for software and services for
hardware
PaaS Platform as a Service Includes IaaS resources as well as software such as
databases, dev/test tools, security, & middleware
PHI Personal Health Information Similar to HIPAA type information, PHI is a type of
data that requires advanced security and is regulated
by multiple regulatory agencies.
PII Personally identifiable information Personally identifiable information (PII) is any data
that could potentially identify a specific individual.
Any information that can be used to distinguish one
person from another and can be used for
de-anonymizing anonymous data can be considered
PII.
QA Quality Assurance Team that tests software against the set of
requirements set forth in the requirements
document prior to release
RAC Real Application Cluster Software for clustering and high availability in Oracle
database environments.
RAM Random Access Memory RAM refers to the amount of flash storage a server
has. This is the "working" memory of a system that
allows your server to process more information at a
time. Because it is "flash" storage, if an outage were
to occur, you would lose all the data in RAM that has
not been written to the hard drive of your server. The
more RAM you have, the faster and more information
your server can process.
RDBMS Relational Database Management System A database management system based on the
relational model
SQL Structured Query Language Standard DML used to work with relational database
management systems.
SSD Solid State Disk Storage device that is faster than a standard hard
disk drive
SW Software Application code that runs on a physical device
TTL Time To Live A type of index that MongoDB can use to
automatically remove documents from a collection
after a certain amount of time
TTV Time To Value The amount of time that an organization takes to
realize benefits off of their initial investments. Not to
be confused with ROI, TTV is about speed to market
or to a realized positive outcome from work done on a
project.
PRODUCTS/SERVICES ACRONYMS
AGPL Affero General Public License MongoDB’s community server open source license
API Application Program Interface Specifies how software components should interact.
APIs are used when programming graphical user
interface (GUI) components.
APM Application Performance Monitoring A category of monitoring that takes into account all
elements of the application stack to determine the
root cause of performance issues
CMS Content Management System An application that stores content and serves it to
users
ELS Extended Lifecycle Support Support provided beyond the official end of life of a
product.
GCP Google Cloud Platform Cloud computing resources offered by Google Inc.
IoT Internet of Things Physical assets and devices connected to each other
to share information. An IoT application handles data
from these assets or devices for a particular purpose.
LDAP Lightweight Directory Access protocol Protocol for accessing and maintaining directory
information over a network
NDA Non-Disclosure Agreement A legal contract between at least two parties that
outlines confidential material, knowledge, or
information that the parties wish to share with one
another for certain purposes, but wish to restrict
access to or by third parties. It is a contract through
which the parties agree not to disclose information
covered by the agreement.
RPO Recovery Point Objective The amount of data, measured in time, that an
organization needs to be able to recover to.
RTO Recovery Time Objective The amount of time following a failure after which the
system needs to be back online.
SLA Service Level Agreement A contract between a service provider (internal or
external) to deliver a particular level of service within
a particular period of time
SSL/TLS Secure Socket Layer / Transport Layer Communication security protocol for data transfer
Security across networks (‘data in flight’)
SSPL Server Side Public License Adopted by MongoDB in 2018; keeps core database
free-and-modifiable, but offers strong legal
protection against other vendor building competing
service(s) with MongoDB.
TCO Total Cost of Ownership The purchase price of an asset plus the costs of
operation. When choosing among alternatives in a
purchasing decision, buyers should look not just at an
item's short-term price, which is its purchase price,
but also at its long-term price, which is its total cost
of ownership.
VPC Virtual Private Cloud A pool of services, offered on a public cloud, that are
configurable and offer a degree of isolation from
other users/customers on the same public cloud.
SALES
VALUE FRAMEWORK CHEAT SHEET
Access the Value Framework here.
Component Description Guidelines
● The bad things that result from the Before Scenarios. ● Measurable
Negative ● Often expressed as unfavorable operational or financial outcomes ● Customer language
Consequences (e.g., high OpEx and CapEx).
● Basis for quantifying the value of the pain.
● Guiding Question: “How would the customer express the tangible
business implications of the current situation?”
Future State ● Creates a “stand‐in‐the‐future” vision of how life could be better for ● Customer language
(After Scenarios) the buyer after resolving the pain points.
● An opportunity to educate the customer on industry best practices.
● Guiding Question: “How would the customer describe the ideal state?
Positive Business ● The good things that result from the After Scenarios. ● Measurable
Outcomes ● Defined in terms that resonate with the economic buyer. ● Customer language
● Basis for quantifying the value of the solution (the “R” of the ROI).
● Guiding Question: “Is this PBO compelling enough that the EB would
reallocate discretionary funding?”
Required ● The minimum solution capabilities that are required to achieve the ● Customer language
Capabilities Positive Business Outcomes and resolve the Negative
Consequences.
● Often appear as requirements in customer RFPs.
● Basis for the technical buyer’s decision criteria.
● Phrased in the customer’s language but influenced by your Defensible
Differentiators.
● Guiding Question: “Are these the highest priority solution
requirements that will most impact the buying decision?”
Metrics ● Success measures the customer will use to gauge how well your ● Customer language
solution satisfies the Required Capabilities.
● Often expressed as scorecard measures.
● Guiding Question: “How will the technical buyer measure the success
of our solution?
How We Do It ● Describes how your solution satisfies the Required Capabilities. ● MongoDB language
● Grouped at the major product or service offering level.
● Guiding Question: “How do we want our sales teams to explain our
solutions?”
How We Do It ● How your product and service offerings satisfy the Required ● MongoDB language
Better Capabilities better or differently than competitive offerings in a way
that provides value to the customer.
● Grouped at the major product or service offering level.
● Guiding Question: “How do we want our sales teams to explain our
solution differentiation?”
Proof Points ● Verifiable evidence that you can satisfy the Required Capabilities in a ● Very specific
way that achieves the Positive Business Outcomes.
● Usually expressed as customer case studies, testimonials, etc.
● Whenever possible, include tangible results (↑Revenue, ↓Cost,
↓Risk).
Discovery ● Open‐ended, two‐sided questions that draw out customer pain ● Both general and
Questions points, Positive Business Outcomes and Required Capabilities in a value driver specific
way that sets up a conversation around your solutions and questions
differentiators.
INTERNAL SALES ROLES ACRONYMS
ADR Account Development Representative Outbound member of the Sales Development team
BDR Business Development Representative BDRs assist Enterprise reps with account research.
CAE Corporate Account Executive CAEs are focused on companies that are $750M and
under.
CSM Customer Success Manager CSMs are focused on post sale implementation
activities (e.g., onboarding, QBR’s).
EAE Enterprise Account Executive EAEs are focused on companies that are >$750M.
SA Solutions Architect SAs work closely with EAEs/CAEs and play a key role
within deals (e.g., technical requirements, POC).
SDR Sales Development Representative Inbound member of the Sales Development team
COMMAND OF THE MESSAGE ACRONYMS
EB Economic Buyer Who is the person that is signing off on this to
allocate funds? Do you know who that is?
RCs Required Capabilities Solution capabilities that are required to achieve the
PBOs and resolve the NCs
MAP Report My Account Prioritization Report Report in Salesforce that is used shows marketing
engagement and sales engagement, which is used to
help fill out Smoke Reports.
When, you, the xDR decide that you will call and/or
SAL Sales Accepted Lead
email this person to discover more about his/her
interest. To accept, the MQL must be put in your name
and set to “Attempt Contact”.
PERSONAS ACRONYMS
CEO Chief Executive Officer The highest ranking executive in the company that
has overall responsibility for creating, planning,
implementing, and integrating the strategic direction
of an organization. This includes responsibility for all
components and departments of a business.
It is also the responsibility of the CEO to ensure that
the organization's leadership maintains a constant
awareness of both the external and internal
competitive landscape, opportunities for expansion,
customer base, markets, new industry developments
and standards, and so forth.
CIO Chief Information Officer Most senior executive in an enterprise responsible for
the information technology and computer systems
that support enterprise goals.
CTO Chief Technology Officer CTOs are responsible for building technological
products/services that meet the customer needs.
They manage engineers and developers who design
the products/services and evaluate the appeal and
functionality of the final product/service versions.
Different from a CIO in the sense that CTOs are
concerned with technologies that grow the business
externally.
CISO Chief Information Security Officer The senior-level executive within an organization
responsible for establishing and maintaining the
enterprise vision, strategy, and program to ensure
information assets and technologies are adequately
protected.