我们使用 PostgreSQL 开发了一个 Web 应用程序。我们最近决定利用 Hadoop/MapReduce 的优势迁移到 NOSQL 世界(我们选择 cassandra 作为数据库)。这将使我们能够迁移到大数据世界:我们正在处理来自不同来源的大量(数十亿条记录)数据。
我们的应用程序包含一些非常复杂的计算算法。在实际版本中(使用 postgresql),这些算法是在存储过程中实现的。现在,我们想把这个存储过程迁移到cassandra。
我也有问题:
1- 这在技术上是否可行? 2- 测试可行性的最佳方法是什么? 3- 我们是否必须期望通过执行此迁移来大幅提高性能。
感谢您的支持。 瓦利德
最佳答案
在 Cassandra 中没有真正等同于存储过程的东西,但是新创建的 Triggers可能会帮助你。触发器可以写在任何 JVM language并且可以直接放置在 Cassandra 节点上——它们在语句执行的BEFORE 被触发,因此您可以将您的逻辑放在此处。如果触发器不符合您的需求,我认为唯一的选择是将逻辑直接放在应用程序中。
至于第 3 个问题,则视情况而定。 Cassandra 提供线性可扩展性,这意味着如果 X 节点支持 Y 事务/秒,则 NX 节点可以达到 NY 事务/秒——但是没有所有信息就无法预测性能增强(或降低)(并且,即使在这种情况下,它不容易)
HTH,卡罗
关于database - NOSQL 中的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25040046/