From the course: MongoDB Cloud Essential Training

First Introduction to Realm - MongoDB Tutorial

From the course: MongoDB Cloud Essential Training

First Introduction to Realm

- [Instructor] As part of this course, we are going to be working with MongoDB Realm. Now you may not have heard of MongoDB Realm, or you may have. Basically, MongoDB Realm is a database as a service that is part of the MongoDB Atlas offering, or the MongoDB Cloud offering. Think of MongoDB Realm the same way you think of something like Firebase or Parse in the past, and other similar tools. Traditionally, it can be a hassle when you want to work with MongoDB. You have to create your own server environment, and then you have to also install MongoDB yourself and provision everything like that for authentication and all those features that MongoDB offers. But with MongoDB Realm, you simply just need to plug and play. You just go in there, you create your application, and that's all you need to do. MongoDB Realm also has a lot of features that makes it easy for you to work with mobile applications, web applications, and also tackle some of the very common problems that you may have when working with a database and a service. So we're going to go ahead and have a look at MongoDB Realm works. Let's head to a graphical layout for this. So like I said, Realm is the database as a service provided by MongoDB as part of the MongoDB cloud environment that you use hand-in-hand with Atlas and any cluster you create. One of the first features that MongoDB Realm provides you is a MongoDB database. So instead of spending time installing your MongoDB database, provisioning it, and doing all that DevOps, Realm has already provided that for you. Now the second thing that is provided to you by MongoDB Realm is authentication. Gone are the days where you need to worry about what authentication provider to use. For example, you might want to use something like Sign In with Facebook or Twitter or GitHub or any third-party authentication tool, you might have to go pay for services traditionally to have this (indistinct) in your application. But with MongoDB Realm, this is part and parcel of the Realm offering. So you can authenticate with different sources like email password, API key authentication, third party auth token authentication and so many things. We do have a chapter where we cover authentication or few chapters in this course so stay tuned for that. Another feature that MongoDB Realm provides you is sync. Sync is a very powerful feature. The sync feature is very useful when you're working with mobile application specifically. Sometimes you need data to be available offline, securely on the devices of your users. You also want this data to be able to seamlessly sync when network connection returns. This is where sync shines. Sync provides you with all those features without you needing to do anything. It's part and parcel of the Realm offering. The next feature we're going to talk about is GraphQL. Now GraphQL is a new technology that is quickly gaining ground. But what a warning as part of this course, we are not going to be covering GraphQL, but it's worth making a note of it. Now, GraphQL is a new query language that allows you to query your data across different data sources, in a much more seamless way. So it's that GraphQL make it very easy for large applications or large companies that have so many data sources to consolidate that and have people use it very easily. GraphQL is built into realms so you don't have to do a lot of things if you want to work with GraphQL while using your realm database. Hosting is another feature that really provides you. This host feature recently left beta so it's very new, but it also works very robustly. Let's say you use Realm for your database. At some point, you're going to need to host your web application if indeed you are creating a web application. You can use the same storage plan that you have purchased as part of your MongoDB cluster and use realm to host your applications. Realm provides you with CDN services, and also allows you to do things like connect your own custom domains, or even create automatic realm based domains for you for testing. Another feature that is built into Realm is push notifications. Push notifications have gone further than just the mobile environment. In the past we only know about push notifications on iOS and Android, but today we have push notifications live in the browser. With Realm you can automatically create push notification solutions that allow you to send push notifications across different devices. Now my favorite feature of Realm is the wide variety of SDK options it allows you to use. You can interface with Realm via JavaScript SDK, Python SDK, Java SDK, and so many other languages that are supported. I've personally used MongoDB Realm SDKs on web applications and also node JS service side applications and it has worked absolutely beautifully. This means that no matter what language you're using out there, there is probably a solution for you to use. In this particular course, we are going to be using the JavaScript web SDK of Realm, and we're going to be using that as our primary way of accessing data, pushing and pulling data to our database that we are going to be creating on Realm. Now, there are a lot of other features that I haven't even talked about some of them more advanced like triggers and functions and third party APIs that you can call within those functions. But as you get more and more comfortable, these features will naturally come into play long after you finish watching this course. Well, whether I said, we've talked about Realm a lot now we're now going to get into the meaty parts of this course and start working with Realm and learning how to use it, to create amazing applications.

Contents