微软和 OpenAI 的桥段,30 年前的数据库圈也上演过

历史不会重复, 却压着相同的韵脚。

这是一段发生在 30 年前的历史,也是在当时最热的技术领域-数据库,主角之一同样是微软。

论白嫖收购,微软一直是行业内的佼佼者(虽然也发生过收购诺基亚这样的翻车事故)。这也是它基业长青的原因之一。近的有包罗万象的 GitHub,远的则有欲言又止的 PPT,以及纠缠不清的 IE 浏览器。而我们今天要讲的主角是它旗下的数据库产品 Microsoft SQL Server (简称 SQL Server)。

file

SQL Server 同样不是源自微软的产品,但他也不是一个完全的收购,更接近于借鸡生蛋。这只鸡就是我们的另一个主角:Sybase。

file

如今的 Sybase 已经基本没入历史的尘埃,但当年就是如 Snowflake 一般的存在。1984 年成立,1991 年 IPO (Snowflake 是 2012 年成立,2020 年 IPO,还多了一年)。就像 Snowflake 在数据库 OLAP 领域引入了云原生架构,当年的 Sybase 则是率先在数据库 OLTP 领域引入了 Client-Server (C/S) 架构。在这之前,包括当时如日中天的 Oracle 都采用一体化架构,每一个用户都要各自启动全套数据库系统才能开始使用。

file
顺便提一嘴,红衣教主的职业生涯也起步于 Sybase。

因为架构上的优越性,后起之秀 Sybase 在市场上把 Oracle 打得节节败退。但在 1989 年,一个决定改变了行业历史。微软和 Sybase,再加上另一家当年如日中天,如今销声匿迹的 Ashton-Tate 决定联合搞一个数据库。Ashton-Tate 不久之后就退出了三方联盟,而当时的微软其实手上并没有数据库产品,承担的角色是 Sybase 的经销商。SQL Server 这个名字也是从当年 Sybase SQL Server 而来的,微软重新贴了个自己的牌,叫做 Microsoft SQL Server 就对外卖了。

合作持续到了 1994 年,因为商业利益的不一致,双方分道扬镳。Sybase 作为数据库厂商希望保持操作系统中立,而微软自然希望都投入到它的 Windows 上。不过微软获得了 Sybase SQL Server 的全部源代码,以及随意使用的授权。

file

我们今天熟知的 SQL Server 就此诞生,占有率逐渐攀升,目前是 Oracle 之后排名第二的关系型商业数据库,也遥遥领先于后面的 IBM Db2。

file

而 Sybase 的分支后来演化为了 Sybase ASE (Adaptive Server Enterprise)。但后来 Sybase 江河日下,直到 2010 年被 SAP 以 58 亿美金收购。瘦死的骆驼还是比马大,但本来的 Sybase 是可以撼动 Oracle 的存在。命运的分界点就发生在那次微软和 Sybase 的分叉,据说是 Sybase 的律师团队犯了严重失误,才会把整个 Sybase SQL Server 的知识产权都给了微软。

当前微软和 OpenAI 的局面也类似,微软在 OpenAI 上面套了一层壳转卖,它和 OpenAI 的投资协议里也有类似知识产权的条款。再加上这两天剧情的推动,微软倒是有可能把 OpenAI 的代码甚至是人都弄过来。

30 年前的数据库就像今天的 AI 一样热。而当 30 年后我们看待今天革命性的生成式 AI (Generative AI) 还是呼之欲出的通用人工智能 (AGI),也会像我们今天看待当年突破性的数据库 C/S 架构一样稀松平常。难道还有不这样做的吗?

数载沧桑变迁新,
数据库史漫尘檐。
今朝 AI 浪潮涌,
微软犹在巅峰显。

技术再怎么翻,微软还是微软。

file


💡 更多资讯,请关注 Bytebase 公号:Bytebase

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/159014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化测试 —— 元素定位

1.什么是自动化测试 自动化测试的概念:软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确…

9.2 Windows驱动开发:内核解析PE结构导出表

在笔者的上一篇文章《内核特征码扫描PE代码段》中LyShark带大家通过封装好的LySharkToolsUtilKernelBase函数实现了动态获取内核模块基址,并通过ntimage.h头文件中提供的系列函数解析了指定内核模块的PE节表参数,本章将继续延申这个话题,实现…

如何用CHAT写励志文章?

问CHAT:写一篇以《过了60岁要积极面对身体疾病的坎儿》为题目,写一篇300字励志文章 CHAT回复: 标题:《过了60岁要积极面对身体疾病的坎儿》 人生,有时会像一趟不期而遇的旅程,各自带着乐观或悲观、阳光或…

(论文阅读51-57)图像描述3 53

51.文献阅读笔记(KNN) 简介 题目 Exploring Nearest Neighbor Approaches for Image Captioning 作者 Jacob Devlin, Saurabh Gupta, Ross Girshick, Margaret Mitchell, C. Lawrence Zitnick, arXiv:1505.04467 原文链接 http://arxiv.org/pdf/1…

如何使用无代码系统搭建软件平台?有哪些开源无代码开发平台?

无代码是什么 无代码开发,也称为零代码(Zero Code)开发,是一种技术概念。无代码开发无需代码基础,适合业务人员、IT开发及其他各类人员使用。他们通过无代码开发平台快速构建应用,并适应各种需求变化&#…

深入理解Java虚拟机-GC

