1

我是 cassandra 的新手,正在将我的应用程序从 Mysql 迁移到 cassandra。当我读到 cassandra 时,它说与 Mysql 相比,它减少了读写时间。当我尝试使用 hector 使用单节点的简单示例时,读取操作相比起来要快得多到 Mysql,如果我尝试插入单个列,它与 mysql 相比非常快。但是当我尝试插入具有多列的单行时,与 mysql 相比需要很长时间。有什么办法可以提高写入性能,或者如果我的编码方式有误,请告诉我。

我的 sql 代码是 INSERT into energy_usage(meter_id,reading_datetime,reading_date,reading_time,asset_id,assetid) VALUES('164','2012-12-07 00:30:00','2012-12-07','00:00:00','1','1') " 我的 cassandra 代码是

Mutator<String> mutator = HFactory.createMutator(keyspaceOperator, StringSerializer.get());
        mutator.addInsertion("888999", DYN_CF, HFactory.createStringColumn("assetid","1")).
            addInsertion("888999", DYN_CF, HFactory.createStringColumn("meterid", "164")).
            addInsertion("888999", DYN_CF, HFactory.createStringColumn("energyusage","10")).
            addInsertion("888999", DYN_CF, HFactory.createStringColumn("readdate","2012-12-07")).
            addInsertion("888999", DYN_CF, HFactory.createStringColumn("readdatetime","2012-12-07 00:30:00"));
                mutator.execute();
4

1 回答 1

0

好吧,如果您可以向我们提供一些基准,说明您认为什么是“非常慢”,也许我们可以进一步帮助您。但重要的一点是要注意 cassandra 的一个特性是,随着集群中数据量的增长,与关系数据库引擎相比,可以保证(松散地)获得更恒定的读/写性能时间。

例如,您是否尝试过在 cassandra-cli/cqlsh 中执行相同的查询?那你会得到什么样的表现呢?如果 cassandra-cli/cqlsh 语句和您发布的代码之间的差异很大,那意味着它可能是驱动程序问题,所以我会更深入地研究 Hector 代码。

于 2014-02-14T14:08:23.273 回答