我是一位高级数据库开发人员,在所有主要的关系数据库(Oracle,MS SQL Server,MySQL等)上都有丰富的经验,但是我对NoSQL还是陌生的。最近,我公司决定使用Apache Cassandra数据库。我现在学习了几个星期,并提出了以下问题:
问>是否可以在Cassandra数据库中创建存储过程或函数?如果是,Cassandra是否提供自己的编程语言(如Oralce的PL / SQL)?如果它没有自己的语言,我们可以使用哪种语言?是Java吗?如果是Java,是否需要单独安装Java?还是随Cassandra一起安装并内置于其中,准备在存储过程中使用?
最佳答案
您可以编写user defined functions或触发器(可能是实例化视图)。 UDF实际上只是为了简化阅读内容,而这可能并不是您想要的。这实际上取决于您要执行的操作,除非您是非常高级的cassandra用户,否则我建议不要使用触发器。如果您试图允许多种方式查看数据,则物化视图可以提供所需的内容。
实际上,所采取的设计是将其移出数据库并移入您的应用程序。请记住,该想法是对数据进行非规范化,而不是规范化。通常,在为Cassandra设计架构时,最终会为每个查询创建一个表,而不是在插入数据时对所有相关表进行多次插入。有很多free training和视频可用于数据建模。我建议在建立数据模型之前花很多时间来解决它,以免日后出现误解和陷阱。
关于java - 在Cassandra数据库中编写存储过程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36044413/