Skip to content

Commit 67f352d

Browse files
committed
edit pass: cassandra-faq
1 parent 67b88f5 commit 67f352d

File tree

1 file changed

+28
-26
lines changed

1 file changed

+28
-26
lines changed

articles/cosmos-db/cassandra-faq.md

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ ms.author: thvankra
2020
- There is no need to set **num_tokens** on each node in the cluster as in Apache Cassandra. Azure Cosmos DB fully manages nodes and token ranges.
2121
- The Cassandra API is fully managed. You don't need the **nodetool** commands, such as repair and decommission, that are used in Apache Cassandra.
2222

23-
## What protocol version does the Cassandra API support?
23+
## Other frequently asked questions
24+
25+
### What protocol version does the Cassandra API support?
2426

2527
The Cassandra API for Azure Cosmos DB supports CQL version 3.x. Its CQL compatibility is based on the public [Apache Cassandra GitHub repository](https://github.com/apache/cassandra/blob/trunk/doc/cql3/CQL.textile). If you have feedback about supporting other protocols, let us know via [user voice feedback](https://feedback.azure.com/forums/263030-azure-cosmos-db) or send email to [[email protected]](mailto:[email protected]).
2628

27-
## Why is choosing throughput for a table a requirement?
29+
### Why is choosing throughput for a table a requirement?
2830

2931
Azure Cosmos DB sets the default throughput for your container based on where you create the table from: Azure portal or CQL.
3032

@@ -33,7 +35,7 @@ You can [elastically change throughput](manage-scale-cassandra.md) to benefit fr
3335

3436
The throughput concept is explained in the [Request Units in Azure Cosmos DB](request-units.md) article. The throughput for a table is equally distributed across the underlying physical partitions.
3537

36-
## What is the throughput of a table that's created through CQL?
38+
### What is the throughput of a table that's created through CQL?
3739

3840
Azure Cosmos DB uses Request Units per second (RU/s) as a currency for providing throughput. Tables created through CQL have 400 RU. You can change the RU from the Azure portal.
3941

@@ -53,7 +55,7 @@ outgoingPayload["cosmosdb_provisioned_throughput"] = Encoding.UTF8.GetBytes(prov
5355
simpleStatement.SetOutgoingPayload(outgoingPayload);
5456
```
5557

56-
## What happens when throughput is used up?
58+
### What happens when throughput is used up?
5759

5860
Azure Cosmos DB provides guarantees for performance and latency, with upper bounds on operations. These guarantees are possible when the engine can enforce governance on the tenant's operations. Setting throughput ensures that you get the guaranteed throughput and latency, because the platform reserves this capacity and guarantees operation success.
5961

@@ -67,91 +69,91 @@ Metrics are available that show you how throughput is used over hours, over days
6769

6870
Diagnostic logs are explained in the [Azure Cosmos DB diagnostic logging](logging.md) article.
6971

70-
## Does the primary key map to the partition key concept of Azure Cosmos DB?
72+
### Does the primary key map to the partition key concept of Azure Cosmos DB?
7173

7274
Yes, the partition key is used to place the entity in the right location. In Azure Cosmos DB, it's used to find the right logical partition that's stored on a physical partition. The partitioning concept is well explained in the [Partition and scale in Azure Cosmos DB](partition-data.md) article. The essential takeaway here is that a logical partition shouldn't go over the 10-GB limit.
7375

74-
## What happens when I get a notification that a partition is full?
76+
### What happens when I get a notification that a partition is full?
7577

7678
Azure Cosmos DB is a system based on service-level agreement (SLA). It provides unlimited scale, with guarantees for latency, throughput, availability, and consistency. This unlimited storage is based on horizontal scale-out of data, using partitioning as the key concept. The partitioning concept is well explained in the [Partition and scale in Azure Cosmos DB](partition-data.md) article.
7779

7880
You should adhere to the 10-GB limit on the number of entities or items per logical partition. To ensure that your application scales well, we recommend that you *not* create a hot partition by storing all information in one partition and querying it. This error can come only if your data is skewed: that is, you have lot of data for one partition key (more than 10 GB). You can find the distribution of data by using the storage portal. The way to fix this error is to re-create the table and choose a granular primary (partition key), which allows better distribution of data.
7981

80-
## Can I use the API as a key value store with millions or billions of partition keys?
82+
### Can I use the API as a key value store with millions or billions of partition keys?
8183

8284
Azure Cosmos DB can store unlimited data by scaling out the storage. This storage is independent of the throughput. Yes, you can always use the Cassandra API just to store and retrieve keys and values by specifying the right primary/partition key. These individual keys get their own logical partition and sit atop a physical partition without issues.
8385

84-
## Can I create more than one table with the API?
86+
### Can I create more than one table with the API?
8587

8688
Yes, it's possible to create more than one table with the Cassandra API. Each of those tables is treated as unit for throughput and storage.
8789

88-
## Can I create more than one table in succession?
90+
### Can I create more than one table in succession?
8991

9092
Azure Cosmos DB is resource-governed system for both data and control plane activities. Containers, like collections and tables, are runtime entities that are provisioned for a given throughput capacity. The creation of these containers in quick succession isn't an expected activity and might be throttled. If you have tests that drop or create tables immediately, try to space them out.
9193

92-
## What is the maximum number of tables that I can create?
94+
### What is the maximum number of tables that I can create?
9395

9496
There's no physical limit on the number of tables. If you have a large number of tables (where the total steady size goes over 10 TB of data) that need to be created, not the usual tens or hundreds, send email to [[email protected]](mailto:[email protected]).
9597

96-
## What is the maximum number of keyspaces that I can create?
98+
### What is the maximum number of keyspaces that I can create?
9799

98100
There's no physical limit on the number of keyspaces because they're metadata containers. If you have a large number of keyspaces, send email to [[email protected]](mailto:[email protected]).
99101

100-
## Can I bring in a lot of data after starting from a normal table?
102+
### Can I bring in a lot of data after starting from a normal table?
101103

102104
Yes. Assuming uniformly distributed partitions, the storage capacity is automatically managed and increases as you push in more data. So you can confidently import as much data as you need without managing and provisioning nodes and more. But if you're anticipating a lot of immediate data growth, it makes more sense to directly [provision for the anticipated throughput](set-throughput.md) rather than starting lower and increasing it immediately.
103105

104-
## Can I use YAML file settings to configure API behavior?
106+
### Can I use YAML file settings to configure API behavior?
105107

106108
The Cassandra API for Azure Cosmos DB provides protocol-level compatibility for executing operations. It hides away the complexity of management, monitoring, and configuration. As a developer/user, you don't need to worry about availability, tombstones, key cache, row cache, bloom filter, and a multitude of other settings. The Cassandra API focuses on providing the read and write performance that you need without the overhead of configuration and management.
107109

108-
## Will the API support node addition, cluster status, and node status commands?
110+
### Will the API support node addition, cluster status, and node status commands?
109111

110112
The Cassandra API simplifies capacity planning and responding to the elasticity demands for throughput and storage. With Azure Cosmos DB, you provision the throughput that you need. Then you can scale it up and down any number of times through the day, without worrying about adding, deleting, or managing nodes. You don't need to use tools for node and cluster management.
111113

112-
## What happens with various configuration settings for keyspace creation like simple/network?
114+
### What happens with various configuration settings for keyspace creation like simple/network?
113115

114116
Azure Cosmos DB provides global distribution out of the box for availability and low-latency reasons. You don't need to set up replicas or other things. Writes are always durably quorum committed in any region where you write, while providing performance guarantees.
115117

116-
## What happens with various settings for table metadata?
118+
### What happens with various settings for table metadata?
117119

118120
Azure Cosmos DB provides performance guarantees for reads, writes, and throughput. So you don't need to worry about touching any of the configuration settings and accidentally manipulating them. Those settings include bloom filter, caching, read repair chance, gc_grace, and compression memtable_flush_period.
119121

120-
## Is time-to-live supported for Cassandra tables?
122+
### Is time-to-live supported for Cassandra tables?
121123

122124
Yes, TTL is supported.
123125

124-
## How can I monitor infrastructure along with throughput?
126+
### How can I monitor infrastructure along with throughput?
125127

126128
Azure Cosmos DB is a platform service that helps you increase productivity and not worry about managing and monitoring infrastructure. For example, you don't need to monitor node status, replica status, gc, and OS parameters earlier with various tools. You just need to take care of throughput that's available in portal metrics to see if you're getting throttled, and then increase or decrease that throughput. You can:
127129

128130
- Monitor [SLAs](monitor-accounts.md)
129131
- Use [metrics](use-metrics.md)
130132
- Use [diagnostic logs](logging.md)
131133

132-
## Which client SDKs can work with the API?
134+
### Which client SDKs can work with the API?
133135

134136
The Apache Cassandra SDK's client drivers that use CQLv3 were used for client programs. If you have other drivers that you use or if you're facing issues, send mail to [[email protected]](mailto:[email protected]).
135137

136-
## Are composite partition keys supported?
138+
### Are composite partition keys supported?
137139

138140
Yes, you can use regular syntax to create composite partition keys.
139141

140-
## Can I use sstableloader for data loading?
142+
### Can I use sstableloader for data loading?
141143

142144
No, sstableloader isn't supported.
143145

144-
## Can I pair an on-premises Apache Cassandra cluster with the API?
146+
### Can I pair an on-premises Apache Cassandra cluster with the API?
145147

146148
At present, Azure Cosmos DB has an optimized experience for a cloud environment without the overhead of operations. If you require pairing, send mail to [[email protected]](mailto:[email protected]) with a description of your scenario. We're working on an offering to help pair the on-premises or cloud Cassandra cluster with the Cassandra API for Azure Cosmos DB.
147149

148-
## Does the API provide full backups?
150+
### Does the API provide full backups?
149151

150152
Azure Cosmos DB provides two free full backups taken at four-hour intervals across all APIs. So you don't need to set up a backup schedule.
151153

152154
If you want to modify retention and frequency, send email to [[email protected]](mailto:[email protected]) or raise a support case. Information about backup capability is provided in the [Automatic online backup and restore with Azure Cosmos DB](../synapse-analytics/sql-data-warehouse/backup-and-restore.md) article.
153155

154-
## How does the API account handle failover if a region goes down?
156+
### How does the API account handle failover if a region goes down?
155157

156158
The Cassandra API borrows from the globally distributed platform of Azure Cosmos DB. To ensure that your application can tolerate datacenter downtime, enable at least one more region for the account in the Azure portal. For more information, see [High availability with Azure Cosmos DB](high-availability.md).
157159

@@ -167,12 +169,12 @@ No. The Cassandra API supports [secondary indexes](cassandra-secondary-index.md)
167169
Yes, this is supported. You can find details on how to enable this in the [Use the Azure Cosmos Emulator for local development and testing](local-emulator.md#cassandra-api) article.
168170

169171

170-
## How can I migrate data from Apache Cassandra clusters to Azure Cosmos DB?
172+
### How can I migrate data from Apache Cassandra clusters to Azure Cosmos DB?
171173

172174
You can read about migration options in the [Migrate your data to Cassandra API account in Azure Cosmos DB](cassandra-import-data.md) tutorial.
173175

174176

175-
## Where can I give feedback on API features?
177+
### Where can I give feedback on API features?
176178

177179
Provide feedback via [user voice feedback](https://feedback.azure.com/forums/263030-azure-cosmos-db).
178180

0 commit comments

Comments
 (0)