-
Notifications
You must be signed in to change notification settings - Fork 6k
Chapter 5 octupdates #15353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chapter 5 octupdates #15353
Conversation
This replaces #15343, right? |
Excellent. Thanks! Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. @mairaw As discussed, as long as we are good with the third-party logos, we can merge as-is. If not, we can remove that image and merge in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few extra comments
Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Removed
Get Outlook for iOS<https://aka.ms/o0ukef>
________________________________
From: Maira Wenzel <notifications@github.com>
Sent: Thursday, January 23, 2020 7:12:41 PM
To: dotnet/docs <docs@noreply.github.com>
Cc: Robert Vettor <robvet@microsoft.com>; Mention <mention@noreply.github.com>
Subject: Re: [dotnet/docs] Chapter 5 octupdates (#15353)
@mairaw commented on this pull request.
________________________________
In docs/architecture/cloud-native/relational-vs-nosql-data.md<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdotnet%2Fdocs%2Fpull%2F15353%23discussion_r370420047&data=02%7C01%7Crobvet%40microsoft.com%7Ccd19a7d2138148a196e108d7a0622195%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637154215643087685&sdata=s49tzehMQLxYbqwEZQfviBCx5PoCqWpv3vke3h3AH2g%3D&reserved=0>:
+
+Data can also be horizontally partitioned across multiple nodes, such as with [sharding](https://docs.microsoft.com/azure/sql-database/sql-database-elastic-scale-introduction). But, sharding dramatically increases operational overhead by spitting data across many pieces that cannot easily communicate. It can be costly and time consuming to manage. It can end up impacting performance, table joins, and referential integrity.
+
+If data replicas were to lose network connectivity in a "highly consistent" relational database cluster, you wouldn't be able to write to the database. The system would reject the write operation as it can't replicate that change to the other data replica. Every data replica has to update before the transaction can complete.
+
+NoSQL databases typically support high availability and partition tolerance. They scale out horizontally, often across commodity servers. This approach provides tremendous availability, both within and across geographical regions at a reduced cost. You partition and replicate data across these machines, or nodes, providing redundancy and fault tolerance. The downside is consistency. A change to data on one NoSQL node can take some time to propagate to other nodes. Typically, a NoSQL database node will provide an immediate response to a query - even if the data that is presented is stale and hasn't updated yet.
+
+If data replicas were to lose connectivity in a "highly available" NoSQL database cluster, you could still complete a write operation to the database. The database cluster would allow the write operation and update each data replica as it becomes available.
+
+This kind of result is known as eventual consistency, a characteristic of distributed data systems where ACID transactions aren't supported. It's a brief delay between the update of a data item and time that it takes to propagate that update to each of the replica nodes. Under normal conditions, the lag is typically short, but can increase when problems arise. For example, what would happen if you were to update a product item in a NoSQL database in the United States and query that same data item from a replica node in Europe? You would receive the earlier product information, until the cluster updates the European node with the product change. By immediately returning a query result and not waiting for all replica nodes to update, you gain enormous scale and volume, but with the possibility of presenting older data.
+
+High availability and massive scalability are often more critical to the business than strong consistency. Developers can implement techniques and patterns such as Sagas, CQRS, and asynchronous messaging to embrace eventual consistency.
+
+> Nowadays, care must be taken when conidering the CAP theorem constraints. A new type of database, called NewSQL, has emerged which extends the relational database engine to support both horizontal scalability and the scalable performance of NoSQL systems.
+
+## Considerations for Relational vs. NoSQL systems
⬇️ Suggested change
-## Considerations for Relational vs. NoSQL systems
+## Considerations for relational vs. NoSQL systems
________________________________
In docs/architecture/cloud-native/relational-vs-nosql-data.md<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdotnet%2Fdocs%2Fpull%2F15353%23discussion_r370420109&data=02%7C01%7Crobvet%40microsoft.com%7Ccd19a7d2138148a196e108d7a0622195%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637154215643097675&sdata=S9Y%2BdrLovF8FwKMyhjJgAlr%2B8C6HyWZMYdvy1%2BeE7YY%3D&reserved=0>:
+| Your application will be deployed to commodity hardware, such as with public clouds | Your application will be deployed to large, high-end hardware |
+|||
+
+In the next sections, we'll explore the options available in the Azure cloud for storing and managing your cloud-native data.
+
+## Database as a Service
+
+To start, you could provision an Azure virtual machine and install your database of choice for each service. While you'd have full control over the environment, you'd forgo many built-in features of the cloud platform. You'd also be responsible for managing the virtual machine and database for each service. This approach could quickly become time-consuming and expensive.
+
+Instead, cloud-native applications favor data services exposed as a [Database as a Service (DBaaS)](https://www.stratoscale.com/blog/dbaas/what-is-database-as-a-service/). Fully managed by a cloud vendor, these services provide built-in security, scalability, and monitoring. Instead of owning the service, you simply consume it as a [backing service](./definition.md#backing-services). The provider operates the resource at scale and bears the responsibility for performance and maintenance.
+
+They can be configured across cloud availability zones and regions to achieve high availability. They all support just-in-time capacity and a pay-as-you-go model. Azure features different kinds of managed data service options, each with specific benefits.
+
+We'll first look at relational DBaaS services available in Azure. You'll see that Microsoft's flagship SQL Server database is available along with several open-source options. Then, we'll talk about the NoSQL data services in Azure.
+
+## Azure Relational Databases
⬇️ Suggested change
-## Azure Relational Databases
+## Azure relational databases
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdotnet%2Fdocs%2Fpull%2F15353%3Femail_source%3Dnotifications%26email_token%3DABFIQYE3XXVDULFCSSJAH2TQ7IW7TA5CNFSM4JDUA7S2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCS4VFII%23pullrequestreview-347689633&data=02%7C01%7Crobvet%40microsoft.com%7Ccd19a7d2138148a196e108d7a0622195%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637154215643097675&sdata=mDd56QWAY0nCEMTncTZkxiBUfkoNewgLpjMIzeIZKfY%3D&reserved=0>, or unsubscribe<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABFIQYBRJMXFVO2AQDTJN53Q7IW7TANCNFSM4JDUA7SQ&data=02%7C01%7Crobvet%40microsoft.com%7Ccd19a7d2138148a196e108d7a0622195%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637154215643107671&sdata=gBzseMaCJsJXSHn7rpExKLuLmIp8NKN8OSlX%2FmNpIfw%3D&reserved=0>.
|
Cloud-Native Book
Chapter 5 (data) Updates