【问题标题】:Is Cassandra the best way to build a reporting systemCassandra 是构建报告系统的最佳方式吗
【发布时间】:2016-03-08 14:56:50
【问题描述】:

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

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

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

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

根据我所见,我认为将我的报告转移到 MySql 并保持我的系统基于 Cassandra 运行是很好的。

我将使用适当的方式将数据从 Cassandra 同步到 MySql。

【问题讨论】:

    标签: mysql cassandra reporting


    【解决方案1】:

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

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

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

    请注意,某些用例可能根本不会从这个新索引中受益,例如用例“获取基于用户数量的验证电子邮件”。

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

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

    【讨论】:

    • 我读过你的那篇文章,非常好。做得很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    相关资源
    最近更新 更多