Cassandra是建立报告系统的最佳方式

时间:2016-03-08 14:56:51

标签: mysql cassandra reporting

我将在下面总结一下我的案例:

我正在尝试在Cassandra中添加身份验证用户信息。它实际上适用于验证用户,添加新用户,检查用户登录,编辑和删除帐户等基础知识。

但在我建立之后,我们尝试使用Cassandra存储来应用报告系统,如

  • 获得总用户
  • 根据注册时间过滤器获取用户数
  • 根据登录时间过滤器获取用户数
  • 根据性别获取用户数
  • 获取基于用户的验证电子邮件数
  • 根据电子邮件,名字和姓氏搜索用户
  • 喜欢搜索
  • 根据注册语言获取用户数
  • 和其他标准出现在产品经理

根据我所看到的情况,我认为可以将我的报告移至MySql并保持我的系统基于Cassandra工作。

我将使用正确的方法将数据从Cassandra同步到MySql。

1 个答案:

答案 0 :(得分:2)

自Cassandra 3.4(今天发布)以来,您可以在Cassandra中使用新的SASI索引进行全文搜索功能。它似乎符合您对动态搜索的要求:

预览全文搜索:https://twitter.com/doanduyhai/status/707231879456546816

使用此全文搜索索引的官方文档:https://twitter.com/doanduyhai/status/707232855873732609

请注意,某些用例可能无法从此新索引中受益,例如用例"获取基于用户的验证电子邮件数量"。

简单的原因是,对于1个电子邮件地址,您最多只能有1个用户(因为每个用户的电子邮件单一性)。因此,即使使用新索引,在最坏情况中,您也需要扫描群集中的所有节点(模数复制因子)以找到与您的电子邮件匹配的用户。

对于这种1对1关系(用户和电子邮件之间),最好使用物化视图,请阅读我的博客:www.doanduyhai.com/blog/?p=1930