MongoDB 9 Made This Query 18x Faster
Read full transcript 10 segments
-
MongoDB is my favorite document database MongoDB is my favorite document database and version 9 was just released as the and version 9 was just released as the and version 9 was just released as the fastest version ever. In this video, I'm fastest version ever. In this video, I'm fastest version ever. In this video, I'm going to unpack all of these performance going to unpack all of these performance going to unpack all of these performance improvements and if they're as fast as improvements and if they're as fast as improvements and if they're as fast as they claim to be, I'm going to show you they claim to be, I'm going to show you they claim to be, I'm going to show you some of the cool new features that we some of the cool new features that we some of the cool new features that we now have and I'll also discuss a new now have and I'll also discuss a new now have and I'll also discuss a new deployment option for MongoDB Atlas that deployment option for MongoDB Atlas that deployment option for MongoDB Atlas that promises even more scalability. Here's promises even more scalability. Here's promises even more scalability. Here's the official article from the MongoDB the official article from the MongoDB the official article from the MongoDB website calling MongoDB 9 the best website calling MongoDB 9 the best website calling MongoDB 9 the best version ever built. It promises two version ever built. It promises two version ever built. It promises two times more throughput, 35% faster reads, times more throughput, 35% faster reads, times more throughput, 35% faster reads, and 30% faster updates. And it also and 30% faster updates. And it also and 30% faster updates. And it also introduces Atlas Infinite as a new introduces Atlas Infinite as a new introduces Atlas Infinite as a new deployment option, which I'm going to deployment option, which I'm going to deployment option, which I'm going to talk about later in the video as it's a talk about later in the video as it's a talk about later in the video as it's a very interesting engineering undertaking very interesting engineering undertaking very interesting engineering undertaking and I think it deserves more attention. and I think it deserves more attention. and I think it deserves more attention. Now, I'm going to leave a link to this Now, I'm going to leave a link to this Now, I'm going to leave a link to this article in the description of this video article in the description of this video article in the description of this video if you want to check it out and see if you want to check it out and see if you want to check it out and see exactly what's new and what are all of exactly what's new and what are all of exactly what's new and what are all of the improvements and I'm going to walk the improvements and I'm going to walk the improvements and I'm going to walk through what I think are the highlights. through what I think are the highlights. through what I think are the highlights. And I also want to say thank you to And I also want to say thank you to And I also want to say thank you to MongoDB for sponsoring this video and MongoDB for sponsoring this video and MongoDB for sponsoring this video and giving me early access to some of these giving me early access to some of these giving me early access to some of these features so I can test them out and features so I can test them out and features so I can test them out and share them with you. So, here are the share them with you. So, here are the share them with you. So, here are the headline numbers from their own headline numbers from their own headline numbers from their own benchmarks. Up to 35% faster find one benchmarks. Up to 35% faster find one benchmarks. Up to 35% faster find one queries, up to 30% faster update one queries, up to 30% faster update one queries, up to 30% faster update one queries, two times the throughput on queries, two times the throughput on queries, two times the throughput on large instances, and 20% more throughput large instances, and 20% more throughput large instances, and 20% more throughput for transactional workloads. These are for transactional workloads. These are for transactional workloads. These are awesome improvements from just upgrading awesome improvements from just upgrading awesome improvements from just upgrading your database from targeting version 8 your database from targeting version 8 your database from targeting version 8 to version 9. And I do recommend that if
-
to version 9. And I do recommend that if to version 9. And I do recommend that if you're now running version 8, you go you're now running version 8, you go you're now running version 8, you go ahead and upgrade to version 9 so that ahead and upgrade to version 9 so that ahead and upgrade to version 9 so that you can have a benefit from all of these you can have a benefit from all of these you can have a benefit from all of these performance improvements. Now, what I performance improvements. Now, what I performance improvements. Now, what I want to do is run my own benchmarks so want to do is run my own benchmarks so want to do is run my own benchmarks so we can actually see if the new version we can actually see if the new version we can actually see if the new version is faster. And there are a couple of is faster. And there are a couple of is faster. And there are a couple of scenarios that I want to show you. scenarios that I want to show you. scenarios that I want to show you. First, some join optimizations. Then First, some join optimizations. Then First, some join optimizations. Then we're going to look at native hashing we're going to look at native hashing we're going to look at native hashing that's now available. And I'm also going that's now available. And I'm also going that's now available. And I'm also going to show you encrypted search, which I to show you encrypted search, which I to show you encrypted search, which I think is a very cool feature, as it think is a very cool feature, as it think is a very cool feature, as it allows you to store your data encrypted allows you to store your data encrypted allows you to store your data encrypted in your database and be able to search in your database and be able to search in your database and be able to search over to this data without having to over to this data without having to over to this data without having to decrypt it back. So, this is an awesome decrypt it back. So, this is an awesome decrypt it back. So, this is an awesome feature and I'll show you how you can feature and I'll show you how you can feature and I'll show you how you can use it with MongoDB version 9. If you use it with MongoDB version 9. If you use it with MongoDB version 9. If you think these performance improvements think these performance improvements think these performance improvements sound interesting and you want to try sound interesting and you want to try sound interesting and you want to try out MongoDB version 9, go ahead and out MongoDB version 9, go ahead and out MongoDB version 9, go ahead and click on the pinned comment that's going click on the pinned comment that's going click on the pinned comment that's going to be right below this video. Now, in to be right below this video. Now, in to be right below this video. Now, in order to test this out in a consistent order to test this out in a consistent order to test this out in a consistent manner, I will be using MongoDB Atlas, manner, I will be using MongoDB Atlas, manner, I will be using MongoDB Atlas, which allows me to deploy a MongoDB which allows me to deploy a MongoDB which allows me to deploy a MongoDB cluster in the cloud and I'm able to cluster in the cloud and I'm able to cluster in the cloud and I'm able to choose between different cloud choose between different cloud choose between different cloud providers. I'm hosting my two instances providers. I'm hosting my two instances providers. I'm hosting my two instances on AWS in their Milan data center and on AWS in their Milan data center and on AWS in their Milan data center and it's not only because the data center it's not only because the data center it's not only because the data center and I share the same name, it's also and I share the same name, it's also and I share the same name, it's also because it's geographically closest. I'm because it's geographically closest. I'm because it's geographically closest. I'm going to reap the benefits of reduced going to reap the benefits of reduced going to reap the benefits of reduced latency. So, I've got two clusters here.
-
latency. So, I've got two clusters here. latency. So, I've got two clusters here. Now, each cluster contains one primary Now, each cluster contains one primary Now, each cluster contains one primary MongoDB instance and two read replicas, MongoDB instance and two read replicas, MongoDB instance and two read replicas, which is going to be particularly which is going to be particularly which is going to be particularly helpful with read queries as I can helpful with read queries as I can helpful with read queries as I can distribute the load between multiple distribute the load between multiple distribute the load between multiple instances. I also have an identical instances. I also have an identical instances. I also have an identical cluster running MongoDB 9. These cluster running MongoDB 9. These cluster running MongoDB 9. These specific versions are 9.0.3 and 8.0.34 specific versions are 9.0.3 and 8.0.34 specific versions are 9.0.3 and 8.0.34 for the version 8 cluster. One more for the version 8 cluster. One more for the version 8 cluster. One more thing I want to quickly show you is if thing I want to quickly show you is if thing I want to quickly show you is if you want to actually upgrade your you want to actually upgrade your you want to actually upgrade your current cluster from version 8 into current cluster from version 8 into current cluster from version 8 into version 9, you can go into edit version 9, you can go into edit version 9, you can go into edit configuration and over here you're going configuration and over here you're going configuration and over here you're going to see your deployment version and you to see your deployment version and you to see your deployment version and you have an option to choose MongoDB 9, have an option to choose MongoDB 9, have an option to choose MongoDB 9, which will allow you to upgrade to the which will allow you to upgrade to the which will allow you to upgrade to the new version and get access to the new version and get access to the new version and get access to the performance improvements. If you don't performance improvements. If you don't performance improvements. If you don't have any clusters, it's very easy to add have any clusters, it's very easy to add have any clusters, it's very easy to add one. You just click create here. You can one. You just click create here. You can one. You just click create here. You can choose between the multiple plans and choose between the multiple plans and choose between the multiple plans and you can even create a free instance for you can even create a free instance for you can even create a free instance for development and testing. What I did is I development and testing. What I did is I development and testing. What I did is I created a dedicated instance on AWS. I created a dedicated instance on AWS. I created a dedicated instance on AWS. I chose Milan as the data center. For my chose Milan as the data center. For my chose Milan as the data center. For my cluster tier, I used M10, which is a cluster tier, I used M10, which is a cluster tier, I used M10, which is a baseline instance, but it's going to be baseline instance, but it's going to be baseline instance, but it's going to be sufficient for my testing. And then sufficient for my testing. And then sufficient for my testing. And then below in the version, I create one below in the version, I create one below in the version, I create one cluster on version eight and another cluster on version eight and another cluster on version eight and another cluster on version nine. So that's how cluster on version nine. So that's how cluster on version nine. So that's how you create a cluster. Now note that you create a cluster. Now note that you create a cluster. Now note that provision is going to take a couple of provision is going to take a couple of provision is going to take a couple of minutes because this is a free instance minutes because this is a free instance minutes because this is a free instance cluster. And then once it's created, cluster. And then once it's created, cluster. And then once it's created, you'll be able to connect to it. Now let you'll be able to connect to it. Now let you'll be able to connect to it. Now let me jump into my code base to show you a me jump into my code base to show you a me jump into my code base to show you a couple of examples for our performance couple of examples for our performance couple of examples for our performance benchmarks to see how MongoDB eight benchmarks to see how MongoDB eight benchmarks to see how MongoDB eight stacks up against the new MongoDB nine.
-
stacks up against the new MongoDB nine. stacks up against the new MongoDB nine. The first query we're going to look at The first query we're going to look at The first query we're going to look at is an aggregation pipeline between two is an aggregation pipeline between two is an aggregation pipeline between two collections. So we've got a bookings collections. So we've got a bookings collections. So we've got a bookings collection that contains a passenger ID, collection that contains a passenger ID, collection that contains a passenger ID, which references a passenger document, which references a passenger document, which references a passenger document, the fare and the tax amounts. And we the fare and the tax amounts. And we the fare and the tax amounts. And we want to join this to the passengers want to join this to the passengers want to join this to the passengers collection matching by the ID primary collection matching by the ID primary collection matching by the ID primary key and then doing some filtering along key and then doing some filtering along key and then doing some filtering along the ways. So let me just unpack what we the ways. So let me just unpack what we the ways. So let me just unpack what we have here. This is the native MongoDB have here. This is the native MongoDB have here. This is the native MongoDB syntax for specifying aggregation syntax for specifying aggregation syntax for specifying aggregation pipelines. And we're going to execute pipelines. And we're going to execute pipelines. And we're going to execute this on the bookings collection. So keep this on the bookings collection. So keep this on the bookings collection. So keep that in mind as that's the root for our that in mind as that's the root for our that in mind as that's the root for our aggregation. We're going to do a lookup aggregation. We're going to do a lookup aggregation. We're going to do a lookup on the passengers collection and we're on the passengers collection and we're on the passengers collection and we're matching the documents based on the matching the documents based on the matching the documents based on the passenger ID field in the bookings passenger ID field in the bookings passenger ID field in the bookings collection with the ID field, which is a collection with the ID field, which is a collection with the ID field, which is a primary key in the passengers primary key in the passengers primary key in the passengers collection. Then we want to unwind the collection. Then we want to unwind the collection. Then we want to unwind the passenger and now we're calculating a passenger and now we're calculating a passenger and now we're calculating a total by adding together the fare and total by adding together the fare and total by adding together the fare and the tax amount. And then we only want to the tax amount. And then we only want to the tax amount. And then we only want to match the records that have a total match the records that have a total match the records that have a total greater than 60. And finally, we're greater than 60. And finally, we're greater than 60. And finally, we're going to do a projection where we are going to do a projection where we are going to do a projection where we are going to select the ID, the total that going to select the ID, the total that going to select the ID, the total that we just calculated we just calculated we just calculated and the matching passenger record.
-
and the matching passenger record. and the matching passenger record. Here's an example of how you would use Here's an example of how you would use Here's an example of how you would use it with the MongoDB client library that it with the MongoDB client library that it with the MongoDB client library that you can use inside of your .NET you can use inside of your .NET you can use inside of your .NET application. And our baseline is the application. And our baseline is the application. And our baseline is the IMongoClient instance, which allows us IMongoClient instance, which allows us IMongoClient instance, which allows us to access our database, which I called to access our database, which I called to access our database, which I called travel. And I seeded this database with travel. And I seeded this database with travel. And I seeded this database with 100,000 bookings and 10,000 passengers. 100,000 bookings and 10,000 passengers. 100,000 bookings and 10,000 passengers. Once I have my database, I can get my Once I have my database, I can get my Once I have my database, I can get my collection and I'm fetching the bookings collection and I'm fetching the bookings collection and I'm fetching the bookings collection. And I want to use the collection. And I want to use the collection. And I want to use the bookings to run an aggregation pipeline, bookings to run an aggregation pipeline, bookings to run an aggregation pipeline, and I just explained what this pipeline and I just explained what this pipeline and I just explained what this pipeline looks like here. Then we're going to looks like here. Then we're going to looks like here. Then we're going to execute this, return the result, and I'm execute this, return the result, and I'm execute this, return the result, and I'm going to run this identical pipeline going to run this identical pipeline going to run this identical pipeline both against the version 8 and the both against the version 8 and the both against the version 8 and the version 9 MongoDB Atlas instance running version 9 MongoDB Atlas instance running version 9 MongoDB Atlas instance running in the cloud, and we're going to compare in the cloud, and we're going to compare in the cloud, and we're going to compare the results. And after that, I'll the results. And after that, I'll the results. And after that, I'll explain where the actual improvement explain where the actual improvement explain where the actual improvement comes from. So, I prepped the benchmark comes from. So, I prepped the benchmark comes from. So, I prepped the benchmark behind the scenes, as I don't think the behind the scenes, as I don't think the behind the scenes, as I don't think the code there is all too exciting, and I'm code there is all too exciting, and I'm code there is all too exciting, and I'm going to give it a run. And what it's going to give it a run. And what it's going to give it a run. And what it's going to do is it's going to match going to do is it's going to match going to do is it's going to match against our two database instances, run against our two database instances, run against our two database instances, run a couple of warm-up runs, then it's a couple of warm-up runs, then it's a couple of warm-up runs, then it's going to run a couple of actual runs going to run a couple of actual runs going to run a couple of actual runs that we are going to track inside of our that we are going to track inside of our that we are going to track inside of our metrics, and it's going to give us the metrics, and it's going to give us the metrics, and it's going to give us the final numbers here, where we can see final numbers here, where we can see final numbers here, where we can see that running the original query that I that running the original query that I that running the original query that I just showed you on a version 8 instance just showed you on a version 8 instance just showed you on a version 8 instance has a median run time of 4,900 has a median run time of 4,900 has a median run time of 4,900 milliseconds. Whereas, if we just milliseconds. Whereas, if we just milliseconds. Whereas, if we just upgrade to the version 9, our median run upgrade to the version 9, our median run upgrade to the version 9, our median run time drops to 273 milliseconds. Now, time drops to 273 milliseconds. Now, time drops to 273 milliseconds. Now, what's interesting here is the actual what's interesting here is the actual what's interesting here is the actual query plan changes between these two query plan changes between these two query plan changes between these two versions, and this is because version 9
-
versions, and this is because version 9 versions, and this is because version 9 has additional performance optimizations has additional performance optimizations has additional performance optimizations when it comes to executing joins. when it comes to executing joins. when it comes to executing joins. Basically, what it can do is reorder the Basically, what it can do is reorder the Basically, what it can do is reorder the query plan into a more favorable one, query plan into a more favorable one, query plan into a more favorable one, which allows us to reduce the number of which allows us to reduce the number of which allows us to reduce the number of documents that it processes to satisfy a documents that it processes to satisfy a documents that it processes to satisfy a given query. When you think about it, given query. When you think about it, given query. When you think about it, it's actually pretty simple. On MongoDB it's actually pretty simple. On MongoDB it's actually pretty simple. On MongoDB 8, we do a join between our two 8, we do a join between our two 8, we do a join between our two collections, and then we do a filter to collections, and then we do a filter to collections, and then we do a filter to reduce down the matching number of reduce down the matching number of reduce down the matching number of documents that we return. In version 9, documents that we return. In version 9, documents that we return. In version 9, that filter can be elevated up in the that filter can be elevated up in the that filter can be elevated up in the pipeline without you having to do pipeline without you having to do pipeline without you having to do anything, and this lets us process a anything, and this lets us process a anything, and this lets us process a significantly lower number of documents significantly lower number of documents significantly lower number of documents to produce the final result. Now, if we to produce the final result. Now, if we to produce the final result. Now, if we were to also run the same optimized were to also run the same optimized were to also run the same optimized query on a version 8 instance, you would query on a version 8 instance, you would query on a version 8 instance, you would see that the median is around 390 see that the median is around 390 see that the median is around 390 milliseconds, which is still not faster milliseconds, which is still not faster milliseconds, which is still not faster than what we get on version 9. And this than what we get on version 9. And this than what we get on version 9. And this makes the V9 query 18 times faster makes the V9 query 18 times faster makes the V9 query 18 times faster thanks to the joint performance thanks to the joint performance thanks to the joint performance optimizations that were introduced. The optimizations that were introduced. The optimizations that were introduced. The next thing I want to do is just a quick next thing I want to do is just a quick next thing I want to do is just a quick comparison of hashing between V9 and V8. comparison of hashing between V9 and V8. comparison of hashing between V9 and V8. This is now a native operator in This is now a native operator in This is now a native operator in MongoDB, which allows us to calculate a MongoDB, which allows us to calculate a MongoDB, which allows us to calculate a hash, for example, using the SHA-256 hash, for example, using the SHA-256 hash, for example, using the SHA-256 algorithm on a given document's field.
-
algorithm on a given document's field. algorithm on a given document's field. And this can be useful if you want to, And this can be useful if you want to, And this can be useful if you want to, for example, anonymize some data or for example, anonymize some data or for example, anonymize some data or either storing it in your database or either storing it in your database or either storing it in your database or when you're querying it inside of your when you're querying it inside of your when you're querying it inside of your reports. Now, inside of version 8.0, reports. Now, inside of version 8.0, reports. Now, inside of version 8.0, this isn't available as a native this isn't available as a native this isn't available as a native operator, so you could implement it as a operator, so you could implement it as a operator, so you could implement it as a custom function, for example, using custom function, for example, using custom function, for example, using JavaScript. And then here's an example JavaScript. And then here's an example JavaScript. And then here's an example of how you would use it against the CRM of how you would use it against the CRM of how you would use it against the CRM database and the leads collection, which database and the leads collection, which database and the leads collection, which contains 100,000 documents. And what contains 100,000 documents. And what contains 100,000 documents. And what we're going to do in our aggregation we're going to do in our aggregation we're going to do in our aggregation pipeline is run a hash calculation pipeline is run a hash calculation pipeline is run a hash calculation against each document. And then we're against each document. And then we're against each document. And then we're going to group the results and return going to group the results and return going to group the results and return some data. Now, I'm going to run the some data. Now, I'm going to run the some data. Now, I'm going to run the benchmark for comparing the V8 and V9 benchmark for comparing the V8 and V9 benchmark for comparing the V8 and V9 implementations. And because it takes a implementations. And because it takes a implementations. And because it takes a while to execute this, I'm just going to while to execute this, I'm just going to while to execute this, I'm just going to show you the results, where you can see show you the results, where you can see show you the results, where you can see that the MongoDB 9 implementation is 31 that the MongoDB 9 implementation is 31 that the MongoDB 9 implementation is 31 times faster with a median run time of times faster with a median run time of times faster with a median run time of 356 milliseconds versus 11,000 356 milliseconds versus 11,000 356 milliseconds versus 11,000 milliseconds with the MongoDB 8 milliseconds with the MongoDB 8 milliseconds with the MongoDB 8 instance. Now, I'm noting that this is instance. Now, I'm noting that this is instance. Now, I'm noting that this is also an implementation comparison. So, also an implementation comparison. So, also an implementation comparison. So, if you're utilizing hashing, this is if you're utilizing hashing, this is if you're utilizing hashing, this is another thing that you can get by another thing that you can get by another thing that you can get by switching to MongoDB 9. And now, switching to MongoDB 9. And now, switching to MongoDB 9. And now, probably one of my favorite features probably one of my favorite features probably one of my favorite features that I want to show you, and that is that I want to show you, and that is that I want to show you, and that is support for encrypted search. So, with support for encrypted search. So, with support for encrypted search. So, with MongoDB 9, you can now do prefix and MongoDB 9, you can now do prefix and MongoDB 9, you can now do prefix and suffix encrypted search on the fields suffix encrypted search on the fields suffix encrypted search on the fields inside of your documents. So, how this inside of your documents. So, how this inside of your documents. So, how this works is you encrypt the fields inside works is you encrypt the fields inside works is you encrypt the fields inside of the individual documents as you store of the individual documents as you store of the individual documents as you store them in MongoDB. So, there's no way for them in MongoDB. So, there's no way for them in MongoDB. So, there's no way for you to know what the actual value of you to know what the actual value of you to know what the actual value of this field is without decrypting it.
-
this field is without decrypting it. this field is without decrypting it. Now, this presents a challenge if you Now, this presents a challenge if you Now, this presents a challenge if you want to do any type of querying against want to do any type of querying against want to do any type of querying against this data as you would have to this data as you would have to this data as you would have to potentially decrypt a large number of potentially decrypt a large number of potentially decrypt a large number of documents to be able to analyze them or documents to be able to analyze them or documents to be able to analyze them or filter them or do projections or run filter them or do projections or run filter them or do projections or run aggregation pipelines. Now, MongoDB aggregation pipelines. Now, MongoDB aggregation pipelines. Now, MongoDB supports encrypted search, which allows supports encrypted search, which allows supports encrypted search, which allows me to do something like this. I prepared me to do something like this. I prepared me to do something like this. I prepared a new collection that contains airline a new collection that contains airline a new collection that contains airline passengers and it contains their passengers and it contains their passengers and it contains their encrypted names and passport numbers. encrypted names and passport numbers. encrypted names and passport numbers. Now, what I want to do is for example, Now, what I want to do is for example, Now, what I want to do is for example, search for someone with the last name search for someone with the last name search for someone with the last name Jovanovic and their passport number ends Jovanovic and their passport number ends Jovanovic and their passport number ends in 4821. in 4821. in 4821. And ideally, I want to do this And ideally, I want to do this And ideally, I want to do this efficiently, which means we want to efficiently, which means we want to efficiently, which means we want to avoid decryption. Well, MongoDB 9 makes avoid decryption. Well, MongoDB 9 makes avoid decryption. Well, MongoDB 9 makes this easy as you can use a couple of new this easy as you can use a couple of new this easy as you can use a couple of new operators. I can use this operator to operators. I can use this operator to operators. I can use this operator to check if an encrypted field starts with check if an encrypted field starts with check if an encrypted field starts with a specific value or if an encrypted a specific value or if an encrypted a specific value or if an encrypted field ends with a specific value. And in field ends with a specific value. And in field ends with a specific value. And in this case, I want to do a prefix search this case, I want to do a prefix search this case, I want to do a prefix search on the last name field and then a suffix on the last name field and then a suffix on the last name field and then a suffix search on the passport field. And I'm search on the passport field. And I'm search on the passport field. And I'm noting that these fields are encrypted.
-
noting that these fields are encrypted. noting that these fields are encrypted. Now, how we would use this is the same Now, how we would use this is the same Now, how we would use this is the same as before. We resolve our collection as before. We resolve our collection as before. We resolve our collection with encryption configured and we can with encryption configured and we can with encryption configured and we can execute a find query by passing in our execute a find query by passing in our execute a find query by passing in our specific filter. Now, this feature would specific filter. Now, this feature would specific filter. Now, this feature would not work with MongoDB version 8. There's not work with MongoDB version 8. There's not work with MongoDB version 8. There's no real point in doing a performance no real point in doing a performance no real point in doing a performance comparison, but I find this feature so comparison, but I find this feature so comparison, but I find this feature so valuable and I wanted to show it to you. valuable and I wanted to show it to you. valuable and I wanted to show it to you. And if you want to learn more, I'm going And if you want to learn more, I'm going And if you want to learn more, I'm going to leave a documentation link about to leave a documentation link about to leave a documentation link about queryable encryption in the description queryable encryption in the description queryable encryption in the description of this video. And another awesome of this video. And another awesome of this video. And another awesome product that they announced together product that they announced together product that they announced together with MongoDB version 9 is Atlas with MongoDB version 9 is Atlas with MongoDB version 9 is Atlas Infinite. Now, this is a new deployment Infinite. Now, this is a new deployment Infinite. Now, this is a new deployment mode for your MongoDB Atlas clusters and mode for your MongoDB Atlas clusters and mode for your MongoDB Atlas clusters and it differs from what we had so far. We it differs from what we had so far. We it differs from what we had so far. We can call the current deployment model can call the current deployment model can call the current deployment model Atlas Core and what's specific about it Atlas Core and what's specific about it Atlas Core and what's specific about it is that the compute and the storage are is that the compute and the storage are is that the compute and the storage are attached to the same node. And this has attached to the same node. And this has attached to the same node. And this has some benefits, but it also comes with some benefits, but it also comes with some benefits, but it also comes with its own drawbacks. Now, Atlas Infinite, its own drawbacks. Now, Atlas Infinite, its own drawbacks. Now, Atlas Infinite, which is currently in public preview and which is currently in public preview and which is currently in public preview and I believe it's only available on AWS, I believe it's only available on AWS, I believe it's only available on AWS, comes with a completely different comes with a completely different comes with a completely different architecture where the compute and the architecture where the compute and the architecture where the compute and the storage are decoupled from each other.
-
storage are decoupled from each other. storage are decoupled from each other. And this allows you to do some very cool And this allows you to do some very cool And this allows you to do some very cool things. And the main premise behind all things. And the main premise behind all things. And the main premise behind all of them is scale. With the new demand of them is scale. With the new demand of them is scale. With the new demand that we are seeing for many services that we are seeing for many services that we are seeing for many services across the world because of AI. So what across the world because of AI. So what across the world because of AI. So what does this decoupled architecture allow does this decoupled architecture allow does this decoupled architecture allow you to do? You can for example resize you to do? You can for example resize you to do? You can for example resize the compute layer for more scalability. the compute layer for more scalability. the compute layer for more scalability. Basically vertically scale the compute Basically vertically scale the compute Basically vertically scale the compute while not having to copy over the data while not having to copy over the data while not having to copy over the data set to a new and more powerful compute set to a new and more powerful compute set to a new and more powerful compute node. It also allows you to do the node. It also allows you to do the node. It also allows you to do the opposite. You can grow the storage layer opposite. You can grow the storage layer opposite. You can grow the storage layer by adding more storage, by adding faster by adding more storage, by adding faster by adding more storage, by adding faster storage without having to touch the storage without having to touch the storage without having to touch the compute layer. You can fail over compute compute layer. You can fail over compute compute layer. You can fail over compute to a new node while not touching the to a new node while not touching the to a new node while not touching the data. You can introduce new read only data. You can introduce new read only data. You can introduce new read only instances without having to copy over or instances without having to copy over or instances without having to copy over or replicate the data. As you can have the replicate the data. As you can have the replicate the data. As you can have the compute running against the existing compute running against the existing compute running against the existing storage layer. Now there are some other storage layer. Now there are some other storage layer. Now there are some other out there that do something like this. out there that do something like this. out there that do something like this. And this also unlocks a bunch of new And this also unlocks a bunch of new And this also unlocks a bunch of new capabilities that I'm sure they're going capabilities that I'm sure they're going capabilities that I'm sure they're going to implement as Atlas Infinite becomes to implement as Atlas Infinite becomes to implement as Atlas Infinite becomes generally available. So that is what's generally available. So that is what's generally available. So that is what's new with MongoDB version 9, which is the new with MongoDB version 9, which is the new with MongoDB version 9, which is the fastest version of MongoDB to date. And fastest version of MongoDB to date. And fastest version of MongoDB to date. And if you want to learn more and get if you want to learn more and get if you want to learn more and get started with MongoDB to power your started with MongoDB to power your started with MongoDB to power your applications, I'm going to leave a link applications, I'm going to leave a link applications, I'm going to leave a link in the pinned comment right below this in the pinned comment right below this in the pinned comment right below this video. If you want to see how I build a video. If you want to see how I build a video. If you want to see how I build a recommendation engine using AI and recommendation engine using AI and recommendation engine using AI and MongoDB to power everything, go ahead MongoDB to power everything, go ahead MongoDB to power everything, go ahead and take a look at this video next. If and take a look at this video next. If and take a look at this video next. If you enjoyed watching this video, you enjoyed watching this video, you enjoyed watching this video, consider smashing the like button and consider smashing the like button and consider smashing the like button and subscribing to my channel. Thanks a lot subscribing to my channel. Thanks a lot subscribing to my channel. Thanks a lot for watching and until next time, stay for watching and until next time, stay for watching and until next time, stay awesome.
No summary available yet.
View original episode ↗