是否可以 insert/write 数据而无需在 Cassandra 中定义列?
Is it possible to insert/write data without defining columns in Cassandra?
我正在尝试了解 Cassandra 数据模型的基础知识。我正在使用 CQL。据我所知,必须在任何人插入新列之前定义架构。如果有人需要添加任何列可以使用 ALTER TABLE 并且可以将值插入到该新列。
但是在 cassandra 权威指南中写到 Cassandra 是无模式的。
In Cassandra, you don’t define the columns up front; you just define the column
families you want in the keyspace, and then you can start writing data without defining
the columns anywhere. That’s because in Cassandra, all of a column’s names are
supplied by the client.
我很困惑,没有找到任何预期的答案。有人可以向我解释一下或者告诉我我是否遗漏了什么吗?
提前致谢。
您正在阅读 "Cassandra, the definitive guide":一本 3/4 年前的书,告诉您一些很久以前就已经改变的事情。现在您必须先定义表结构才能写入数据。
您可以找到 CQL 引入和无模式放弃背后的一些原因。
The official Datastax documentation 应该是您的权威指南。
HTH,
卡罗
有两种不同的 API 与 Cassandra 交互以写入数据。首先是 thrift API,它始终允许动态创建列,但也支持为您的列添加元数据。
接下来是基于 API 的较新的 CQL。 CQL 的创建是为了提供另一个抽象层,使使用 Cassandra 更加用户友好。使用 CQL,您需要预先为您的列名和数据类型定义架构。但是,这并不意味着不能使用 CQL 来使用动态列。
我正在尝试了解 Cassandra 数据模型的基础知识。我正在使用 CQL。据我所知,必须在任何人插入新列之前定义架构。如果有人需要添加任何列可以使用 ALTER TABLE 并且可以将值插入到该新列。
但是在 cassandra 权威指南中写到 Cassandra 是无模式的。
In Cassandra, you don’t define the columns up front; you just define the column families you want in the keyspace, and then you can start writing data without defining the columns anywhere. That’s because in Cassandra, all of a column’s names are supplied by the client.
我很困惑,没有找到任何预期的答案。有人可以向我解释一下或者告诉我我是否遗漏了什么吗?
提前致谢。
您正在阅读 "Cassandra, the definitive guide":一本 3/4 年前的书,告诉您一些很久以前就已经改变的事情。现在您必须先定义表结构才能写入数据。
The official Datastax documentation 应该是您的权威指南。
HTH,
卡罗
有两种不同的 API 与 Cassandra 交互以写入数据。首先是 thrift API,它始终允许动态创建列,但也支持为您的列添加元数据。 接下来是基于 API 的较新的 CQL。 CQL 的创建是为了提供另一个抽象层,使使用 Cassandra 更加用户友好。使用 CQL,您需要预先为您的列名和数据类型定义架构。但是,这并不意味着不能使用 CQL 来使用动态列。