You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/cosmos-db/choose-api.md
+15-11Lines changed: 15 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,17 +22,17 @@ Azure Cosmos DB is a fully managed NoSQL database for modern app development. Az
22
22
23
23
## APIs in Azure Cosmos DB
24
24
25
-
Azure Cosmos DB offers multiple database APIs, which include NoSQL, MongoDB, Cassandra, Gremlin, and Table. By using these APIs, you can model real world data using documents, key-value, graph, and column-family data models. These APIs allow your applications to treat Azure Cosmos DB as if it were various other databases technologies, without the overhead of management, and scaling approaches. Azure Cosmos DB helps you to use the ecosystems, tools, and skills you already have for data modeling and querying with its various APIs.
25
+
Azure Cosmos DB offers multiple database APIs, which include NoSQL, MongoDB, PostgreSQL Cassandra, Gremlin, and Table. By using these APIs, you can model real world data using documents, key-value, graph, and column-family data models. These APIs allow your applications to treat Azure Cosmos DB as if it were various other databases technologies, without the overhead of management, and scaling approaches. Azure Cosmos DB helps you to use the ecosystems, tools, and skills you already have for data modeling and querying with its various APIs.
26
26
27
27
All the APIs offer automatic scaling of storage and throughput, flexibility, and performance guarantees. There's no one best API, and you may choose any one of the APIs to build your application. This article will help you choose an API based on your workload and team requirements.
28
28
29
29
## Considerations when choosing an API
30
30
31
31
API for NoSQL is native to Azure Cosmos DB.
32
32
33
-
API for MongoDB, Cassandra, Gremlin, and Table implement the wire protocol of open-source database engines. These APIs are best suited if the following conditions are true:
33
+
API for MongoDB, PostgreSQL, Cassandra, Gremlin, and Table implement the wire protocol of open-source database engines. These APIs are best suited if the following conditions are true:
34
34
35
-
* If you have existing MongoDB, Cassandra, or Gremlin applications
35
+
* If you have existing MongoDB, PostgreSQL Cassandra, or Gremlin applications
36
36
* If you don't want to rewrite your entire data access layer
37
37
* If you want to use the open-source developer ecosystem, client-drivers, expertise, and resources for your database
38
38
* If you want to use the Azure Cosmos DB core features such as:
@@ -50,6 +50,9 @@ Based on your workload, you must choose the API that fits your requirement. The
50
50
51
51
:::image type="content" source="./media/choose-api/choose-api-decision-tree.png" alt-text="Decision tree to choose an API in Azure Cosmos DB." lightbox="./media/choose-api/choose-api-decision-tree.png":::
52
52
53
+
> [!NOTE]
54
+
> This decision tree will be updated soon to include API for PostgreSQL.
55
+
53
56
## <aid="coresql-api"></a> API for NoSQL
54
57
55
58
The Azure Cosmos DB API for NoSQL stores data in document format. It offers the best end-to-end experience as we have full control over the interface, service, and the SDK client libraries. Any new feature that is rolled out to Azure Cosmos DB is first available on API for NoSQL accounts. NoSQL accounts provide support for querying items using the Structured Query Language (SQL) syntax, one of the most familiar and popular query languages to query JSON objects. To learn more, see the [Azure Cosmos DB API for NoSQL](/training/modules/intro-to-azure-cosmos-db-core-api/) training module and [getting started with SQL queries](nosql/query/getting-started.md) article.
@@ -71,6 +74,14 @@ The features that Azure Cosmos DB provides, that you don't have to compromise on
71
74
72
75
You can use your existing MongoDB apps with API for MongoDB by just changing the connection string. You can move any existing data using native MongoDB tools such as mongodump & mongorestore or using our Azure Database Migration tool. Tools, such as the MongoDB shell, [MongoDB Compass](mongodb/connect-using-compass.md), and [Robo3T](mongodb/connect-using-robomongo.md), can run queries and work with data as they do with native MongoDB. To learn more, see [API for MongoDB](mongodb/introduction.md) article.
73
76
77
+
## API for PostgreSQL
78
+
79
+
Azure Cosmos DB for PostgreSQL is a managed service for running PostgreSQL at any scale, with the [Citus open source](https://github.com/citusdata/citus) superpower of distributed tables. It stores data either on a single node, or distributed in a multi-node configuration.
80
+
81
+
Azure Cosmos DB for PostgreSQL is built on native PostgreSQL--rather than a PostgreSQL fork--and lets you choose any major database versions supported by the PostgreSQL community. It's ideal for starting on a single-node database with rich indexing, geospatial capabilities, and JSONB support. Later, if your performance needs grow, you can add nodes to the cluster with zero downtime.
82
+
83
+
If you’re looking for a managed open source relational database with high performance and geo-replication, Azure Cosmos DB for PostgreSQL is the recommended choice. To learn more, see the [Azure Cosmos DB for PostgreSQL introduction](postgresql/introduction.md).
84
+
74
85
## <aid="cassandra-api"></a> API for Apache Cassandra
75
86
76
87
The Azure Cosmos DB API for Cassandra stores data in column-oriented schema. Apache Cassandra offers a highly distributed, horizontally scaling approach to storing large volumes of data while offering a flexible approach to a column-oriented schema. API for Cassandra in Azure Cosmos DB aligns with this philosophy to approaching distributed NoSQL databases. This API for Cassandra is wire protocol compatible with native Apache Cassandra. You should consider API for Cassandra if you want to benefit from the elasticity and fully managed nature of Azure Cosmos DB and still use most of the native Apache Cassandra features, tools, and ecosystem. This fully managed nature means on API for Cassandra you don't need to manage the OS, Java VM, garbage collector, read/write performance, nodes, clusters, etc.
@@ -98,14 +109,6 @@ The Azure Cosmos DB API for Table stores data in key/value format. If you're cur
98
109
99
110
Applications written for Azure Table storage can migrate to the API for Table with little code changes and take advantage of premium capabilities. To learn more, see [API for Table](table/introduction.md) article.
100
111
101
-
## API for PostgreSQL
102
-
103
-
Azure Cosmos DB for PostgreSQL is a managed service for running PostgreSQL at any scale, with the [Citus open source](https://github.com/citusdata/citus) superpower of distributed tables. It stores data either on a single node, or distributed in a multi-node configuration.
104
-
105
-
Azure Cosmos DB for PostgreSQL is built on native PostgreSQL--rather than a PostgreSQL fork--and lets you choose any major database versions supported by the PostgreSQL community. It's ideal for starting on a single-node database with rich indexing, geospatial capabilities, and JSONB support. Later, if your performance needs grow, you can add nodes to the cluster with zero downtime.
106
-
107
-
If you’re looking for a managed open source relational database with high performance and geo-replication, Azure Cosmos DB for PostgreSQL is the recommended choice. To learn more, see the [Azure Cosmos DB for PostgreSQL introduction](postgresql/introduction.md).
108
-
109
112
## Capacity planning when migrating data
110
113
111
114
Trying to do capacity planning for a migration to Azure Cosmos DB for NoSQL or MongoDB from an existing database cluster? You can use information about your existing database cluster for capacity planning.
@@ -117,6 +120,7 @@ Trying to do capacity planning for a migration to Azure Cosmos DB for NoSQL or M
117
120
118
121
*[Get started with Azure Cosmos DB for NoSQL](nosql/quickstart-dotnet.md)
119
122
*[Get started with Azure Cosmos DB for MongoDB](mongodb/create-mongodb-nodejs.md)
123
+
*[Get started with Azure Cosmos DB for PostgreSQL](postgresql/quickstart-create-portal.md)
120
124
*[Get started with Azure Cosmos DB for Cassandra](cassandra/manage-data-dotnet.md)
121
125
*[Get started with Azure Cosmos DB for Gremlin](gremlin/quickstart-dotnet.md)
122
126
*[Get started with Azure Cosmos DB for Table](table/quickstart-dotnet.md)
0 commit comments