我们正在开展一个有 20 人的大型学校项目。该案例是一个去中心化的匿名聊天平台。所以我们不允许设置中央服务器,因此我们正在研究分布式数据库并发现 Cassandra 最适合我们的项目。
这意味着运行该应用程序的每个人也将是一个 Cassandra 节点。这引起了我的许多担忧,主要是恶意节点。如果每个人都在他们的计算机上运行 Cassandra 节点,我们如何防止他们操纵/破坏甚至直接删除数据?
我正在做一些研究,我开始得出结论,Cassandra(以及我研究过的其他分布式数据库)适用于公司拥有、运行和维护数据库的企业解决方案。在我们的例子中这不是真的,因为一旦应用程序启动,就不会有“所有者”。每个用户都是系统的平等一部分。
我知道在去中心化/分布式系统中防止恶意节点的一种(或者可能是唯一的)方法是让节点相互检查。我发现在 Cassandra 中无法做到这一点,因此我的问题是,我们能否防止数据破坏和恶意节点成为威胁?