cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 鄢来琼 <laiqiong....@gtafe.com>
Subject Re: Is Table created in all the nodes if the default consistency level used
Date Tue, 17 Mar 2015 08:04:17 GMT
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:daemeonr@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.yan@gtafe.com<mailto:laiqiong.yan@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:daemeonr@gmail.com<mailto:daemeonr@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 <naidusp2002@yahoo.com<mailto:naidusp2002@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.yan@gtafe.com<mailto:laiqiong.yan@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:daemeonr@gmail.com<mailto:daemeonr@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.yan@gtafe.com<mailto:laiqiong.yan@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





Mime
View raw message