Tag: cassandra

使用CQL 3创建复合COLUMNS(而不是键)

本文讨论了CQL 3可用于在Cassandra 1.1中创建复合列的可能方法。 他们只是想法。 没有什么是官方的,Datastax文档没有涵盖这个(只有复合键)。 据我了解,复合列是多个列,它们只有一个值。 你如何用CQL创建它们? 编辑 我将使用C#连接到Cassandra。 CQL看起来很简单,这就是我想使用它的原因。

使用c#驱动程序在Cassandra中将UDT元素添加到列表集合的正确方法是什么?

我有一个UDT列表,如: create table MyTable { … stuff list<frozen>, … } 在我的客户端代码中,我想将一个元素附加到“stuff”。 理想情况下,我想做以下(或类似的事情): this.Mapper(“SET stuff = stuff + [?] WHERE id = ?”, mytype, id); 不幸的是,这失败并出现以下错误: Invalid list literal for stuff: bind variables are not supported inside collection literals 我可以通过将mytype转换为json来实现这一点,例如: var stuffAsJson = stuff.ToJson(); var update = string.Format(“SET stuff = stuff + [{0}] WHERE id = […]

Cassandra Csharp驱动程序中准备好的语句缓存问题

我相信我发现了如何在Cassandra csharp驱动程序(版本2.7.3)的StatementFactory中缓存预准备语句的逻辑错误。 这是用例。 Guid key = Guid.NewGuid(); // your key ISession session_foo = new Session(“foo”); //This is pseudo code ISession session_bar = new Session(“bar”); var foo_mapper = new Mapper(session_foo); //table foo_bar var bar_mapper = new Mapper(session_bar); //table foo_bar await Task.WhenAll( foo_mapper.DeleteAsync(“WHERE id = ?”, key), bar_mapper.DeleteAsync(“WHERE id = ?”, key)); 我们发现在运行此删除后,只有第一个请求成功。 在使用StatementFactory的源代码后潜水 public Task GetStatementAsync(ISession […]

CQL3每行都有自己的架构

我想在.Net应用程序中使用Cassandra。 我的目标是将一些数据存储在列族中,但每行数据都有不同的模式。 示例(非常简单)我希望有一个’Toys’列系列来存储以下对象,(请注意它们除了ID属性之外还有非常不同的属性) 玩具对象1 {“id”:“1”,“name”:“Car”,“number_of_doors”:4,“赞”:3} 玩具对象2 {“id”:“2”,“type”:“Plane”,“flying_range”:“100m”} 玩具对象3 {“id”:“3”,“category”:“Train”,“number_of_carriages”:10} 从我最初的理解和使用Datastax CSharp驱动程序开始,我必须始终改变不适合我的表(列族)。 我希望每一行都有自己的架构。 Thrift API可能能够解决这个问题,但似乎HectorSharp几乎已经死了。 一个类似于我的要求的问题,但它没有我想要的答案 Cassandra用于无模式数据库,每天有数百万个订单表和数百万个查询 我是通过期望每一行都有自己的架构来咆哮错误的树,还是有办法用Cassandra + Csharp做到这一点? 提前感谢您的回答。