120% EXPANSION RATE
Unstructured data will account for 80% of the 175 ZETTABYTES produced by 2025
NOW the DEFAULT NoSQL database
Share price went from $ 24 to $ 267 in 3 YEARS
Here is an EASY thread
Unstructured data will account for 80% of the 175 ZETTABYTES produced by 2025
NOW the DEFAULT NoSQL database
Share price went from $ 24 to $ 267 in 3 YEARS
Here is an EASY thread
$MDB MongoDB was initially released in 2009 and NoSQL quickly became a good alternative / complement to relational databases
Certainly for the modern web giants that had to deal with increasing amounts of data and real-time web applications
Certainly for the modern web giants that had to deal with increasing amounts of data and real-time web applications
OK… That isn’t very telling Let’s dive into databases
What are relational databases
What are non-relational databases
What are the use cases for relational databases
What are the use cases for non-relational databases
What are relational databases
What are non-relational databases
What are the use cases for relational databases
What are the use cases for non-relational databases
Relational databases organise data into tables that can be linked (also “related”) to each other
When a system or developer needs information It can retrieve it from the different tables where the data is stored into
When a system or developer needs information It can retrieve it from the different tables where the data is stored into
Storing data on different tables enables for more flexibility and less redundancy
E.g. A shop has information on its customers (Customer ID, name, state, mailing address) and their purchases (Customer ID, purchases, time of visit)
E.g. A shop has information on its customers (Customer ID, name, state, mailing address) and their purchases (Customer ID, purchases, time of visit)
What if it wants to get the names of all the customers that purchased a certain product ?
It can just join the customers AND purchases table on the customer IDs and filter on product
It can just join the customers AND purchases table on the customer IDs and filter on product
Let’s now say that the shop just wants to send a mail to shoppers in a certain state
It can just solicit the “customers” database instead of getting ALL the data from ALL customers
It can just solicit the “customers” database instead of getting ALL the data from ALL customers
An alternative would have been to create a huge database with Customer ID, name, state, mailing address, purchases, time of visit
But that would NOT be EFFICIENT
But that would NOT be EFFICIENT
A key aspect of relational databases is that data needs to be saved according to a pre-determined model
These make sure that relational databases are consistent Meaning that readers ALWAYS receive the last updated information or an error
These make sure that relational databases are consistent Meaning that readers ALWAYS receive the last updated information or an error
On the downside, a rigid model constraints the structure of the databases
Meaning that you need to determine the columns (variables) for each table and the links (relations) between the tables RIGHT AT THE START
Meaning that you need to determine the columns (variables) for each table and the links (relations) between the tables RIGHT AT THE START
Careful UPFRONT design is thus required and changes have to be carefully implemented thereafter (sometimes including downtime)
This is a problem for data where the relationships change often or when the data lacks structure
This is a problem for data where the relationships change often or when the data lacks structure
Another key weakness is SCALING
When the amounts / complexity of the data you handle changes What can you do?
⇣ VERTICAL SCALING Add more power (CPU, RAM) to make your machines faster
⇢ HORIZONTAL SCALING Add more machines
When the amounts / complexity of the data you handle changes What can you do?
⇣ VERTICAL SCALING Add more power (CPU, RAM) to make your machines faster
⇢ HORIZONTAL SCALING Add more machines
⇣ VERTICAL SCALING in this case, the data resides in the same node (or database instance - place where the data is saved and can be handled)
Costs rise exponentially when adding CPUs and RAM to ONE machine as complexity rises
Costs rise exponentially when adding CPUs and RAM to ONE machine as complexity rises
E.g. buying one high-performance custom made computer is an order of magnitude more expensive than buying 10 standard and average performance computer
⇢ HORIZONTAL SCALING in this case, the data is distributed over several machines
Costs are kept under control as more “simple” machines can be used as one machine doesn’t need to execute all of the work
Costs are kept under control as more “simple” machines can be used as one machine doesn’t need to execute all of the work
What can we do against the
Rigidity of table design in relational databases
Lack of Horizontal scalability
Hint Let’s look at non-relational databases
Rigidity of table design in relational databases
Lack of Horizontal scalability
Hint Let’s look at non-relational databases
What are non-relational databases?
Non-relational databases are different as they do NOT store data in tables
Rather, the data can be stored in documents (or graphs, key-value stores or column-based models)
Non-relational databases are different as they do NOT store data in tables
Rather, the data can be stored in documents (or graphs, key-value stores or column-based models)
These documents are designed for flexibility as they don’t have a forced schema and data can come in different formats
These documents (equivalent of the “rows” in relational databases”) can be arranged in “collections” (equivalent of the “tables” in relational databases) inside the database
But… Since we can compare documents to rows and collections to tables… isn’t it the same thing?
But… Since we can compare documents to rows and collections to tables… isn’t it the same thing?
Well no, the major difference lies in the fact that different documents DO NOT NEED TO SHARE THE SAME STRUCTURE
This is key difference from relational databases where every row has the same fields
This is key difference from relational databases where every row has the same fields
In a non-relational database, new information can be added to some documents (records) without requiring a change for all the records
The document’s data can then very easily and efficiently be accessed through a simply key-to-document lookup
The document’s data can then very easily and efficiently be accessed through a simply key-to-document lookup
WHY are these seemingly weak advantages, KEY in the modern world
First, as the cost of data drastically decreased these last 30 years, the amount of data EXPLODED
AND data came in all shapes and sizes Structured, semistructured, polymorphic
First, as the cost of data drastically decreased these last 30 years, the amount of data EXPLODED
AND data came in all shapes and sizes Structured, semistructured, polymorphic
So what do we have here
Data that is unstructured Not best for rigid models
Lots of data Needs to scale
Data that is unstructured Not best for rigid models
Lots of data Needs to scale
The “document” architecture provides flexibility as documents DO NOT NEED TO SHARE the same schemas
Does it also provide HORIZONTAL SCALABILITY Meaning that we can work with and save larger and larger amounts of data efficiently?
Does it also provide HORIZONTAL SCALABILITY Meaning that we can work with and save larger and larger amounts of data efficiently?
YES
While you cannot in principle split tables (from relational databases) on different nodes You CAN DISTRIBUTE documents (from non-relational databases) over several machines
This enables for horizontal scaling
While you cannot in principle split tables (from relational databases) on different nodes You CAN DISTRIBUTE documents (from non-relational databases) over several machines
This enables for horizontal scaling
While the main downside is that some data might be duplicated over several documents
BUT! The costs of these machines is relatively low so this is a lesser problem
BUT! The costs of these machines is relatively low so this is a lesser problem
But what about these duplicates? From IBM
“That means the information you receive from a query may be incorrect by a few seconds—perhaps up to half a minute. On social media sites, this means seeing an old profile picture when the newest one is only a few moments old...
“That means the information you receive from a query may be incorrect by a few seconds—perhaps up to half a minute. On social media sites, this means seeing an old profile picture when the newest one is only a few moments old...
...The alternative could be a timeout or error. On the other hand, in banking and financial transactions, an error and resubmit may be better than old, incorrect information.”
You can see it here Non-relational databases are good for some websites But others cannot work with “false information”
This is why NoSQL is now said to stand for “Not Only SQL” Where SQL refers to Structured Query Language (language for relational databases)
This is why NoSQL is now said to stand for “Not Only SQL” Where SQL refers to Structured Query Language (language for relational databases)
“Not only” means that non-relational databases OFTEN work alongside relational databases
All in all, there are some use cases where relational databases are a better fit
And some other use cases where non relational databases work best
And some other use cases where non relational databases work best
What are the use cases for relational databases?
Relational databases are best used for tasks that fail as whole OR succeed - This can be said of
ATM machines and online banking applications
Credit card payment processing
Relational databases are best used for tasks that fail as whole OR succeed - This can be said of
ATM machines and online banking applications
Credit card payment processing
Online bookings (tickets, reservation systems)
Health records, inventory management, claims processing…
As you can imagine, a financial transaction needs to succeed or fail It cannot remain in a pending state
Health records, inventory management, claims processing…
As you can imagine, a financial transaction needs to succeed or fail It cannot remain in a pending state
What are the use cases for non-relational databases?
Social media
Ecommerce
Gaming applications
Telecommunications
Social media
Ecommerce
Gaming applications
Telecommunications
Real time applications
These all have to deal with vast amounts of (un)structured content that often changes such as messages, pictures, comments, live data AND can fail / return an error temporarily
These all have to deal with vast amounts of (un)structured content that often changes such as messages, pictures, comments, live data AND can fail / return an error temporarily
Are non-relational databases taking over relational databases?
According to http://Scalegrid.io (provides services for non and relational databases)
Around 60% of database administrators rely on SQL and 40% on NoSQL
According to http://Scalegrid.io (provides services for non and relational databases)
Around 60% of database administrators rely on SQL and 40% on NoSQL
MySQL is used most (39%), followed by MongoDB (25%) and then PostgreSQL (17%)
44% relied on multiple databases and 75% of these combined SQL and NoSQL to support their products
44% relied on multiple databases and 75% of these combined SQL and NoSQL to support their products
As we can see $MDB is one of the most popular NoSQL databases
Is the market served by these databases growing
In other words, is the market for UNSTRUCTURED and LARGE AMOUNTS of data growing?
Is the market served by these databases growing
In other words, is the market for UNSTRUCTURED and LARGE AMOUNTS of data growing?
Well, according the IDC the size of worldwide data will reach 175 ZettaBytes by 2025
Representing a CAGR of 61% over the 2019 - 2025 period
80% of that data will be unstructured and 49% of the whole data will be in public clouds
Representing a CAGR of 61% over the 2019 - 2025 period
80% of that data will be unstructured and 49% of the whole data will be in public clouds
In terms of market size Allied Market Research places the NoSQL market at $ 22B in 2026 - up from $ 2.5B in 2018
Good for a CAGR of 31.4% from 2019 to 2026 Driven by increased demand from
Ecommerce
Web applications
Social gaming
Good for a CAGR of 31.4% from 2019 to 2026 Driven by increased demand from
Ecommerce
Web applications
Social gaming
Is $MDB winning the game?
Let’s look at DB-Engines for historical evolution $MDB went from a score of 101 in 2013 to 448 in 2020 for Document Stores (the type of NoSQL database provided by $MDB)
Let’s look at DB-Engines for historical evolution $MDB went from a score of 101 in 2013 to 448 in 2020 for Document Stores (the type of NoSQL database provided by $MDB)
It is leading the pack while other fail to break out e.g. #CouchbaseDB (score of 30) $AMZN (score of 68) and $MSFT (score of 32)
When looking at the bigger picture we can see that established SQL databases are not loosing too much ground
PostgreSQL (relational database) and MongoDB (Non relational database) are both gaining in popularity
PostgreSQL (relational database) and MongoDB (Non relational database) are both gaining in popularity
It is clear that $MDB is NOT set to replace relational databases These are still widely used
But we have seen that $MDB is leading the document stores databases by a WIDE margin
And searches for “MongoDB Atlas” trend upwards over the last 5 years globally
But we have seen that $MDB is leading the document stores databases by a WIDE margin
And searches for “MongoDB Atlas” trend upwards over the last 5 years globally
That is a LOT of information A summary
Non-relational databases are better than relational in some cases (when data amounts are huge, changes over time)
Non-relational databases SCALE way better and are more flexible to real-life data changes
Non-relational databases are better than relational in some cases (when data amounts are huge, changes over time)
Non-relational databases SCALE way better and are more flexible to real-life data changes
The amounts of unstructured data created each day is BOOMING
$MDB is leading the pack in Document Stores (its own league) by a WIDE margin
$MDB is leading the pack in Document Stores (its own league) by a WIDE margin
So far so good! Let’s have a look at $MDB itself
$MDB generates sales (total of $ 138m) from 3 main sources
Atlas related subscriptions ($ 61m and growing 69% YoY)
Other subscriptions ($ 71m and growing 24% YoY)
Services ($ 5m - stable)
$MDB generates sales (total of $ 138m) from 3 main sources
Atlas related subscriptions ($ 61m and growing 69% YoY)
Other subscriptions ($ 71m and growing 24% YoY)
Services ($ 5m - stable)
The “Other subscription” is basically the “MongoDB Enterprise Advanced” product offered by $MDB
This enables businesses to run $MDB on their own infrastructure and customise it very finely to their needs
This enables businesses to run $MDB on their own infrastructure and customise it very finely to their needs
MongoDB Atlas is the one providing the growth behind the $MDB story
It is a cloud Database-As-A-Service that offers a free tier is fully managed provides on-demand scaling and real-time insights
It is a cloud Database-As-A-Service that offers a free tier is fully managed provides on-demand scaling and real-time insights
To say that Atlas is an incredible product is an understatement
“MongoDB Atlas, which launched in June of 2016, is a battle-tested database-as-a-service platform (DBaaS) artfully designed and built by the same team that created and continues to nurture and grow MongoDB...
“MongoDB Atlas, which launched in June of 2016, is a battle-tested database-as-a-service platform (DBaaS) artfully designed and built by the same team that created and continues to nurture and grow MongoDB...
...MongoDB Atlas is a true blessing to the development community; it provides all of the features of its database counterpart, without the operation and heavy lifting normally required when building new applications, letting you focus on what you do best.” - Nick Parsons
The full review is right here https://medium.com/@nparsons08/mongodb-atlas-technical-overview-benefits-9e4cff27a75e
“MongoDB Atlas is a developer's dream database, with a brilliantly simple user interface, more automation than most Database-as-a-Service (DBaaS) solutions, tons of flexibility and controls, built-in replication, and zero lock-in.” - PCMag
You know what is good about $MDB Atlas? It is a usage-based service
Remember the growth in unstructured DATA? Well, $MDB is growing not only by adding more customers
BUT ALSO as its current customers have more data to handle
Remember the growth in unstructured DATA? Well, $MDB is growing not only by adding more customers
BUT ALSO as its current customers have more data to handle
Here is @cameroniadeluca excellent take on the matter https://twitter.com/cameroniadeluca/status/1204067906503479297?s=20
Financials check
Sales grew by 39% YoY to $ 138m per quarter
Gross margins stand at 69% Down from 72% in prev. Q.
Loss from operations stood at $50m up from a loss of $ 38m a year earlier
Sales grew by 39% YoY to $ 138m per quarter
Gross margins stand at 69% Down from 72% in prev. Q.
Loss from operations stood at $50m up from a loss of $ 38m a year earlier
Current assets of $ 1.1B vs current liabilities of $ 252m
Long term debt of 935m and spending 10% of revenue on interest expenses
Long term debt of 935m and spending 10% of revenue on interest expenses
THE BOTTOM LINE
Unstructured data is booming as social media, ecommerce, gaming explode
Non-relational databases SCALE way better and are more flexible to real-life data changes
Unstructured data is booming as social media, ecommerce, gaming explode
Non-relational databases SCALE way better and are more flexible to real-life data changes
$MDB has become the default in Document Stores (score of 448 vs 68 for next best) and is consistently gaining in popularity
Atlas is a flawless product, ideally suited to smaller and medium businesses that want the best-in-class AND plug-and-play databases
Atlas is a flawless product, ideally suited to smaller and medium businesses that want the best-in-class AND plug-and-play databases
$MDB is going strong at 44% growth YoY on $ 138m revenue and scoring a net annual recurring revenue expansion rate of 120%
With 68% of sales coming from the USA and UK, there is room to grow globally - certainly with Atlas
We have started a medium stake in $MDB
With 68% of sales coming from the USA and UK, there is room to grow globally - certainly with Atlas
We have started a medium stake in $MDB
$DDOG is on our watchlist To Be Reviewed SOON
Please note that this is not a recommendation to buy - You are responsible for conducting your own research
Please note that this is not a recommendation to buy - You are responsible for conducting your own research
Disclaimer - This is not investment advice in any form and investors are responsible for conducting their own research before investing.
Sources
✑ Investor presentation
✑ Company website
✑ SimilarWeb
✑ DB Engines
✑ IDC
✑ Allied Market Research
✑ IBM
✑ Guru99
Sources
✑ Investor presentation
✑ Company website
✑ SimilarWeb
✑ DB Engines
✑ IDC
✑ Allied Market Research
✑ IBM
✑ Guru99
✑ Forbes
✑ High Scalability
✑ InfoWorld
✑ Packt
✑ Dataversity
✑ ScaleGrid
✑ Nick Parsons on Medium
✑ PCMag
✑ High Scalability
✑ InfoWorld
✑ Packt
✑ Dataversity
✑ ScaleGrid
✑ Nick Parsons on Medium
✑ PCMag
Hope you liked this thread!
For more content, follow us on Twitter
Want to get UNDER HYPED companies delivered straight to your inbox Don’t MISS IT https://getbenchmark.substack.com
For more content, follow us on Twitter
Want to get UNDER HYPED companies delivered straight to your inbox Don’t MISS IT https://getbenchmark.substack.com