- Learning Apache Cassandra
- Mat Brown
- 333字
- 2021-07-23 20:34:47
Creating a keyspace
A keyspace is a collection of related tables, equivalent to a database in a relational system. To create the keyspace for our MyStatus application, issue the following statement in the CQL shell:
CREATE KEYSPACE "my_status" WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor': 1 };
Here we created a keyspace called my_status
, which we will use for the remainder of this book. When we create a keyspace, we have to specify replication options. Cassandra provides several strategies for managing replication of data; SimpleStrategy
is the best strategy as long as your Cassandra deployment does not span multiple data centers. The replication_factor
value tells Cassandra how many copies of each piece of data are to be kept in the cluster; since we are only running a single instance of Cassandra, there is no point in keeping more than one copy of the data. In a production deployment, you would certainly want a higher replication factor; 3 is a good place to start.
Note
A few things at this point are worth noting about CQL's syntax:
- It's syntactically very similar to SQL; as we further explore CQL, the impression of similarity will not diminish.
- Double quotes are used for identifiers such as keyspace, table, and column names. As in SQL, quoting identifier names is usually optional, unless the identifier is a keyword or contains a space or another character that will trip up the parser.
- Single quotes are used for string literals; the key-value structure we use for replication is a map literal, which is syntactically similar to an object literal in JSON.
- As in SQL, CQL statements in the CQL shell must terminate with a semicolon.
Selecting a keyspace
Once you've created a keyspace, you would want to use it. In order to do this, employ the USE
command:
USE "my_status";
This tells Cassandra that all future commands will implicitly refer to tables inside the my_status
keyspace. If you close the CQL shell and reopen it, you'll need to reissue this command.
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- The Modern C++ Challenge
- Hands-On Data Structures and Algorithms with JavaScript
- HTML5+CSS3網頁設計
- Python完全自學教程
- AppInventor實踐教程:Android智能應用開發前傳
- .NET 3.5編程
- Visual Basic程序設計實踐教程
- Python+Tableau數據可視化之美
- 軟件項目管理實用教程
- Learning Material Design
- Illustrator CC平面設計實戰從入門到精通(視頻自學全彩版)
- Python趣味編程與精彩實例
- 小程序從0到1:微信全棧工程師一本通
- 企業級Java現代化:寫給開發者的云原生簡明指南