我是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();
答案 0 :(得分:0)
好吧,如果您能为我们提供一些基准来说明您认为“非常慢”,我们可以帮助您。但重要的是要注意cassandra功能是随着群集中数据量的增长,与关系数据库引擎相比,可以保证(松散地)获得更加恒定的读/写性能时间。
您是否尝试过在cassandra-cli / cqlsh中执行相同的查询?那你有什么样的表现?如果cassandra-cli / cqlsh语句与您发布的代码段之间存在显着差异,这意味着它可能是驱动程序问题,因此我会深入研究Hector代码。