我不想学习您的查询语言(2018)

2021-03-11 00:51:06

这是一个咆哮的一点,但我真的不喜欢那样喜欢它自己的查询语言的软件。那里有一万亿不同的轨道。另一个占亿万的数据库与他们自己的查询语言。另一个亿万的萨斯产品,其中查询的唯一方法是学习他们组成的一些随机查询DSL。

我只想要我的SQL。它'每个人都理解,它自七十年代以来一直在周围,它合理地标准化。它'易于阅读,可以由任何人使用,从商界人士到工程师。

相反,我必须学习一堆垃圾查询语言,因为每个人都不断尝试重新发明轮子。

服用orms。他们所谓的福利是他们减少开发时间。但是,而不是写下每个人都知道的SQL,我现在必须在一些orm文件中来回滚动,以弄清楚如何编写我的查询。最重要的是,我必须花时间调试为什么ORM将我的查询翻译成使用完整表扫描加入17个表的怪物。而不是坚持SQL,它在那里'很容易争论性能(试图坚持索引列的条款,不要与加入的Bananas,我必须处理这个不透明翻译层模糊了确切的查询。我最终臃肿的更高级别的数据类,而不是易于理解包含数据以愚蠢的简单格式包含数据的元组或dicts,这是微不足道的。

更不用说那里的五千奥姆斯,所以而不是学习SQL一次,我必须学习34个不同的ORMS。它'不像人们学习ORM而不是学习SQL。

要公平,其中一些是SQL味道,或者至少假装是,但是所有的怪癖都迫使我无法找到我对SQL的一切,这也可能是完全不同的东西。

然后,在此之上,每个数据库似乎都会重新注入查询语言。 Mongo有自己可怕的查询语言,即我从未理解过。 Lucene有自己的查询语言。等等。

每个SaaS产品都应提供一个即插即用的东西,以便我可以将所有数据复制回我自己的基于SQL的数据库(在我的情况下,postgres / redshift)。 我不想使用他们的自定义DSL。 也许欧洲联盟可以作为PSD2开放银行指令之后的下一步授权这一点。 让' s diveel diveel与orms制作代码清洁器的神话。 加入嵌入式-SQL运动,并发现一个更可读,更直接的方式来查询数据库。 它' s。 我意识到我听起来像一个古老的曲柄,但它是一个风险我的风险。 这篇文章获得了相当数量的交通,因此它必须与一群人共鸣。 请参阅黑客新闻讨论和Reddit R /编程评论。 更新(2021):这使得它第二次向黑客新闻前页进行了第二次,并产生了更多的讨论。 标记:软件,咆哮,流行