为什么ScyllaDBMV已准备好生产,而CassandraMV仍处于试验阶段,不建议使用?

Cassandra 的 MV 尚未准备就绪:

  1. Cassandra 物化视图影响
  2. 限制:https : //docs.datastax.com/en/cql-oss/3.3/cql/cql_using/knownLimitationsMV.html
  3. https://techblog.fexcofts.c​​om/2018/05/08/cassandra-materialized-views-ready-for-production/:

事实证明,MV 存在问题。最大的问题是 MV 与基表不同步。使用不是基表键的键创建 MV 时似乎会发生这种情况。Cassandra 不提供任何机制来检查基表和任何 MV 之间的完整性。因此,除非您手动执行此操作,否则您将不会注意到任何差异。如果您确实发现了任何差异,解决它们的唯一方法是删除并重新创建 MV。

Cassandra 从 2015 年开始有 MV,已经 5.5 年了:https : //www.datastax.com/blog/new-cassandra-30-materialized-views。

转到 ScyllaDB,这是 2016 年发布的第一个版本的数据库:https ://www.scylladb.com/2016/03/31/release-1-0/ 。ScyllaDB 将 MV 提升为生产就绪。

为什么 Cassandra 不能像 ScyllaDB 那样创建生产就绪的 MV?我在他们的网站上看不到 ScyllaDB 上 MV 的任何限制。MV 非常有用,我不明白 Cassandra 从未成功生产就绪 MV,这个问题已经开放了 5 年多:https : //issues.apache.org/jira/browse/CASSANDRA-10346。

ScyllaDB是如何解决MV不一致问题的?为什么 Cassandra 不能/没有解决 MV 问题?

回答

MV 的 Scylla 实现类似于 Cassandra,但并不完全相同。今天,即使使用 Scylla,如果视图和基础不同步,除了完整的视图重建之外,没有 100% 安全的方法来修复它。但是,我们对 MV 实现进行了大量修复和改进,并降低了这种情况发生的可能性。这是当前关闭的捕获:使用 MV 打开错误:https : //github.com/scylladb/scylla/issues?q= is%3Aissue+is%3Aopen+materialize+
view+

Scylla 的开发速度更快,活跃提交者的数量也是如此(尽管如此令人惊讶)。现在我们在 Raft 上工作是为了使常规操作保持一致,从而完全同步视图和基础。


以上是为什么ScyllaDBMV已准备好生产,而CassandraMV仍处于试验阶段,不建议使用?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>