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/cassandra-faq.md
+28-26Lines changed: 28 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,11 +20,13 @@ ms.author: thvankra
20
20
- 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.
21
21
- The Cassandra API is fully managed. You don't need the **nodetool** commands, such as repair and decommission, that are used in Apache Cassandra.
22
22
23
-
## What protocol version does the Cassandra API support?
23
+
## Other frequently asked questions
24
+
25
+
### What protocol version does the Cassandra API support?
24
26
25
27
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]).
26
28
27
-
## Why is choosing throughput for a table a requirement?
29
+
###Why is choosing throughput for a table a requirement?
28
30
29
31
Azure Cosmos DB sets the default throughput for your container based on where you create the table from: Azure portal or CQL.
30
32
@@ -33,7 +35,7 @@ You can [elastically change throughput](manage-scale-cassandra.md) to benefit fr
33
35
34
36
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.
35
37
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?
37
39
38
40
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.
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.
59
61
@@ -67,91 +69,91 @@ Metrics are available that show you how throughput is used over hours, over days
67
69
68
70
Diagnostic logs are explained in the [Azure Cosmos DB diagnostic logging](logging.md) article.
69
71
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?
71
73
72
74
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.
73
75
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?
75
77
76
78
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.
77
79
78
80
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.
79
81
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?
81
83
82
84
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.
83
85
84
-
## Can I create more than one table with the API?
86
+
###Can I create more than one table with the API?
85
87
86
88
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.
87
89
88
-
## Can I create more than one table in succession?
90
+
###Can I create more than one table in succession?
89
91
90
92
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.
91
93
92
-
## What is the maximum number of tables that I can create?
94
+
###What is the maximum number of tables that I can create?
93
95
94
96
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]).
95
97
96
-
## What is the maximum number of keyspaces that I can create?
98
+
###What is the maximum number of keyspaces that I can create?
97
99
98
100
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]).
99
101
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?
101
103
102
104
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.
103
105
104
-
## Can I use YAML file settings to configure API behavior?
106
+
###Can I use YAML file settings to configure API behavior?
105
107
106
108
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.
107
109
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?
109
111
110
112
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.
111
113
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?
113
115
114
116
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.
115
117
116
-
## What happens with various settings for table metadata?
118
+
###What happens with various settings for table metadata?
117
119
118
120
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.
119
121
120
-
## Is time-to-live supported for Cassandra tables?
122
+
###Is time-to-live supported for Cassandra tables?
121
123
122
124
Yes, TTL is supported.
123
125
124
-
## How can I monitor infrastructure along with throughput?
126
+
###How can I monitor infrastructure along with throughput?
125
127
126
128
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:
127
129
128
130
- Monitor [SLAs](monitor-accounts.md)
129
131
- Use [metrics](use-metrics.md)
130
132
- Use [diagnostic logs](logging.md)
131
133
132
-
## Which client SDKs can work with the API?
134
+
###Which client SDKs can work with the API?
133
135
134
136
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]).
135
137
136
-
## Are composite partition keys supported?
138
+
###Are composite partition keys supported?
137
139
138
140
Yes, you can use regular syntax to create composite partition keys.
139
141
140
-
## Can I use sstableloader for data loading?
142
+
###Can I use sstableloader for data loading?
141
143
142
144
No, sstableloader isn't supported.
143
145
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?
145
147
146
148
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.
147
149
148
-
## Does the API provide full backups?
150
+
###Does the API provide full backups?
149
151
150
152
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.
151
153
152
154
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.
153
155
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?
155
157
156
158
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).
157
159
@@ -167,12 +169,12 @@ No. The Cassandra API supports [secondary indexes](cassandra-secondary-index.md)
167
169
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.
168
170
169
171
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?
171
173
172
174
You can read about migration options in the [Migrate your data to Cassandra API account in Azure Cosmos DB](cassandra-import-data.md) tutorial.
173
175
174
176
175
-
## Where can I give feedback on API features?
177
+
###Where can I give feedback on API features?
176
178
177
179
Provide feedback via [user voice feedback](https://feedback.azure.com/forums/263030-azure-cosmos-db).
0 commit comments