引出
《中国数据库前世今生》观影——2000年代/数据库分型及国产数据库开端
第3集:2000年代/数据库分型及国产数据库开端
y2k问题
千年虫,又叫做“计算机2000年问题”“电脑千禧年千年虫问题”或“千年危机”。缩写为“Y2K]”。是指在某些使用了计算机程序的智能系统包括计算机系统、自动控制芯片等)中,由于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运算时(如多个日期之间的计算或比较等),就会出现错误的结果,进而引发各种各样的系统功能紊乱甚至崩溃。因此从根本上说千年虫是一种程序处理日期上的bug(计算机程序故障),而非病毒。
1997年那时候大家突然意识到时间字段保存的问题:
这个问题是因为之前存储很贵,很多字段能省就省,所以1975年就写75,但是大家突然意识到还有2000年,这时候00-75就要出问题了,所以这个问题还是比较麻烦的,大家都在进行改造,解决这个问题。
不管哪一轮的新潮都要想要取代数据库,但是每次数据库都会更加发展起来。
IBM:有自己的系统,绑定硬件一起销售
微软:没有unix系统,在window平台上,其他数据库没有竞争力。
DB2:睡觉的狮子,千万别叫醒他,叫醒了之后大家会吃苦头
当时的互联网很热,大家都想在这里进行发展,就牵扯到了很多精力。
00年新的数据库
一、列式数据库,sybase,金融客户的发展
IQ代表列式数据库进入中国的的标志,列式数据 OLTP
列数据存储区也称为面向列的DBMS或列式数据库管理系统。列存储DBMS将数据存储在列而不是行中。
列式数据库是以列相关存储架构进行数据存储的数据库,主要适合于批量数据处理和即时查询。相对应的是行式数据库,数据以行相关的存储体系架构进行空间分配,主要适合于大批量的数据处理,常用于联机事务型数据处理。
列存储数据库使用一个称为 keyspace 的概念。keyspace 有点像关系模型中的模式。keyspace 包含所有列族(有点像关系模型中的表),其中包含行,包含列。
像这样,一个 keyspace 包含多个列族:
动感时代:就是当时外企对于国企的一个启发,用多种组合的套餐来吸引年轻人。
二、内存数据库,对列式数据库有影响,
内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。
三、嵌入式数据库:
SQLAnywhere,SQLite,
自适应自调整的能力,轻量化
SQLite是一个轻量级的嵌入式关系型数据库管理系统。它由D. Richard Hipp在2000年开发,它实现了一个小型、快速、独立、高可靠性、功能齐全的SQL数据库引擎。
SQLite 用C语言开发,最开始的设计目标是嵌入式系统,它可以在不需要单独的服务器进程的情况下,直接嵌入到应用程序中。后来正好赶上智能手机等智能设备普及,正好契合 SQLite 的使用场景,于是大量的智能设备都在使用 SQLite 。这么说吧,你用的手机上,一定有 SQLite 存在。
像 MySQL 一样,SQLite 也是开源且免费的,据官方统计,目前正在使用的 SQLite 数据库超过 1 万亿个。SQLite 支持C、C++、Java、Python、Swift等大多数语言直接使用。 SQLite 会随着应用程序代码一起打包,所以这样说来,你的手机上还不止一个 SQLite ,可能有很多,例如微信有一个、美团有一个、网易云音乐等等 APP ,都可能包含自己的 SQLite。
四、数据流,流式数据库:
以数据流的形式流动过去,时间窗口,
流式SQL是指采用用于编写数据库查询的相同的声明式SQL,而在快速变化的数据流上运行。
这很有用,因为。
- 当你能迅速采取行动时,数据往往更有价值
- 现有的从数据流中获得实时洞察力的工具过于复杂。
铁路票购买
分布式系统NoSQL,
12306在开始诞生的前几年,每到重大节假日,经常“瘫痪”,直接原因就是集中超负荷的访问量。技术原因是它在此期间所采用的国际著名的某大型关系型数据库产品。这里暴露出来的问题特点便是:
(1) 传统大型关系型数据库无法更好地解决问题
(2) 在互联网上的应用
(3) 超大规模集中时间段在线访问和业务处理(订火车票)。
NoSQL正是为了解决这个问题而诞生了,重点突出处理速度的响应和海量数据的存储问题。
海量数据?PB级以上
据说一张票的购买要涉及到很多数据库,是因为铁路是分段的,比如武汉铁路段,北京铁路段,他是分段的,不同的段的票还是不一样的。
每次查询有没有车票都要到数据库,但是这样数据库的压力就非常大,尤其是中国的人很多。所以当时就做了一个读写分离。
读写分离,余票数据库放到内存中,这样大家查到这里面是上一秒的数据,减轻了数据库的压力。
关于CRM
CRM客户关系管理系统(英文全称Customer Relationship Management),主要就是利用软件、硬件和网络技术,为企业建立一个客户信息收集、管理、分析、利用的信息系统。
CRM系统主要是以客户为核心,企业和客户之间在品牌推广、销售产品或提供服务等场景下所产生的各种关系的处理过程,其最终目标就是吸引新客户关注并转化为企业付费用户、提高老客户留存率并帮助转介绍新用户,以此来增加企业的市场份额及利润,增强企业竞争力。
noSQL
从no SQL 到 not only SQL,
把数据库的那的包袱丢掉了,然后又开始建立了一个新的生态,这个生态里面开源数据库很多。
NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。
在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。
1970年 E.F.Codd’s提出的关系模型的论文 “A relational model of data for large shared data banks”,这使得数据建模和应用程序编程更加简单。
通过应用实践证明,关系模型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
国产数据库
达梦,
十一五,市场没有那么大,而且国家的支持不是很多,当时就很难,裁了很多人。
国产数据库的发展经历了从跟随到超越的过程。在过去,由于技术门槛和市场垄断,国内数据库市场主要由国外品牌占据。然而,随着国内技术实力的增强和政策的扶持,国产数据库逐渐崭露头角。如今,国产数据库已经形成了较为完整的产业链,并在某些领域实现了对国外品牌的超越。
总结
《中国数据库前世今生》观影——2000年代/数据库分型及国产数据库开端
第二集 90年代 混沌 国外数据库商战
1.银行的数据库实现
联机事务处理OLTP(on-line transaction processing),OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作。
当时银行只能在哪个点存钱只能在那里存取,所以就特别需要OLTP的发展。
2.中国的铁路系统
中国铁路线路上,跨域长,买票卖票的数据的存取很难,是一个非常大的挑战,当年的买票只能排队,一票难求,当数据库建立起来后,可以说人们的生活水平得到了不小的提高。
3.关于Sybase
美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。 Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。
当年看到一个小新闻,复旦大学和sybase建立一个联合实验室的报到,然后就打电话找到那个报告的记者,然后获得sybase的地址,上班时间骑自行车就去见了负责人,11月份就去上班了。
4.关于Orcale的崛起
Oracle的发展历程是一段充满创新与扩张的历史。以下是Oracle发展过程中的一些关键节点:
- 1979年:公司发布了第一个商用的关系型数据库管理系统Oracle 2.0,这标志着Oracle在数据库领域的起步。
- 1983年:Oracle发布了第三版,这一版本以其可移植性而闻名,为公司赢得了市场先机。
- 1984年:Oracle进军国际市场,先后在多个国家设立分支机构,扩大了其全球影响力。
- 1986年:Oracle公司上市,年收入达到5500万美元,标志着公司进入快速增长期。
- 1990年代:Oracle通过一系列创新产品和技术,如Oracle 7引入的并行服务器技术,巩固了其在数据库市场的领导地位。
有以下两点:
技术的投入,非常舍得投入资金进行技术的开发;
了解客户,会去深入了解客户的需求和痛点,然后针对这个进行优化;
5.关于微软SQL Server
早期微软曾与 IBM 合作开发了一套新的操作系统,即 OS/2 系统。微软看到了合作开发软件具有巨大的优势和广阔的前景,同时为了与 IBM 的数据库计划进行竞争,于是微软联合了当时数据库行业的两家知名公司 Sybase 和 Ashton-Tate 共同开发一套运行于 OS/2 操作系统上的数据库系统。经过三方共同努力,1989年 Ashton-Tate/Microsoft SQL Server 1.0 for OS/2 正式发布。
后来,微软为 SQL Server 建立专门的技术团队,并且于次年起陆续取得了 Sybase 的授权。从此,SQL Server 团队有权查看和修改 SQL Server 的源代码,只是所有的修改都必须得到 Sybase 的检验并且同意后才可以执行。
与 IBM 的合作停止之后,微软便独自研发 OS/2 3.0 版,不久这个操作系统被命名为 Windows NT。微软的 SQL Server 团队决定终止对 OS/2 的支持,全力研发支持 Windows NT 的版本。1993年,Windows NT 3.1 出货后 30 天,SQL Server 4.2 for Windows NT 3.1 就开始在市场上销售。在9个月内,SQL Server 的销售收入就增长了2倍。SQL Server 4.2 是第一个 Windows NT 上的 SQL Server 产品,也是第一次出现在微软认证考试中的 SQL Server 产品。
1994年,微软与 Sybase 正式终止了合作关系,微软买下了 Windows NT 版本的 SQL Server 全部版权后就开始完全独立开发。次年6月,微软就发布了 SQL Server 6.0。对微软而言,这个版本是一个重要的里程碑,因为这个版本是独立完成的,没人借他人之手。
1996年,微软发布了 SQL Server 6.5,作为对 SQL Server 6.0 的重要更新。
当时微软以很便宜的价格进行收购,然后也获得了代码的授权进行改造,在这个基础进行开发,后面就出来了图形化的操作系统。
然后开发SQL Server,这个名字非常好,一看就知道,是做SQL的,然后是做Server的。
第一集 1980年代/起步
80年代的状况
1.数据录入很难
“80年代初的时候搞信息化确实是一个很艰难的事情,我记得我们曾经在港口去做项目,很多参与人员都没见过计算机,也没见过键盘。打个字连键盘上面的字母都找不到,找一个找半天。用一个指头去点,叫一指禅。”
2.计算机还没见过
很多人都没见过计算机,更不会打键盘,
“最早的时候什么都没有,开发人员要手写代码,录入进去,有问题再改,改完再在纸上改回来。后来有了打孔纸带去做录入,再后来才升级成了磁带,最后才是软盘。存储介质娇贵又金贵。”
3.软盘
当时用的还是软盘,软盘很娇贵,折一下就可能不能用了,后来尺寸变得越来越小。
软盘是个人电脑设备中,最早使用可移动备份存储设备。
软盘有八寸、五又四分一寸、三寸半之分,分为硬磁区及软磁区。
4.计算机竞赛
当时有很多计算机的竞赛,其中有一个竞赛,有一位参赛者用ASCLL,利用矩阵打印一个熊猫,就能获得一等奖。
1983年“六一”儿童节,学校拍了一张照片,上了杂志的封面:两个戴着红领巾的男孩子,一个人朝屏幕上指点,另一个操作着电脑。屏幕上显示着两行字:“我们爱科学”“欢庆六一”,和一个卡通图形。
两个男孩子分别叫余晨和李葆春,都是学校计算机小组的积极分子,后来分别考上了北大和清华。
如今,他们一个成为第三方支付平台易宝支付的联合创始人、总裁,一个是加拿大多伦多大学电子与计算机工程系的终身教授。
5.数据库的使用
计算机管理数据,当年都是用算盘计算,现在用sql一个语句就好了;
当年数据库学习很枯燥,理论很麻烦,但是只有用的时候才真正有意思,所以计算机是玩出来的,用的时候学。
6.数据库的发展
数据库发展离不开标准的指定,需要有标准对的规范,就才能便于维护,这样才能走的更远,会被用的更久。
如果SQL写的简单、清晰,写的很好
80年代国外
1.交通部的使用IBM
买了IBM,开始研究,开始拓荒,做汉化,做研究,然后在这个基础上用来做船舶的数据库;
2.Oracle介绍到国内
当时国内很多人还是比较愿意用文件系统,因为当时数据库的优势在少量的数据上优势并不明显。
当时Oracle数据库进入中国,有很多国内的力量在推动,顺应当时改革开发的潮流。
3.关于翻译 甲骨文
这个翻译还是很有意思的,当时有了这个翻译,一直用到了现在。