SQL 被当成代码?谷歌的理由绝了!

2022 年 2 月 23 日 CSDN

【CSDN 编者按】SQL即结构化查询语言(Structured Query Language),是一种可用于存取数据以及查询和管理关系数据库的编程语言。和面向对象编程相同的是,SQL语言的编写很费时间,并且调试的难度也很大,因此必须要能够进行维护。但谷歌却将SQL视为代码并受益颇多。这究竟是怎么回事呢?


作者 | 郭露        责编 | 张红月
出品 | CSDN(ID:CSDNnews)


SQL作为查询语言,谷歌为何会将其视为代码?


而从谷歌的角度来看,SQL还能用于创建数据管道。一旦数据管道发生故障,就需要用SQL修复。考虑到这些因素,代码集中化在数据策略中无疑非常重要。

使用代码管理工具的好处在于,开发者能够更快的知道谁在更改或维护SQL脚本,并了解他对于其他相关查询中的更改。代码管理工具能够第一时间发现提交失败的地方并且进行恢复。提交SQL代码之后,代码能够立刻部署到开发环境中。之后开发者可以执行开发管道,并立即识别和修复故障。同时需要定期更新测试环境和代码,以确保代码能够推出生产版本。一旦成功,所有版本的SQL都能够顺利执行。

  • 公司该如何应对?

对于小公司而言,需要了解公司的软件工程文化。这种文化要更为成熟,因此公司需要熟悉他们可能会使用到的工具,例如Git和IDE等等。公司需要将所有代码放在索引位置上,并将脚本从本地迁移到全局,并取消视图和存储的过程。

图源自ICphoto

谷歌如何使用工具管理SQL代码?


谷歌几乎将所有代码都集中在一个单一的代码存储库中。若需要对任何SQL进行更改,或是需要创建新脚本时,就会创建更改列表,这本质上和拉取请求是相类似的。随后通道要在经过测试后由另一位开发者批准。经审阅者签字后,作者就可将代码更改提交到代码存储库中。尽管许多公司都使用变更控制系统,谷歌和他们不一样,非常重视代码的格式,谷歌不会自动拒绝不符合编码标准的更改。

  • 小公司该如何应对?

有了谷歌的参考,小公司应当坚持使用一个代码存储库。代码存储库应在部门间共享,并将所有 SQL代码集中在一个存储库中。这其中应当包括所有数据功能,例如数据工程、数据分析以及数据商业智能。公司需要采用代码格式标准,使用开源代码格式工具。这种工具能够大大地提高代码的可读性和可维护性。公司可以花一定的时间通过工具优化先前的代码,并且保证之后的代码能够符合格式标准。这样能使SQL更容易编写和理解。


为何版本和开发环境的统一可以节省时间?


由于代码经常会进行更改,如果不对版本进行控制,我们很难撤回或重置。如果公司能够使用版本控制,一旦提交的代码更改破坏了管道并产生了不可执行的命令时,可以精确地进行撤回。这一原则和谷歌代码集成方法相同。若开发环境中出现了不好的更改,业务依旧不会受到影响。SQL更改在提交时会对开发环境产生影响,并且能够第一时间发现故障。若开发代码的过程失败了,谷歌可以通过开发环境变量来进行管理。

  • 小公司该如何应对?

对于小公司来说,实现一个开发环境非常必要。在组织数据基础架构内测试代码可以将影响降到最低。通过DBT等开源工具添加抽象层后能够使这一过程更加简单。所有的表能够使用两次:一次是作为开发表,第二次是作为生产表。在发布计划时,所有提交的代码都能够加入到生产环境中。


广泛访问代码的好处有哪些?


众所周知,谷歌只采用了一个代码存储库来存储所有代码,因此有时很难知道某个产品的消费者都用哪些。例如,软件开发者可能在更新生产应用程序,如果不使用集中式代码库,他们无法了解更改后会有什么后果。通过代码的集中化,开发者可以搜索合适的脚本、查询和其他应用程序,并通知相应的开发者进行同步更改。

  • 小公司该如何应对?

小公司应当更加信赖使用的代码库和存储库。工程的角度来看,公司的项目并不需要那么保密,只需要雇用信得过的开发者管理代码库就行。除此之外,公司还应该鼓励软件工程和数据工程间进行协作。在代码投入生产之前完成下游的内置流程和程序。

 

【参考资料】

https://blog.devgenius.io/why-google-treats-sql-like-code-and-you-should-too-53f97925037e

新程序员003》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!


   
   
     
微信、支付宝个人收款码可继续使用;苹果或将推出7款新Mac;Swift之父正式退出Swift核心团队|极客头条
PHP 没“死”、Vue 依旧是“巨头”之一!2022全栈开发报告你看过了吗?
专访小米崔宝秋:云原生与大数据、AIoT、开源的碰撞之路

登录查看更多
0

相关内容

SQL 全名是结构化查询语言,是用于数据库中的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。
【开放书】《命令行数据科学指南(第二版)》
专知会员服务
42+阅读 · 2021年12月13日
专知会员服务
91+阅读 · 2020年12月26日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
【2020新书】高级Python编程,620页pdf
专知会员服务
235+阅读 · 2020年7月31日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
需求着急上线,是写烂代码的理由吗?
CSDN
0+阅读 · 2022年3月16日
当云原生遇上低代码,云端开发so easy!
架构师应该接受低代码的 5 个理由
InfoQ
0+阅读 · 2022年3月9日
修Bug哪家强?谷歌:Linux,比我都修得好
量子位
0+阅读 · 2022年2月20日
已删除
将门创投
11+阅读 · 2019年7月4日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Arxiv
0+阅读 · 2022年4月16日
VIP会员
相关VIP内容
【开放书】《命令行数据科学指南(第二版)》
专知会员服务
42+阅读 · 2021年12月13日
专知会员服务
91+阅读 · 2020年12月26日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
【2020新书】高级Python编程,620页pdf
专知会员服务
235+阅读 · 2020年7月31日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
相关资讯
需求着急上线,是写烂代码的理由吗?
CSDN
0+阅读 · 2022年3月16日
当云原生遇上低代码,云端开发so easy!
架构师应该接受低代码的 5 个理由
InfoQ
0+阅读 · 2022年3月9日
修Bug哪家强?谷歌:Linux,比我都修得好
量子位
0+阅读 · 2022年2月20日
已删除
将门创投
11+阅读 · 2019年7月4日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Top
微信扫码咨询专知VIP会员