Skip to content

Commit d8dd5ff

Browse files
Merge pull request #256288 from seesharprun/cosmos-broken-links
Cosmos DB | Fix broken links
2 parents 8b854da + c346399 commit d8dd5ff

5 files changed

Lines changed: 22 additions & 25 deletions

File tree

articles/cosmos-db/cassandra/support.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ Azure Cosmos DB supports the following database commands on API for Cassandra ac
150150
| `COMPACT STORAGE` | N/A (PaaS service) |
151151
| `CREATE AGGREGATE` | No |
152152
| `CREATE CUSTOM INDEX (SASI)` | No |
153-
| `CREATE INDEX` | Yes (including [named indexes](secondary-indexing.md), and cluster key index is currently in [private preview](https://devblogs.microsoft.com/cosmosdb/now-in-private-preview-cluster-key-index-support-for-azure-cosmos-db-cassandra-api/) but full FROZEN collection is not supported) |
153+
| `CREATE INDEX` | Yes (including [named indexes](secondary-indexing.md) but full FROZEN collection is not supported) |
154154
| `CREATE FUNCTION` | No |
155155
| `CREATE KEYSPACE` (replication settings ignored) | Yes |
156156
| `CREATE MATERIALIZED VIEW` | Yes |

articles/cosmos-db/nosql/migrate-hbase-to-cosmos-db.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ The key differences between the data structure of Azure Cosmos DB and HBase are
7979
1000 column=Personal:Phone, timestamp=1611408732385, value=1-425-000-0001
8080
```
8181

82-
* In Azure Cosmos DB for NoSQL, the JSON object represents the data format. The partition key resides in a field in the document and sets which field is the partition key for the collection. Azure Cosmos DB does not have the concept of timestamp used for column family or version. As highlighted previously, it has change feed support through which one can track/record changes performed on a container. The following is an example of a document.
82+
* In Azure Cosmos DB for NoSQL, the JSON object represents the data format. The partition key resides in a field in the document and sets which field is the partition key for the collection. Azure Cosmos DB doesn't have the concept of timestamp used for column family or version. As highlighted previously, it has change feed support through which one can track/record changes performed on a container. The following is an example of a document.
8383

8484
```json
8585
{
@@ -118,7 +118,7 @@ Azure Cosmos DB is a PaaS offering from Microsoft and underlying infrastructure
118118

119119
To estimate RUs consumed by your workload, consider the following [factors](../request-units.md#request-unit-considerations):
120120

121-
There is a [capacity calculator](estimate-ru-with-capacity-planner.md) available to assist with sizing exercise for RUs.
121+
There's a [capacity calculator](estimate-ru-with-capacity-planner.md) available to assist with sizing exercise for RUs.
122122

123123
You can also use [autoscaling provisioning throughput](../provision-throughput-autoscale.md) in Azure Cosmos DB to automatically and instantly scale your database or container throughput (RU/sec). Throughput is scaled based on usage without impacting workload availability, latency, throughput, or performance.
124124

@@ -130,17 +130,17 @@ HBase sorts data according to RowKey. The data is then partitioned into regions
130130
**Azure Cosmos DB**
131131
Azure Cosmos DB uses [partitioning](../partitioning-overview.md) to scale individual containers in the database. Partitioning divides the items in a container into specific subsets called "logical partitions". Logical partitions are formed based on the value of the "partition key" associated with each item in the container. All items in a logical partition have the same partition key value. Each logical partition can hold up to 20 GB of data.
132132

133-
Physical partitions each contain a replica of your data and an instance of the Azure Cosmos DB database engine. This structure makes your data durable and highly available and throughput is divided equally amongst the local physical partitions. Physical partitions are automatically created and configured, and it's not possible to control their size, location, or which logical partitions they contain. Logical partitions are not split between physical partitions.
133+
Physical partitions each contain a replica of your data and an instance of the Azure Cosmos DB database engine. This structure makes your data durable and highly available and throughput is divided equally amongst the local physical partitions. Physical partitions are automatically created and configured, and it's not possible to control their size, location, or which logical partitions they contain. Logical partitions aren't split between physical partitions.
134134

135-
As with HBase RowKey, partition key design is important for Azure Cosmos DB. HBase's Row Key works by sorting data and storing continuous data, and Azure Cosmos DB's Partition Key is a different mechanism because it hash-distributes data. Assuming your application using HBase is optimized for data access patterns to HBase, using the same RowKey for the partition Key will not give good performance results. Given that it's sorted data on HBase, the [Azure Cosmos DB composite index](../index-policy.md#composite-indexes) may be useful. It is required if you want to use the ORDER BY clause in more than one field. You can also improve the performance of many equal and range queries by defining a composite index.
135+
As with HBase RowKey, partition key design is important for Azure Cosmos DB. HBase's Row Key works by sorting data and storing continuous data, and Azure Cosmos DB's Partition Key is a different mechanism because it hash-distributes data. Assuming your application using HBase is optimized for data access patterns to HBase, using the same RowKey for the partition Key won't give good performance results. Given that it's sorted data on HBase, the [Azure Cosmos DB composite index](../index-policy.md#composite-indexes) may be useful. It's required if you want to use the ORDER BY clause in more than one field. You can also improve the performance of many equal and range queries by defining a composite index.
136136

137137
### Availability
138138

139139
**HBase**
140140
HBase consists of Master; Region Server; and ZooKeeper. High availability in a single cluster can be achieved by making each component redundant. When configuring geo-redundancy, one can deploy HBase clusters across different physical data centers and use replication to keep multiple clusters in-sync.
141141

142142
**Azure Cosmos DB**
143-
Azure Cosmos DB does not require any configuration such as cluster component redundancy. It provides a comprehensive SLA for high availability, consistency, and latency. Please see [SLA for Azure Cosmos DB](https://azure.microsoft.com/support/legal/sla/cosmos-db/v1_3/) for more detail.
143+
Azure Cosmos DB doesn't require any configuration such as cluster component redundancy. It provides a comprehensive SLA for high availability, consistency, and latency. See [SLA for Azure Cosmos DB](https://azure.microsoft.com/support/legal/sla/cosmos-db/v1_3/) for more detail.
144144

145145
### Data reliability
146146

@@ -162,14 +162,14 @@ Example of downstream dependencies could be applications that read data from HBa
162162

163163
* The RPO and RTO for HBase deployment on-premises.
164164

165-
### Offline Vs online migration
165+
### Offline and online migration
166166

167167
For successful data migration, it is important to understand the characteristics of the business that uses the database and decide how to do it. Select offline migration if you can completely shut down the system, perform data migration, and restart the system at the destination. Also, if your database is always busy and you can't afford a long outage, consider migrating online.
168168

169169
> [!NOTE]
170170
> This document covers only offline migration.
171171
172-
When performing offline data migration, it depends on the version of HBase you are currently running and the tools available. See the [Data Migration](#migrate-your-data) section for more details.
172+
When performing offline data migration, it depends on the version of HBase you're currently running and the tools available. See the [Data Migration](#migrate-your-data) section for more details.
173173

174174
### Performance considerations
175175

@@ -302,7 +302,7 @@ master coprocessors: []
302302

303303
You can get useful sizing information such as the size of heap memory, the number of regions, the number of requests as the status of the cluster, and the size of the data in compressed/uncompressed as the status of the table.
304304

305-
If you are using Apache Phoenix on HBase cluster, you need to collect data from Phoenix as well.
305+
If you're using Apache Phoenix on HBase cluster, you need to collect data from Phoenix as well.
306306

307307
* Migration target table
308308
* Table schemas
@@ -349,7 +349,7 @@ There are various methods to migrate data offline, but here we will introduce ho
349349
| --------- | -------- | ------- |
350350
| Azure Data Factory | HBase < 2 | Easy to set up. Suitable for large datasets. Doesn’t support HBase 2 or later. |
351351
| Apache Spark | All versions | Support all versions of HBase. Suitable for large datasets. Spark setup required. |
352-
| Custom tool with Azure Cosmos DB bulk executor library | All versions | Most flexible to create custom data migration tools using libraries. Requires more effort to set up. |
352+
| Custom tool with Azure Cosmos DB bulk executor library | All versions | Most flexible to create custom data migration tools using libraries. Requires more effort to setup. |
353353

354354
The following flowchart uses some conditions to reach the available data migration methods.
355355
:::image type="content" source="./media/migrate-hbase-to-cosmos-db/flowchart-hbase-migration-tools.png" alt-text="Flowchart for options to migrate data to Azure Cosmos DB.":::
@@ -468,7 +468,7 @@ These HBase's sample codes are based on those described in [HBase's official doc
468468

469469
The code for Azure Cosmos DB presented here is based on the [Azure Cosmos DB for NoSQL: Java SDK v4 examples](samples-java.md) documentation. You can access the full code example from the documentation.
470470

471-
The mappings for code migration are shown here, but the HBase RowKeys and Azure Cosmos DB Partition Keys used in these examples are not always well designed. Design according to the actual data model of the migration source.
471+
The mappings for code migration are shown here, but the HBase RowKeys and Azure Cosmos DB Partition Keys used in these examples aren't always well designed. Design according to the actual data model of the migration source.
472472

473473
### Establish connection
474474

@@ -560,7 +560,7 @@ UPSERT INTO FamilyTable (id, lastName) VALUES (1, ‘Witherspoon’);
560560

561561
**Azure Cosmos DB**
562562

563-
Azure Cosmos DB provides you type safety via data model. We use data model named ‘Family’.
563+
Azure Cosmos DB provides type safety via data model. We use data model named ‘Family’.
564564

565565
```java
566566
public class Family {
@@ -658,7 +658,7 @@ ON DUPLICATE KEY UPDATE id = "1", lastName = "Whiterspoon";
658658

659659
**Azure Cosmos DB**
660660

661-
In Azure Cosmos DB, updates are treated as Upsert operations. That is, if the document does not exist, it will be inserted.
661+
In Azure Cosmos DB, updates are treated as Upsert operations. That is, if the document doesn't exist, it will be inserted.
662662

663663
```java
664664
// Replace existing document with new modified document (contingent on modification).
@@ -764,7 +764,7 @@ HBase clusters may be used with HBase workloads and MapReduce, Hive, Spark, and
764764

765765
### Server-side programming
766766

767-
HBase offers several server-side programming features. If you are using these features, you will also need to migrate their processing.
767+
HBase offers several server-side programming features. If you're using these features, you will also need to migrate their processing.
768768

769769
**HBase**
770770

@@ -780,7 +780,7 @@ HBase offers several server-side programming features. If you are using these fe
780780
* Observer hooks specific operations and events. This is a function for adding arbitrary processing. This is a feature similar to RDBMS triggers.
781781

782782
* Endpoint
783-
* Endpoint is a feature for extending HBase RPC. It is a function similar to an RDBMS stored procedure.
783+
* Endpoint is a feature for extending HBase RPC. It's a function similar to an RDBMS stored procedure.
784784

785785
**Azure Cosmos DB**
786786

@@ -811,7 +811,7 @@ Server-side programming mappings
811811
812812
## Security
813813

814-
Data security is a shared responsibility of the customer and the database provider. For on-premises solutions, customers have to provide everything from endpoint protection to physical hardware security, which is not an easy task. If you choose a PaaS cloud database provider such as Azure Cosmos DB, customer involvement will be reduced. For Microsoft's security shared responsibility model, see [Shared Responsibilities for Cloud Computing](https://gallery.technet.microsoft.com/Shared-Responsibilities-81d0ff91). Azure Cosmos DB runs on the Azure platform, so it can be enhanced in a different way than HBase. Azure Cosmos DB does not require any extra components to be installed for security. We recommend that you consider migrating your database system security implementation using the following checklist:
814+
Data security is a shared responsibility of the customer and the database provider. For on-premises solutions, customers have to provide everything from endpoint protection to physical hardware security, which is not an easy task. If you choose a PaaS cloud database provider such as Azure Cosmos DB, customer involvement will be reduced. Azure Cosmos DB runs on the Azure platform, so it can be enhanced in a different way than HBase. Azure Cosmos DB doesn't require any extra components to be installed for security. We recommend that you consider migrating your database system security implementation using the following checklist:
815815

816816
| **Security control** | **HBase** | **Azure Cosmos DB** |
817817
| -------- | ----- | ------- |
@@ -820,8 +820,8 @@ Data security is a shared responsibility of the customer and the database provid
820820
| Ability to replicate data globally for regional failures | Make a database replica in a remote data center using HBase's replication. | Azure Cosmos DB performs configuration-free global distribution and allows you to replicate data to data centers around the world in Azure with the select of a button. In terms of security, global replication ensures that your data is protected from local failures. |
821821
| Ability to fail over from one data center to another | You need to implement failover yourself. | If you're replicating data to multiple data centers and the region's data center goes offline, Azure Cosmos DB automatically rolls over the operation. |
822822
| Local data replication within a data center | The HDFS mechanism allows you to have multiple replicas across nodes within a single file system. | Azure Cosmos DB automatically replicates data to maintain high availability, even within a single data center. You can choose the consistency level yourself. |
823-
| Automatic data backups | There is no automatic backup function. You need to implement data backup yourself. | Azure Cosmos DB is backed up regularly and stored in the geo redundant storage. |
824-
| Protect and isolate sensitive data | For example, if you are using Apache Ranger, you can use Ranger policy to apply the policy to the table. | You can separate personal and other sensitive data into specific containers and read / write, or limit read-only access to specific users. |
823+
| Automatic data backups | There's no automatic backup function. You need to implement data backup yourself. | Azure Cosmos DB is backed up regularly and stored in the geo redundant storage. |
824+
| Protect and isolate sensitive data | For example, if you're using Apache Ranger, you can use Ranger policy to apply the policy to the table. | You can separate personal and other sensitive data into specific containers and read / write, or limit read-only access to specific users. |
825825
| Monitoring for attacks | It needs to be implemented using third party products. | By using [audit logging and activity logs](../monitor.md), you can monitor your account for normal and abnormal activity. |
826826
| Responding to attacks | It needs to be implemented using third party products. | When you contact Azure support and report a potential attack, a five-step incident response process begins. |
827827
| Ability to geo-fence data to adhere to data governance restrictions | You need to check the restrictions of each country/region and implement it yourself. | Guarantees data governance for sovereign regions (Germany, China, US Gov, etc.). |
@@ -846,7 +846,7 @@ Also, see [Azure Cosmos DB metrics and log types](../monitor-reference.md) that
846846

847847
There are several ways to get a backup of HBase. For example, Snapshot, Export, CopyTable, Offline backup of HDFS data, and other custom backups.
848848

849-
Azure Cosmos DB automatically backs up data at periodic intervals, which does not affect the performance or availability of database operations. Backups are stored in Azure storage and can be used to recover data if needed. There are two types of Azure Cosmos DB backups:
849+
Azure Cosmos DB automatically backs up data at periodic intervals, which doesn't affect the performance or availability of database operations. Backups are stored in Azure storage and can be used to recover data if needed. There are two types of Azure Cosmos DB backups:
850850

851851
* [Periodic backup](../periodic-backup-restore-introduction.md)
852852

articles/cosmos-db/nosql/sdk-java-spring-data-v2.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,9 @@ You can use Spring Data Azure Cosmos DB in your applications hosted in [Azure Sp
5252
|**API documentation** | [Spring Data Azure Cosmos DB reference documentation]() |
5353
|**Contribute to the SDK** | [Spring Data Azure Cosmos DB repo on GitHub](https://github.com/microsoft/spring-data-cosmosdb) |
5454
|**Spring Boot Starter**| [Azure Cosmos DB Spring Boot Starter client library for Java](https://github.com/MicrosoftDocs/azure-dev-docs/blob/master/articles/java/spring-framework/configure-spring-boot-starter-java-app-with-cosmos-db.md) |
55-
|**Spring TODO app sample with Azure Cosmos DB**| [End-to-end Java Experience in App Service Linux (Part 2)](https://github.com/Azure-Samples/e2e-java-experience-in-app-service-linux-part-2) |
5655
|**Developer's guide** | [Spring Data Azure Cosmos DB developer's guide](/azure/developer/java/spring-framework/how-to-guides-spring-data-cosmosdb) |
5756
|**Using Starter** | [How to use Spring Boot Starter with the Azure Cosmos DB for NoSQL](/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-cosmos-db) <br> [GitHub repo for Azure Cosmos DB Spring Boot Starter](https://github.com/MicrosoftDocs/azure-dev-docs/blob/master/articles/java/spring-framework/configure-spring-boot-starter-java-app-with-cosmos-db.md) |
58-
|**Sample with Azure App Service** | [How to use Spring and Azure Cosmos DB with App Service on Linux](/azure/developer/java/spring-framework/configure-spring-app-with-cosmos-db-on-app-service-linux) <br> [TODO app sample](https://github.com/Azure-Samples/e2e-java-experience-in-app-service-linux-part-2.git) |
57+
|**Sample with Azure App Service** | [How to use Spring and Azure Cosmos DB with App Service on Linux](/azure/developer/java/spring-framework/configure-spring-app-with-cosmos-db-on-app-service-linux) |
5958

6059
## Release history
6160

0 commit comments

Comments
 (0)