深入理解Java虚拟机-GC 当需要排查各种内存溢出、内存泄漏时,当垃圾回收成为系统到达更高并发量的瓶颈时,我们必须对内存动态分配和内存回收技术这样的“自动化”技术采用必要的监控和调节。 Java堆和方法区:一个接口的多个实现类需要的内存…

element表格头部加入图标

首先看看效果 下面是代码 <el-table-column prop"integralBalance"><template slot"header" slot-scope"scope"><div style"display: flex;justify-content: center;align-items: center;">积分余额<i class&qu…

创建 Springboot 项目

前言 创建 Spring Boot 项目是很多Java开发人员入门的重要一步&#xff01; 欢迎来到本篇关于创建 Spring Boot 项目的博客&#xff01;Spring Boot作为一个快速、便捷的开发框架&#xff0c;为我们提供了简化和加速应用程序开发的利器。 在这个数字化时代&#xff0c;快速响…

C语言从入门到实战——数组和指针的强化练习题

数组和指针的强化练习题 前言1. sizeof和strlen的对比1.1 sizeof1.2 strlen1.3 sizeof和strlen的对⽐ 2. 数组和指针笔试题解析2.1 一维数组2.2 字符数组2.3 二维数组 3. 指针运算笔试题解析3.1 题目1&#xff1a;3.2 题目23.3 题目33.4 题目43.5 题目53.6 题目63.7 题目7 前言…

rabbit MQ的延迟队列处理模型示例(基于SpringBoot死信模式)

说明&#xff1a; 生产者P 往交换机X&#xff08;typedirect&#xff09;会发送两种消息&#xff1a;一、routingKeyXA的消息&#xff08;消息存活周期10s&#xff09;&#xff0c;被队列QA队列绑定入列&#xff1b;一、routingKeyXB的消息&#xff08;消息存活周期40s&#xf…

迪文科技工业串口屏(DMG10600C070-03WTC)更新程序烧录刷机

迪文科技工业串口屏(DMG10600C070-03WTC)更新程序烧录刷机 问题 使用SD卡上电烧录&#xff0c;SD卡文件路径如下&#xff1a; 烧录时&#xff0c;无法写入&#xff0c;成功烧录文件数为0 解决方法 格式化读卡器 格式化脚本 echo off %1 %2 ver|find "5.">…

【Redis篇】简述Redis | 详解Redis命令

文章目录 &#x1f38d;什么是Redis&#x1f38d;Redis特点&#x1f38d;Redis应用场景&#x1f354;Windows安装Redis⭐启动Redis &#x1f33a;Redis数据类型&#x1f33a;Redis常用命令⭐字符串string操作命令⭐哈希hash操作命令⭐列表list操作命令⭐集合set操作命令⭐有序集…

C++实战学习笔记

文章目录 erase()uniquevector的insert()std::string::npos erase() &#xff08;1&#xff09;erase(pos,n); 删除从pos开始的n个字符&#xff0c;比如erase(0,1)就是删除第一个字符 &#xff08;2&#xff09;erase(position);删除position处的一个字符(position是个string类…

linux下流媒体压力测试工具的使用

前言 因为领导要求做linux的推拉流时服务器压力测试&#xff0c;于是在网上找了找。一顿操作下来&#xff0c;发现很多软件盗用一款名为srs-bench的开源软件。 该代码仓库有详细的使用说明&#xff0c;而且可以在issues中找到可能会遇到的问题的解决办法 需要下载该仓库的源…

RK3568开发板在工控工业物联网网关方面的应用

在数字化转型的浪潮中&#xff0c;工控物联网关产品扮演着重要的角色。这些产品通过连接工业设备和网络&#xff0c;为数据传输和分析提供了便利。而迅为RK3568核心板作为一款高性能的芯片&#xff0c;为工控物联网关产品的性能提升和功能扩展提供了强大的支持。 迅为RK3568核心…

基于JAVA+SpringBoot+VUE+微信小程序的前后端分离咖啡小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着社会的快速发展和…

2023年约特干故城夜间演艺《万方乐奏有于阗》完美谢幕

11月19日&#xff0c;记者走进约特干故城看到演员在欢乐地跳着刀郎舞和古典舞&#xff0c;庆祝今年以来夜间演艺《万方乐奏有于阗》演出200场完美谢幕。 11月19日在约特干故城&#xff0c;演员正在表演迎宾乐舞。阿卜力克木依卜拉依木摄 当天晚上&#xff0c;城楼上旌旗猎猎&am…

Java-接口

接口 接口 接口就是公共的行为规范,只要实现时符合标准就可以通用. 接口可以看成是: 多个类的公共规范,是一种引用数据类型. 使用关键字interface实现接口. 接口是不能被实例化的. 接口中的成员变量默认是 public static final 接口中只能有抽象方法,当中的方法不写,也是pu…

C语言中的多线程调用

功能 开启一个线程&#xff0c;不断打印传进去的参数&#xff0c;并且每次打印后自增1 代码 #include<windows.h> #include<pthread.h> #include<stdio.h>void* print(void *a) {int *ic(int*)a;float *fc(float*)(asizeof(int)*2);double *dc(double*)(as…

拆解现货黄金隔夜利息计算公式

在讨论现货黄金投资手续费的时候&#xff0c;隔夜利息是经常被忽略的一个方面&#xff0c;但它是投资者不得不考虑的成本因素&#xff0c;特别是在中长线交易的情况下。隔夜利息是根据投资者的持仓数量和交易方向所计算出的利息&#xff0c;如果投资者需要持仓过夜&#xff0c;…