我是cassandra的新手,并将我的应用程序从Mysql迁移到cassandra。当我读取cassandra时,它说与Mysql相比它减少了读写时间。到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') "
我的卡桑德拉代码是
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();
最佳答案
好吧,如果您可以为我们提供一些基准,说明您发现“非常慢”,那么我们可能会进一步为您提供帮助。但是重要的一点是要注意,cassandra功能是,随着群集中数据量的增长,与关系型数据库引擎相比,可以保证(宽松地)获得更多的恒定读写性能。
例如,您是否尝试过在cassandra-cli / cqlsh中执行相同的查询?你会得到什么样的表现?如果cassandra-cli / cqlsh语句与您发布的代码段之间的差异非常大,则意味着这可能是驱动程序问题,因此我将在Hector代码中进行更深入的研究。