ANSI SQL之殇
前端为什么需要标准化
你不能要求用户访问你的网站时先安装你提供的配套的浏览器或运行环境(这是java applet,flash等第三方技术失败的原因之一),前端必须有一个通用的运行环境,es和dom的出现统一了前端体验,才造就了各品牌浏览器的争妍斗艳。对于现代浏览器先驱“网景领航者”的大起大落和ie浏览器的垄断,前端技术没有及时标准化要负主要责任,Linux无法进入桌面市场要我说也要归咎于桌面技术没有标准化。世界上没有第三个移动操作系统也是因为app开发技术没有统一,客户端技术的发展自然走向统一,electron和flutter以及react native的流行正是印证了这一趋势,当然typescript等技术的流行也暴露了es标准化的弊端,在es6之后才有所缓解。不过总体来说客户端技术统一利大于弊。
服务端不需要标准
但服务端不同,服务端程序在单一环境中运行,不需要考虑兼容问题,一旦部署完成也不会轻易迁移,正是因为没有统一标准才造就了后端技术的空前繁荣,有了java,node,python,go,rust,c/c++等百家争鸣,各有各的应用场景,也不会出现让Apache支持java或让jre支持php这样的需求(即便jre有兼而收之的倾向)。lisp系和ml系编程语言家族的不断繁衍再次印证了这一点。
客户端技术标准化可谓势在必行,但后端技术标准化就是有百害而无一利。客户端繁荣得益于标准化,服务端繁荣得益于对差异的包容,比如graal。
SQL的弊端
而SQL作为服务端技术恰恰违背了这一点。SQL标准将一套理念应用到整个数据库领域,严重限制了数据库的发展,何况同样是标准,SQL远没有es每年一版的更新速度,数据库厂商也没有浏览器厂商对标准的跟进速度,SQL无法适应数据库技术的快速发展,各数据库厂商纷纷开发各自对SQL的扩展,几乎不存在一个大型项目可以不做修改直接在SQL数据库之间切换。SQL从来没有统一过。在我看来,SQL除了限制数据库技术的想象力,没有起到任何标准化的意义,没有标准化的命,全是标准化的病。SQL标准失去了引领数据库发展的意义(同样的问题出现在es6之前的js上,而SQL的问题仍然没有要改观的迹象),从数据库厂商到开发者都没有对数据库技术标准化的强烈需求。
技术本身就是相互借鉴对立统一,就像java和c#,JavaScript跟JScript,过分强调统一只会扼杀创新。SQL不应成为标准,更不应代表整个数据库领域,SQL应该只是数据库家族的小小一员。nosql的崛起标志着数据库的技术复兴,或许如今的nosql作为SQL的增强终将取代SQL。
ANSI SQL之殇相关推荐
- Oracle 20c 新特性知多少?ANSI SQL 全支持之 EXCEPT 运算符增强
导读:在 Oracle 20c 中,Oracle 增加了对于集合运算符的增强,全部支持了 ANSI SQL 标准的关键字,新增了 EXCEPT 关键字支持. 在 Oracle 20c 中,Oracle ...
- mysql ansi sql标准_Mysql数据库隔离级别(ANSI SQL92规范,行锁,间隙锁)
一. 什么是数据库隔离级别? ANSI(美国国家标准学会:AMERICAN NATIONAL STANDARDS INSTITUTE)在多个事务并发的时候能够正确的处理数据所定义的规范.事务隔离级别越 ...
- 【数据库理论】研究 ANSI/ISO SQL 标准、事务、数据异常与隔离级别
文章目录 一.前言 二.简介研究的演进过程 三.一致性级别与锁机制 3.1 定义 1 :一致性的非正规定义 3.2 定义 2 :一致性的锁协议定义 3.3 定义 3 :一致性的正式定义 四.<A ...
- 新人学习笔记-SQL的ANSI标准
SQL(STructured Query Language)是一种资料库查询和程式设计语言,用於存取资料以及查询.更新和管理关联式资料库系统.美国国家标準局(ANSI)与国际标準化组织(ISO)已经制 ...
- Flink最锋利的武器:Flink SQL入门和实战 | 附完整实现代码
作者 | 机智的王知无 转载自大数据技术与架构(ID: import_bigdata) 一.Flink SQL 背景 Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门 ...
- SQL 语法速成手册
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:静默虚空 排版:MarkerHub 原文:https://j ...
- 关于sql中case when的用法
Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...
- 1.2W 字的 SQL 语法速成手册
来源 |https://juejin.im/post/5c7e524af265da2d914db18f 本文针对关系型数据库的一般语法.限于篇幅,本文侧重说明用法,不会展开讲解特性.原理.本文内容包括 ...
- 像优秀的SQL程序员一样思考
像优秀的SQL程序员一样思考 --<SQL编程风格> 本书详细信息请点击:http://www.china-pub.com/209168 数据库作为现代软件应用的核心之一,正在发挥越来越重 ...
- 使用FoundationDB高效地将SQL数据映射到NoSQL存储系统中
NoSQL数据库 --FoundationDB的键-值存储系统 FoundationDB是一个分布式的键-值存储系统,支持全局ACID事务操作,并且性能出众.在安装系统时,可以指定数据分发的级别.数据 ...
最新文章
- php的udp数据传输,python实现udp数据报传输的方法
- 前端学习 -- Css -- 字体分类
- 学习C语言你是否思考过表达式11111*11111的值是多少?把5个1换成6个1呢?9个1呢?...
- 【Learning Spring 5.0】001 Spring架构及Spring介绍
- leetcode15 3Sum 从数组中找到三个整数,它们的和为0
- web第6次作业position
- MATLAB显示错误使用untitled,使用Matlab 2016a阻止集合构建错误
- CDN百科第三讲|如果用了云服务器,还需要做CDN加速吗?
- C# 对文本文件的几种读写方法
- excel取整函数_查询函数Choose、Lookup、Hlookup、Vlookup应用技巧解读
- 毫秒级百万数据分页存储过程(mssql)
- 安装brew_MacBook Pro安装Homebrew慢的问题解决方案
- html5直播api,HTML5 VideoAPI,打造自己的Web视频播放器
- Helm 3 完整教程(八):Helm 函数讲解(2)字符串函数
- 17-05-25模拟赛
- 【用户画像】从0到1掌握用户画像知识体系
- 从PowerDesigner概念设计模型(CDM)中的3种实体关系说起
- 最新IT段子手详解MyBatis遇到Spring 秒学Java SSM开发大众点评 难度中级
- python 抓网卡数据包 解析wifi_某高校校园网WIFI嗅探用户名密码实践
- 关于在袁教授blog中的”呛袁教授“的争论
热门文章
- 计算机无法进行磁盘碎片整理,无法启动win7系统磁盘碎片整理的解决方案
- Python 基于jieba的三国演义词频分析与可视化
- 093 一个人的固执里,藏着低水平的认知
- excel 小技巧选某些列的时候总是选到后面的空的部分解决方法
- 做短视频的几个小技巧,助你吸粉引流
- android word分页,word文档如何设置分页以及取消分页
- 三原色是红黄蓝对吗_三原色是哪几种颜色?是红黄蓝,还是红绿蓝
- QUIC特性之连接迁移和队头阻塞消除
- 微信开放平台(公众号)API学习笔记(1)-公众号测试账户
- python牛顿迭代公式_牛顿迭代法Python实现