The what, why, and how of NoSQL

Matthew Calder (MVA)

Interested in NoSQL? NoSQL databases are generally built to be distributed and partitioned across many servers. And they’re built to scale out for high availability and to be flexible enough to handle semi-structured and unstructured data. If you have a data model that is constantly evolving and you want to move fast, that’s what these databases are about. We’ve got some practical training that can help answer your NoSQL questions—from the basics to developing NoSQL apps in SQL Server.

If you want to start at the beginning—maybe you’ve heard about NoSQL and want to learn more—take the Introduction to NoSQL Data Solutions course, which teaches the fundamentals of NoSQL. Get an overview of NoSQL options in Azure Cosmos DB, and take a look at techniques for using the DocumentDB API, Tables API, and MongoDB API. Plus, check out other techniques for accessing and improving performance of your NoSQL storage. Explore non-relational data storage options in Azure, and see how to use them in your applications.

Ready for a deeper dive into Azure Cosmos DB? Don’t miss Developing Planet-Scale Applications in Azure Cosmos DB! Get an in-depth look at developing NoSQL apps in super-scalable Azure Cosmos DB—the distributed, multi-model database from Microsoft that transparently replicates your data wherever your users are. Discover some of the APIs available in Azure Cosmos DB for storing different kinds of NoSQL data. And learn about real-world integrations, visualizations, and analyses, such as Spark Connector, Azure Search, Stream Analytics.

If you’re a relational database developer at an organization with a big investment in SQL Server, or if you’ve got on-premises needs that you don’t want to put in the cloud, build these apps in SQL Server using non-relational data. Learn how, in Developing NoSQL Applications in SQL Server. Explore little-known features, such as data support for XML data types, special data types (for storing geographic coordinates), and BLOB data as a way to store files. Get the details on how JSON data can be stored in SQL Server, see how you can integrate SQL Server relational data with NoSQL data stored in Azure Cosmos DB, and much more.

All of the courses are taught by a team of experts and include demos, labs, and exercises. Do some coding, practice configuration, and get lots of hands-on practice. Check out our NoSQL trainings, and be the NoSQL authority on your team. By the end of the third course, you’ll know how to integrate your apps on-premises and in Azure Cosmos DB!

Comments
  • Wan Mohd Adzha Wan Mohd Ghazali
    | |

    Hi Matthew Calder , I have worked with NoSQL before such as Azure storage table, i was wondering if there is a possibility that they discuss on mapping the NoSQL table using EF6 as ORM solution. Am working on some requirements that need to use few NoSQL tables due to its flexibility and performance and its value on its infrastructure price maintenance offer. Perhaps some suggestion on working with NoSQL and ORM ? . I am aware that NoSQL is not implementing table relationships. But, suppose there is a 3 table that is a NoSQL table. I am planning to create the relationship once the data is mapped to object or POCO. Probably there is a solution that is i am not aware that i can gain from. Thanks in advance.

  • Sidney Andrews (Regional Lead - United States)

    Hey! I'm the author of the NoSQL course and I thought I would give some feedback on an ORM for NoSQL.

    First, an ORM stands for an object-relational mapper. If you don't have any relationships (like in Mongo, Cosmos or Table Storage) than there's nothing there to map really. There's a good conversation on the topic here (stackoverflow.com/.../is-an-orm-redundant-with-a-nosql-api).

    I suspect that you are really looking for a way to map NoSQL entities to C# classes (POCO). If that's the case, many of the NoSQL databases have official and unofficial drivers. If you are using Azure Cosmos DB, there's official packages for the Graph API and SQL API (formerly DocDB) that can map to your POCO entities and uses LINQ. With the official NuGet package, you can easily create your own domain layer that will seem just like an ORM to your developer team. The Mongo team also have an official driver (library) that you can use to map Mongo queries and results to C# POCO classes.

    I hope this helps!

  • Wan Mohd Adzha Wan Mohd Ghazali
    | |

    Hello and good day there Sidney Andrews ! . Very BIG thanks for the follow up . Surely will do the research on the suggestion that you have proposed. I'm not sure where and how the industry of Mongo,CosmosDB ( Azure ) etc is heading. But if Microsoft able to come up with something like EF for NoSQL db with features like Diagram, Relationships once its table is in domain model state, Lazy loading ( which is perfect for performance and user experience ) , Abstract out the connection pipe ( all the transaction/connections to tables management ) and many more similar to EF . This would be nice especially in .net core. Anyway , thanks again for the tips, i hope i can figure out something and take advantage from it. Have a blast day ahead . Cheers .  

  • Sidney Andrews (Regional Lead - United States)

    One more thing, someone has worked on a MongoDB provider for Entity Framework Core that does a lot of the modeling on the client side (since the database doesn't support relationships). I would check that out here (github.com/.../EntityFrameworkCore.MongoDb). There's also an active conversation about NoSQL providers for Entity Framework Core where the product team has mentioned that Cosmos is on their radar (github.com/.../9880)