什么是数据库它到底有啥用.docx
什么是数据库?下面我们来看下数据庵的官方定义:数据库是.按照数据结构来组织、存储和管理数据的仓库,是一个长期存慵在计算机内的、有组织的、可共享的、统一管理的大量数据的集合.看到这个定义,可能很多人依然云里雾里.其实简单来说,数据库就是是存放数据的仓库.它的存储空间很大,可以存放上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则面询的效率会很低。我们来打个比方:我们每个人家里都会有衣柜,衣柜是用来存放衣服的地方。那么数据库就是存放数据的地方。数据库也像衣柜一样,只不过帮我们存储的是数据.我们也可以通过数据库找到我们存储在里面的东西.例如你每天使用余额宝Si看自己的账户收益,就是从数据库读取数据后给你的.理解了数据序的概念后,我们来深入的了解下数据的作用.为什么我们需要数据库?可能很多人会问我的数据就存放在自己电脑的exce1.表里不就可以了,为什么还要搞个数据库呢?这是因为数据库比exce1.有更多的优势.比如数据库可以存放大B的数据,允许很多人同时使用里面的数据。下面我们来看下数据库的三个蚤要价值:首先,方便用户存储、访问数据。数据库可以存储大量的数据信息,方便用户进行有效的访问.数据阵还可以对数据进行分类保存,并且能够提供快速的查询。例如:我们平时使用谷歌搜索内容时,谷歌也是基于数据库和数据分类技术来达到快速搜索的目的.鹦二,帮助我们安全的保存数据.数据席可以满足应用的共享和安全方面的要求,把数据放在数据库中在很多情况下也是出于安全的考虑。例如:如果一个公司把员工所有资料都放在电脑上,资料的保密性就不是很好了.如果把员工的资料存到数据库中,就可以设笆一些权限,从而保证数据的安全性.3、利用数据库可以迸行数据分析,提升数据价值.例如:超市中把物品销住信息保存在数据库中,每个月销住情况的排名决定了下半月的进货数最.数据库面询的结果实际上产生了新的数据信息.了解了数据库的价值,下面我们来看下数据库的发展史。数据库的发展史1946年,有个叫冯诺依曼的人发明了计算机,最开始的计算机的主要用途是将程序指令存储器和数据存储器合并在一起,然后进行相应的运算.这时候的数据管理非常简单.主要是通过大的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理。然而,随着计算机的诞生和成熟,数据管理技术也迅速发展.传统的文件系统难以应对数据增长的挑战,也无法满足多用户共享数据和快速检索数据的需求.在这样的背景下,20世纪60年代,数据库应运而生.网状数据库和层次数据库时代1964年,世界上第一个数据库系统-IDSantegratedDataStorage,集成数据存储)诞生于通用电气公司.IDS是网状数据库,费定了数据库发展的基础,在当时得到了广泛的应用。网状数据厢是数据厮历史上的第一代产品,它成功地将数据从应用程序中独立出来并进行集中管理.网状数据库基于网状数据模型建立数据之间的联系,能反映现实世界中信息的关联,是许多空间对象的自然表达形式。5年后,美国数据库系统语言协会(ConferenceonDataSystems1.anguages,CODASY1.)下属的数据库任务组(DatabaSeTaskGroup.DBTG)发布了一份报告,阐述了网状数据库系统的许多概念、方法和技术,成了网状数据库的代表.在20世纪70年代与80年代初,网状数据库系统十分流行,在数据库系统产品中占据主导地位.例如,配备在富士通公司M系列机上的AIM(AdvancedInformationManager)系统和配笛在UNIVAC(UNIVersa1.AutomaticCOmPUter)上的DMSI100系统都是网状数据库系统。案随网状数据库后出现的是层次数据库,其数据模型是层次数据模型,即使用树结构来描述实体及其之间关系的数据模型.在这种结构中,每一个记录类型都用节点表示,记录类型之间的联系则用节点之间的有向线段来表示.每一个子节点只能有一个父节点,但是每一个父节点可以有多个子节点.这种结构决定了采用层次数据模型作为数据组织方式的层次数据库系统只能处理一对多的实体联系.1968年,世界上第一个层次数据库系统IMS(InformationManagementSystem,侑息管理系统)诞生于IBM公司,这也是世界上第一个大型商用的数据库系疣。如上所述,网状数据座系统和层次数据库系统在数据库发展的早期比较流行.网状数据库模型对于层次和非层次结构的事物都能比较自然地模拟,相比层次数据序应用更广泛,在当时占据着主要地位.1973年,Char1.esW.Bachman获得图灵奖,以表影他在数据库领域,尤其是在网状数据库管理系统方面的杰出贡献.但是,网状数据库也存在一些问题:首先,用户在复杂的网状结构中进行直询和定位操作比较困难;其次,网状数据的操作命令具有过程式的性质;最后,网状数据库对于层次结构的表达并不直接.Char1.esW.Bachman关系数据库时代虽然对于数据的集中存储、管理和共享的问题,网状数据库和层次数据库已经给出较好的解答,但是在数据独立性和抽象级别上仍有较大的欠缺。为了解决这些问题,关系数据库应运而生。1970年JBM的研究员EdgarFXodd发表了ARe1.ationa1.Mode1.ofDatafor1.argeSharedDataBankS论文,提出了关系数据模型的概念,龚定了关系数据模型的理论基础,这是数据库发展史上具有划时代意义的里程碑。EdgarF.Codd随后,EdgarF.Codd又陆续发表了多篇文章,论述了范式理论,用数学理论奠定了关系数据库的基础,为关系数据库建立了一个数据模型-关系数据模型.关系数据模型的概念非常简单,结构特别灵活,能满足所有布尔漫辑运第和集合运帝规则形成的查询要求;可以搜索、比较和组合不同类型的数据;使用关系数据模型进行数据增加和删除操作非常方便,关系数据模型具有较高的数据独立性和更好的安全保密性。然而,当数据库比较大的时候,Si我满足特定关系的数据比较耗时,同时也难以描述空间数据关系.在关系数据模型的基础上,IBM公司从1970年就开始了关系数据库项目SystemR的研究和开发.然而,由于IBM已有层次数据库产品IMS.SystemR产品化进程十分缓慢,直到1980年才完成产品化,作为一个产品正式推向市场.后来,IBM公司在SyStemR的基础上发布了DB2数据库系统。IBM公司研发进程缓慢,没能在产品上抢占先机.1973年,加州大学伯克利分校的Michae1.Stonebraker和EugeneWong利用IBM公司已发布的信息,以及关系模型的理论,开始开发自己的关系数据库系统Ingres.1976年,东尼韦尔公司(HoneyweII)开发了世界上第一个商用关系数据库系统-Mu1.ticsRe1.ationa1.DataStore.1974年IBM的RayBoyce和DonChamber1.in将EdgarF.Codd论述的关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQ1.(StructuredQuery1.anguage结构化杳询语言).SQ1.是一种操作关系数据库的标准语言,它包括了对数据进行定义、操纵、直询和控制功能的类型分句.用户只需要在高层数据结构上迸行数据处理,无须用户指定数据的存取方法,也不需要用户了解具体的数据存储方式,就可以使用SQ1.对不同关系数据库进行数据操作.SQ1.有若一体化、使用方式灵活、非过程化和简单易用的特点,几乎所有的关系RDBMS(DatabaseManagementSystem,数据库管理系统)产品都支持SQ1.,例如Orac1.e,DB2,Sybase,SQ1.Server,MSAccess,MySQ1.,PostgreSQ1.等.1978年,1.arryE1.1.ison在为美国中央情报局做一个数据项目的时候,敏锐地发现关系数据库的商机.几个月后,Orade1.0诞生了,它除了完成简单关系直询之外,不能做任何事情。但是经过短短十几年,Orac1.e公司的数据库产品不断发展成熟,成为了数据库行业的巨头.至此,关系数据模型的理论才通过SQ1.在商业数据库OraCIe中使用.虽然加州大学伯克利分校的IngreS项目结束于20世纪80年代早期,但在SgreS的基础上产生了很多商业数据库软件包括Sybase.MicrosoftSQ1.Server以及EfOrmiX等其他众参的数据库系统.在20世纪80年代中期,加州大学伯克利分校又启动了Ingres的后继项目Postgres,该项目产出了很有影响力的P。StgreSQ1.数据库系统.Ingres作为比较早的数据库系统,对关系数据库的发展产生了里要影响,是数据库发展史上最有影响力的项目之一.关系数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善,直到今天,关系数据阵仍然在数据库领域占据者最至要的地位,应用范围非常广泛.由于EdgarF.Codd在关系数据库理论和实现方面的杰出贡献,他于1981年被授予图灵奖.为了表彰Michae1.StOnebraker在数据库系统原型和初步商业化方面的巨大贡献,2014年MiChaeIStonebraker被授予图灵奖.虽然关系数据库系疣的技术很成熟,但随着市场和信息技术的发展,其局限性也逐渐履露出来,即它能很好地处理所谓的“表格型数据“,却无法处理当前出现的越来越多的复杂类型数据(如文本、图像、视频等).分布式数据库时代在数据库发展早期阶段,使用单机数据席就能满足数据存储和管理的规模,但是随着互联网的不断普及,特别是移动互联网的兴起,数据规模爆炸式增长,单机数据阵越来越难以满足用户需求.解决这种问题的一个直观方法就是增加机器的数,把数据库同时部署在多台机器上,分布式数据雷就这样应运而生了.20世纪70年代中期分布式数据库的研究就已经开始了,这个时期也出现了一些分布式数据库系统.例如,1979年,美国计兑机公司(ComputerCorporationofAmerica,CCA)在DEC(Digita1.EquipmentCOrPOration)计第机上实现了世界上第一个分布式数据库系统SDD-I.随后,在不到十年的时间内,分布式数据库的发展十分迅猛.例如,】BM公司在SystemR的基咄上研制了分布式数据库Rt,加州大学伯克利分校开发了分布式IngreS等.1987年,UJQate提出了完全的、真正的分布式数据库系统应遵循的原则,该原则被作为分布式数据库系疣的理想目标.20世纪90年代以来,分布式数据库系统进入商业化应用阶段,传统的关系数据麻产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品。2005年左右,研究人员对分布式数据库的探索,推动了NoSQ1.数据库的发展,这些数据库解决的首要问题是单机上无法保存全部数据,其中以HBase、Cassandra,MongoDB为代表。2012-2013年,业界在谷献(GoogIe)发表的Spanner和F1.系统的论文中看到了关系模型和NoSQ1.的扩展性在一个大规模生产系统上融合的可能性,这些探索极大地推动了NeWSQ1.数据库的发展.进入大数据和移动互联时代后,因为数据的特性和应用场景的变化,注定若不论是传统的关系数据库,还是新型的N。SQ1.和NeWSQI.数据库都会向着分布式的方向发展,分布式数据库也成了数据库领域的主流方向之一.但是分布式数据库也存在一些问题.例如,众多节点之间通信会花费大量时间;数据的安全性和保密性在众多节点之间会受到威胁;在分布式系统宜杂的存取结构中,原本在集中式系统中有效存取数据的技术可能不再适用;分布式的数据划分、负载均衡、分布式事务处理和分布式执行技术缺乏新的突破.云数据库时代云计目(C1.。UdComputing)的迅猛发展使得数据库部罟和虚拟化在,云端”成为可能.云数据库即是数据库部署和虚拟化在云计算环境下,通过计算机网络提供数据管理服务的数据库.因为云数据库可以共享基础架构,极大地增强了数据库的存储能力,消除了人员、硬件、软件的正复配置.云数据库将传统的数据库系统死m在云上.,有专门的云服务提供商进行这些11云上数据库系统的管理和部署工作,用户只需要通过付费的方式就能获取数据库服务,不同于传统数据库,云数据库通过计算存储分离、存储在线扩容、计算弹性伸缩来提升数据库的可用性和可靠性.代表性的云数据库是亚马逊的Aurora,它首先提出了日志即是数据库的理念,减少了网络消耗,提升了系统的可用性.云数据库也能分成关系数据库和非关系数据库。典型的基于关系数据模型的云数据库就有亚马逊的Aurora,微软的SQ1.AZUre云数据库.常见的基于非关系数据模型的有亚马逊的DynamoDB,该数据库采用键值存储.2019年6月,Gartner发布TheFutureoftheDatabaseManagementSystem(DBMS)MarketIsC1.oud报告,明确提出传统的部署数据库的方式已经过时,云是未来,所有组织,无论大小,都将越来越多地使用云数据库.但是,云数据库中存在的问题也不可忽略,云计箔中最值得关注的是安全问题,云计算对数据安全带来了极大威胁,数据极易泄露,存在意外丢失的风险.常见的数据库管理系统排名(DBMS)目前互联网上常见的数据库管理软件有Orac1.e、MySQ1.、MSSQ1.Server、DB2、PostgreSQ1.Access、Sybase,Informix这几种.以下是2024年1月7日DB-EnginesRanking对各数据库受欢迎程度进行调直后的统计结果:(直看数据库最新排名:db-I为什么要发展国产数据库?数据库是企业的核心资产,其中存博了大量的敏感信息和里要数据.国外数据库产品存在被国外政府或商业机构窃取、器改数据的潜在风睑,这就需要国产数据库来确保数据的完整性和安全性.当时九十年代,OraCIe席卷中国,占据了中国很大的市场.说到OraC1.e历史,这里提到一个小事,那就是:1997年1月27日,埃里森乘专机飞临北京,冯星君通过关系安排国宾车队去接,国宾车队的车一直开到跑道上,一大队车闪石灯很威风.机舱门开了,但人总是不出来,等了20分钟,从飞机上跳下来一个穿防弹衣的黑人保,他对迎接的隼队说:所有的车门全部打开,我要检直有没有炸弹.一边是美国来的大老板,一边是同样惹不起的国宾车队,这哥们太雉受了,他忍了.第二天,埃里森要到长城拍推广网络计算机的电视片,事前吩咐冯星君找了20个小学生参与拍摄.约好早上8点,直到9点,埃里森都不起床.当天零下20多度,大巴没有暖气.冯星君去求埃里森:那些小孩要冻死了.J冯星君眼泪都快流出来了,埃里森才勉强答应启程.去了没妥久,埃里森让副手打回电话给冯星君说:埃里森挺喜欢长城,玩得挺高兴,中午就不回来了,你取消下午3点跟XX(某位领导人)的会面吧.J这哥们差点屋过去.下午的会面不是开玩笑的,如果我2点仲看不见埃里森,我辞职,我要走了,这个责任我担不起.那边一听怕了,埃里森一行匆匆赶回人民大会堂,那个黑人保羡还要跟着进去,说要保护老板,吵闹得不可开交.虽然是一件疯传的小事,但足可以看到OraCIe在当时有多牛,而随着国产数据的发展。2019年,甲骨文干脆裁掉了北京研发中心的500名员工.甲骨文走到这一天也不奇怪,一方面是甲骨文在中国的业绩在走下坡路;另一方面是埃里森的傲慢和偏见,他之前说过一句很现实的话:"中国工程肺绝不能超过美国工程师,因为中国是美国最大的竞争对手.小了,格局真的小了。所以说,无论是芯片、操作系统的国产化发展史,还是数据库的国产化经历,都在提醒若我们,核心东西没有捷径,市场换技术在绝大多数时候都是一厢情飕,你能依齐的永远只有自己.国产数据库的分类由于国产数据库发展较晚,所以大多会仿照国外数据库来发展.经过一段时间的整理后,发现虽然国产数据库种类很多,但归根结底,都是参考了国外大厂数据库来开发的,因此,根据收英来的国产数据库,我们进行了归类总结,各位看官向下看:可以看到基本上可以分为Orac1.e、MySQ1.Postgresq1.Informix等四个系列。Orac1.e系K-DB由浪潮和韩国第一大企业级软件提供商TmaX公司共同研发的企业级数据序系统,这个库和OraeIe很像很像,要是不提醒你,在操作的时候可能你会觉得,这不就是OraC1.e么,具体Tmax是如何能够开发出这么牛琳的数据库,这不是咱们今天的话题,只要清楚,他和OraCIe很像很像就行了,况且还和浪潮共同研发,国产之中跑不了了。达梦MD达梦一直宣传自己很像OraC1.e,包括集群,DG,包括开发的SQ1.,运维的命令.这和K-DB有一拼的,他们到底是不是亲兄弟,我们也无从而知。稳定性有待测试,功能上和OraC1.e比较像,它自己都说就是为了去0的发展战略.MySQ1.系(均分布式)SequoiaDB巨杉数据库,官网称已经有超过50冢银行核心生产系统规模使用,100%兼容MySQ1.语法.从根源上来讲,MySQ1.数据库处理事务关域在于存储引擎,我们常用的是Innodb(MySQ1.5默认存储引擎),归OraeIe所有,而巨杉自研数据库,是将存储引擎换为巨杉自己的,因此也不难理解100%兼容MySQ1.语法了.GoIdenDB中兴研发的数据库,基于MySQ1.开发,据了解中信银行核心使用的就是GoIdenDB4TDSQ1.腾讯自研数据库,基于MySQ1.开发,分布式,主打云上TIDB由PingCAP研发,GO开发,兼容MySQ1.协议和生态,分布式.目前亿联银行以其为主.OCeanBaSe阿里出品,阿里内部据说目前已经用OB完全替代了Orade,能够支撑起双十一真的是很厉害了。但具体能否应用到传统金融上,那还要去实践.PoIarDB阿里出品,到底和OB啥关系,有人说是内部竞争,但从介绍来看,PoIarDB主打的还是云上,定位和腾讯的TDSQ1.差不多.PostGreSQ1.系GaUSSDB华为出品的高斯数据库,已经在工行进行了大量的实践,将Teradata进行了充分的替换,恐怖吧,华为确实是干大事的企业.相信不久的将来也能像做手机一样,厚积薄发!KingBaseES人大金仓数据玲,由中国人民大学及一批最早在国内开展数据库教学、研究与开发的专家基于PG研发的。HighGoDB关于瀚高的资料不多,从百度百科上找到海高是中国唯一一冢涉及基础数据库系统软件开发研究的民营企业,是国内优秀软件企业、高新技术企业.Informix系Informix老牌数据库了,为什么也纳入国产了呢?这是因为IBM将Informix源代码出色给了中国的南大通用。话又说回来,这不是买断,是授权!后期IBM再将Informix升级改造,南大通用要想使用,还得再拿票子。早期Informix被Orade已经替换的差不多了,现在再替换会InformiX系,还是挺难.Gbase南大通用基于InformiX研发的国产数据库,又收了InformiX源代码,可谓如虎添谡.就看中国用户买不买账吧!国内数据库迎来井喷发展?数据库系统的萌芽出现于20世纪60年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求.传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生.随有关系模型有了完善的理论支撑后,以Orac1.e、DB2到SQ1.Server为代表的数据而开始在各大企业中应用,商业数据庠迎来了第一波高速发展。但关系数据库有一个比较大的问题就是费,只有那些比较大的企业才能用得起数据库,对于一些中小企业来说,随着业务的增长,也急需要一款能用的数据库出现,于是MySQ1.、PostgreSQ1.等数据庵以开源、免费和简化版的形态推动了数据库历史上第二波更加广泛而膨响深远的发展,形成了数据库发展的第二波浪潮.2000年左右,基础架构还没有反应过来,从应用层到中间件层开始解决集中式解决不了的问期,以Cobar,MyCAT为代表的中间件方案的分布式架构出现。一直到2010年左右,以Goog1.eSpanner、OceanBase等为代表的原生分布式架构出现脂伴互联网高速发展的十余年,产品逐渐打磨成熟并开始商业化。随着互联网的发展,现代应用处理的数据量更大,也会经常面对脉冲业务的冲击,应用架构通过服务化架构和容器技术具备了更大的数据处理能力和弹性伸缩能力,从而间接要求数据鹰具备海量数据处理能力和弹性伸缩能力,同时业务的分布式和垂直拆分会要求数据库也是分布式的.但分布式有状态数据如何保证一致性,又如何应对大量数据座实例管理的旦杂度,这在传统集中式数据库的架构上是极大的挑战。所有这些新的问题表明,互联网时代的架构已经无法用传统的数据架构和思路来解决这些新问题了.如果还是治标不治本,通过外挂或者各种外部软件和数据库软件拼装组合的方式来应对这些复杂问题,只会让豆杂度和风险变得更高.因此,要构建现代应用架构的摩天大厦必须彻底重构数据架构的地基。近年来,国际局势豆杂多变,国外持续加大对中国科技产业的制裁力度,先后将数百家中国高科技企业列入出口管制实体清单;俄乌冲突爆发后,众多头部IT厂商陆续停止对俄罗斯的产品供应.在不可控国际因素及国内数字经济转型需求的驱动下,我国IT产业自主可控的紧迫性愈加凸显,为了解决核心技术”卡脖子”的问题,科技自立自强已是我国的一项国家战略,通信、计算机.军工和医疗器械行业将成为国产替代产业的重要领域。如今,国产数据库已是百花齐放.除了传统数据库厂商(人大金仓、达梦、神舟通用、南大通用等),也有大厂的”云数据库.(阿里云、腾讯云.华为云等),还有新兴数据库,比如PingCAP的通用数据库TiDB,济思数据的时序数据库TDengine.欧若数网的图数据库Nebu1.aGraph,此外还有巨杉、中兴、浪潮.易航捷等的数据库产品,都登上了国内外流行度榜单.