我是一名高级数据库开发人员,对所有主要关系数据库(Oracle,MS SQL Server,MySQL等)都有丰富的经验,但我是NoSQL世界的新手。最近我的公司决定使用Apache Cassandra数据库。我现在正在学习这几个星期,并提出了以下问题:
Q>我们可以在Cassandra数据库中创建存储过程或函数吗?如果是的话,Cassandra是否提供了自己的编程语言(如Oralce的PL / SQL)?如果它没有自己的语言,我们可以用什么语言?是Java吗?如果它是Java,我们是否需要单独安装Java?或者它与Cassandra一起安装并内置,准备用于存储过程?
答案 0 :(得分:1)
您可以编写user defined functions或触发器(可能是物化视图)。 UDF实际上只是为了简化阅读,这可能不是你想要的。这实际上取决于你想做什么,除非你是一个非常先进的cassandra用户,否则我会建议不要使用触发器。如果您尝试允许多种方式查看数据,物化视图可以提供您想要的内容。
实际上,所采取的设计是将其移出数据库并进入您的应用程序。请记住,这个想法是非规范化,而不是规范化您的数据。通常在为Cassandra设计模式时,您最终会为每个查询创建一个表,而且在插入数据时,您会对所有相关表进行多次插入。有大量free training和视频可用于数据建模。我建议在构建数据模型之前花费大量时间来处理它,以避免误解和后来的问题。