北京中科白癜风医院靠谱么 http://pf.39.net/bdfyy/zjft/161225/5154125.html读DataEngineeringWeekly的时候发现有一篇文章介绍了谷歌公司内部的一个新的开源语言Logica,先给大家来个简介。
介绍
Logica=Logic+aggregation,即逻辑+聚合。顾名思义,它是进一步的扩展了经典逻辑算法的语言,在聚合方面也就是关于数据进行内容挑选、分类、归类,最后得到想要的结果。主要是指可以从数组中产生标量值的数据转换方面比较重视。
Logica是可以被编译成SQL语言,可以运行在GoogleBigQuery上(当然,也可以运行在PostgreSQL和SQLite的测试环境)。
逻辑语言解决SQL的局限性
先来说SQL的局限是什么:没有降逻辑分成小块的设计、没有模块和导入的概念,也没有高级点的构造(函数间的传递)。这就导致了SQL对抽象的支持非常有限,更不用说要去维护那种上百行的语句了。
Logica继承自Yedalog(早期谷歌开发的一种语言),是一种类似数据日志(Datalog-like)的逻辑编程语言。Logica代码可以编译成SQL,可在谷歌BigQuery上运行(也支持PostgreSQL和SQLite):
支持SQL所缺乏的简洁和可重用的抽象机制
支持模块和导入
甚至使测试查询变得不再困难
热议
能否成为主流?
谷歌的工程师们是一直抱着鼓励态度的,也有很多开发很开心看到这样一门新的语言。但是广泛采用还会有很长的路要走。
还有网友提出质疑:说Logica没有真的做到转SQL,知识用了虚拟机对的解释动态被翻译的。
大家如何看呢?Logica是否可以取代SQL呢,欢迎讨论