Skip to content

Commit cc8104b

Browse files
Merge pull request #216006 from seesharprun/patch-1
Cosmos DB | Update choose-api.md
2 parents 76d34be + 08405a2 commit cc8104b

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

articles/cosmos-db/choose-api.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ Azure Cosmos DB is a fully managed NoSQL database for modern app development. Az
2222
2323
## APIs in Azure Cosmos DB
2424

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.
2626

2727
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.
2828

2929
## Considerations when choosing an API
3030

3131
API for NoSQL is native to Azure Cosmos DB.
3232

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:
3434

35-
* If you have existing MongoDB, Cassandra, or Gremlin applications
35+
* If you have existing MongoDB, PostgreSQL Cassandra, or Gremlin applications
3636
* If you don't want to rewrite your entire data access layer
3737
* If you want to use the open-source developer ecosystem, client-drivers, expertise, and resources for your database
3838
* 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
5050

5151
:::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":::
5252

53+
> [!NOTE]
54+
> This decision tree will be updated soon to include API for PostgreSQL.
55+
5356
## <a id="coresql-api"></a> API for NoSQL
5457

5558
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
7174

7275
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.
7376

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+
7485
## <a id="cassandra-api"></a> API for Apache Cassandra
7586

7687
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
98109

99110
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.
100111

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-
109112
## Capacity planning when migrating data
110113

111114
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
117120

118121
* [Get started with Azure Cosmos DB for NoSQL](nosql/quickstart-dotnet.md)
119122
* [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)
120124
* [Get started with Azure Cosmos DB for Cassandra](cassandra/manage-data-dotnet.md)
121125
* [Get started with Azure Cosmos DB for Gremlin](gremlin/quickstart-dotnet.md)
122126
* [Get started with Azure Cosmos DB for Table](table/quickstart-dotnet.md)

0 commit comments

Comments
 (0)