Yeah, Cassandra nodes are peer oriented. The meta data are recorded in “system 
tables”.

There are 6 nodes in my single dc cluster;  Is meta data recorded in all the 
nodes’ “system tables” after executing “create table” statement?
How to guarantee the meta-data are recorded in all nodes?
Should I take care it? Or how Cassandra guarantee it?

Regards,
Peter

发件人: daemeon reiydelle [mailto:daeme...@gmail.com]
发送时间: 2015年3月17日 15:04
收件人: user@cassandra.apache.org
抄送: Saladi Naidu
主题: Re: Is Table created in all the nodes if the default consistency level used

Oops, my bad. Not "master node" I meant "system tables". Cassandra has no 
master nodes, it is entirely peer oriented. I apologize profusely, and hope I 
have not confused.



.......
“Life should not be a journey to the grave with the intention of arriving 
safely in a
pretty and well preserved body, but rather to skid in broadside in a cloud of 
smoke,
thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!”
- Hunter Thompson

Daemeon C.M. Reiydelle
USA (+1) 415.501.0198
London (+44) (0) 20 8144 9872

On Mon, Mar 16, 2015 at 11:51 PM, 鄢来琼 
<laiqiong....@gtafe.com<mailto:laiqiong....@gtafe.com>> wrote:
Hi Daemeon,
Thanks for your response.
Yes, exactly, your answer clear my doubt. My question is time of table created 
on data nodes.

According to your answer, the table’s meta data is recorded on master node(s), 
then  table will be created on data node(s) when R/W operation is executed.
So there are other questions.
1, Which node is master node, which algorithm is used by Cassandra to identify 
master node;
2, Is there a problem if master node is down before actual data written to data 
node? Because master node is down, table can not be created on data nodes.

Regards,
Peter





发件人: daemeon reiydelle [mailto:daeme...@gmail.com<mailto:daeme...@gmail.com>]
发送时间: 2015年3月17日 13:38
收件人: user@cassandra.apache.org<mailto:user@cassandra.apache.org>; Saladi Naidu
主题: Re: Is Table created in all the nodes if the default consistency level used

If I am following your thread correctly, I think you might be confusing the 
"creeation" of a table with the "recording of the definition" + "storage for 
the table allocated".
When you define the table, based on your config, the existence of the table is 
recorded in the master node(s). But tables are not "created" on data nodes. 
Data nodes store the data (or their pieces of it) when actual data is written 
to the table ... so creating a table does not cause memtables (or empty sst's) 
to be created. When you insert into the table, and data has to go "someplace", 
the memtables and sst's start tracking that data. Does this clarify?
As an aside, you will only get stale data if the read consistency level 
together with the number of nodes that went offline (which hold copies of the 
table), allow it: e.g. imagine read consistency 1 and one node with stale data, 
etc.


.......
“Life should not be a journey to the grave with the intention of arriving 
safely in a
pretty and well preserved body, but rather to skid in broadside in a cloud of 
smoke,
thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!”
- Hunter Thompson

Daemeon C.M. Reiydelle
USA (+1) 415.501.0198<tel:%28%2B1%29%20415.501.0198>
London (+44) (0) 20 8144 9872<tel:%28%2B44%29%20%280%29%2020%208144%209872>

On Mon, Mar 16, 2015 at 8:41 PM, Saladi Naidu 
<naidusp2...@yahoo.com<mailto:naidusp2...@yahoo.com>> wrote:
There are 3 different things we are talking here

1. SimpleStrategy vs. NetworkTopology matter when you have single DC vs. 
Multiple DC's
2. In both cases you can specific replication factor, obviously in 
SimpleStratgey case you dont mention DC whereas in NetworkTopology, you can 
mentione mutiple options by each DC's replication requirements.
3. Now if your question is referred to single DC then even if your System 
keyspace is SimpleStartegy and your user table is NetworkToplogy, it should not 
matter and Table_Test will be created in all nodes
4. If your System_auth KS is set less than number of nodes, you will face AUTH 
issues.

Naidu Saladi

________________________________
From: 鄢来琼 <laiqiong....@gtafe.com<mailto:laiqiong....@gtafe.com>>
To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" 
<user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
Sent: Monday, March 16, 2015 2:13 AM
Subject: Re: Is Table created in all the nodes if the default consistency level 
used

Hi Daemeon,

Yes, I use “NetworkTopologyStrategy” strategy for “Table_test”,
but “System keyspace” is Cassandra internal keyspace, its strategy is 
localStrategy.
So my question is how to guarantee “Table_test” is created in all the nodes 
before any R/W opertions?

Thanks.

Peter



发件人: daemeon reiydelle [mailto:daeme...@gmail.com<mailto:daeme...@gmail.com>]
发送时间: 2015年3月16日 14:35
收件人: user@cassandra.apache.org<mailto:user@cassandra.apache.org>
主题: Re: Is Table created in all the nodes if the default consistency level used

If you want to guarantee that the data is written to all nodes before the code 
returns, then yes you have to use "consistency all". Otherwise there is a small 
risk of outdated data being served if a node goes offline longer than hints 
timeouts.
Somewhat looser options that can assure multiple copies are written, as you 
probably know, are quorum or a hard coded value. This applies to a typical 
installation with a substantial number of nodes of course, not a small 2-3 node 
cluster.
I am curious why localStrategy when you have such concerns about data 
consistency that you want to assure all nodes get data written. Can you 
elaborate on your use case?


.......
“Life should not be a journey to the grave with the intention of arriving 
safely in a
pretty and well preserved body, but rather to skid in broadside in a cloud of 
smoke,
thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!”
- Hunter Thompson

Daemeon C.M. Reiydelle
USA (+1) 415.501.0198<tel:%28%2B1%29%20415.501.0198>
London (+44) (0) 20 8144 9872<tel:%28%2B44%29%20%280%29%2020%208144%209872>

On Sun, Mar 15, 2015 at 8:11 PM, 鄢来琼 
<laiqiong....@gtafe.com<mailto:laiqiong....@gtafe.com>> wrote:
Could you tell me whether the meta data of the new table are build in all the 
nodes after execute the following statement.

cassandra_session.execute_async(

“““CREATE TABLE Table_test(

      ID uuid,

      Time timestamp,

      Value double,

      Date timestamp,

      PRIMARY KEY ((ID,Date), Time)

) WITH COMPACT STORAGE;
”””
)

As I know, the system keyspace is used to store the meta data, but the strategy 
is localStrategy, which only store meta data of local node.
So I want to know whether table is created in all the nodes, should I add 
consistency_level setting to the above statement to make sure
“create table” will be executed in all the nodes?
Thanks.

Peter





Reply via email to