区块链有两个含义:
1、区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
2、区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。这项技术也因其安全、便捷的特性逐渐得到了银行与金融业的关注。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和 *** 作数据的一种全新的分布式基础架构与计算方式。
作者:王慧贤
数据存储、数据分析、数据安全如今,围绕“数据”的话题越来越多,离人们的生活也越来越近。
从陌生到熟悉,数据不仅“出圈”,甚至已然站在了C位。去年,中央发布的《关于构建更加完善的要素市场化配置体制机制的意见》中明确表示,继土地、劳动力、资本、技术后,数据成为第五大生产要素。
步入信息化时代后,数据库、 *** 作系统与中间件作为计算机最基础的三大软件,支撑着企业的正常运行。
当数据成为生产要素后,必然会迎来爆发式增长,企业的数据存储和处理需求将进一步释放。更重要的是,疫情加快了数字化转型的脚步,更加速了企业的上云速度。
从信息化到数字化,时代的变革,总会带来商业世界的变化。如何在云原生架构下使用数据库,成为企业的痛点和云厂商的机会,亚马逊AWS的CTO Werner Vogels曾多次强调:“数据库是云计算的终极之战。”
在数智化时代,云原生到底意味着什么?云原生数据库和传统数据库相比,核心优势是什么?是否把数据库搬上云就是云原生?基于这些问题,雷锋网与阿里巴巴集团副总裁、阿里云数据库产品事业部负责人李飞飞展开一场对话。
国产云原生数据库,摆脱「切肤之痛」
如今,数据库的商业世界,因为云的出现与发展,分成了两大派系。
一派是以Oracle为代表的传统商用数据库,一派是以国外AWS、国内阿里云为代表的云原生数据库,去“IOE革命”下的产物。
其实,早期较为火热的数据库种类有三种,层次式数据库、网络式数据库和关系型数据库。
在《浪潮之巅》一书中,作者吴军写下了这样的观点:“Oracle 的兴起很大程度上靠的是它最早看到关系型数据库的市场前景,并且在商业模式上优于 IBM。”
因此,在云原生数据库“入世”之前,数据库的天下一直是Oracle的,国内大部分互联网公司都不得不采用Oracle+IBM小型机+EMC的模式来维持正常运营。
高昂的费用,使得对于数据库需求较大的互联网巨头“忍无可忍”。
2009年,阿里巴巴的Oracle RAC 集群节点数达到了创记录的20个。可由于Oracle并没有d性扩展的功能,只能按照峰值流量购买小型机和数据库,导致阿里将业务上涨带来的大部分利润,都支付给了Oracle。
第二年,阿里便开始走上了去“IOE”之路,根据开源MySQL搭建了AliSQL,并顺利经过了淘宝双11的考验,国产云原生数据库算是正式摆脱了“切肤之痛”,逐渐受到市场的真正认可。
另一边,国外的AWS在2015年公布了基于云计算的自研数据库Amazon Aurora。Aurora是一个关系型数据库,可以跨3个可用区域复制6份数据,其最大的特性就是高性能和高可用性。
云计算巨头的入局,让云原生数据库在国内外一步步成为主流。据Gartner预测,到了2021年,云数据库在整个数据库市场中的占比将首次达到50%,到2023年,75%的数据库都要跑在云平台之上。
关于云原生数据库,随着逐步的出圈,也让人们关心的焦点从“是啥?”转变为“还能解决哪些问题?”
但云原生数据库存在着数据孤岛的问题,无法打通多个数据系统的情况下,企业在数据加工和数据管理上就会“压力较大”,甚至在数据安全方面还存在隐患。
传统数据仓库一般基于T+1数据集成构建离线数仓,以支撑企业各项分析与服务。传统方案不但会影响线上业务稳定性,且难以支持企业的实时需求。
因此,在李飞飞看来,云原生数据库已经走到20阶段。这个阶段要解决的问题,就是上述存在的痛点。
9月26日,在阿里云数据库创新上云峰会上,阿里云发布了首个一站式敏捷数据仓库解决方案。该方案结合一站式数据管理平台DMS及云原生数据仓库AnalyticDB(简称:ADB),实现了库仓一体的技术架构,提供在线数据实时入仓、T+1周期性快照、按需建仓等能力,数据延时低至秒级,持续赋能业务在线化,使企业的在线数据可以释放出更大的价值。
相较于传统方案,阿里云一站式敏捷数据仓库解决方案有4大核心优势:
1、对业务侧影响小,不会因为数据汇聚集中和实时加工影响业务侧正常运行,CPU、内存占用低于5%;
2、事务顺序和数据准确性有保障,且处理链路短,支持在线数据实时处理落仓,效率更高。数据传输效率100m/s,数据延时在10秒内;
3、支持复杂实时数据加工、计算逻辑;
4、低代码 *** 作,能够大大降低实时数仓的构建难度,提升构建效率的同时,支撑企业数字化转型过程中的各类实时场景。
除了实时统计分析场景外,企业为满足周期性数据分析需求,需建设周期性全量快照。
传统数仓的周期性全量集成方案会对生产业务造成稳定性影响、全量集成时效性差、且无法满足客户针对任意时间点进行数据回溯的业务诉求。
针对T+1周期性集成场景,一站式敏捷数据仓库解决方案支持基于拉链表的T+1全量数据快照,用户通过简单几个步骤,即可按需生成各种周期的全量或增量快照。
此外,业务还可按需进行任意时间点的数据回溯,以快速解决数据异常问题。
谈起未来数据库的发展趋势,李飞飞提到以下五点:
1、云原生+分布式一定是数据库的标配,分布式已经是必选项。分布式数据库由多个相互连接的数据库组合而成,面向用户则是以单个数据库的形态出现。云原生分布式数据库具备易用性、高扩展性、快速迭代、节约成本等特征,从资源池化到d性扩展,再到智能运维,再到离在线一体化,解决企业用户的核心诉求。
2、AI for DB(database,指数据库)和 DB for AI 将是主流趋势。用AI将数据库运维管控智能化,尤其在云原生+分布式这个前提下更重要,因为数据库不仅是内核的能力d性高可用、可拓展性,更重要的是部署后应用和运维的复杂度要大大降低。在数据库里,面对越来越多非结构化的数据,分析能力十分重要。
3、数据的安全可信,在今天这个大环境下变得愈发重要,如何确保整个数据库系统,在处理数据全链路过程中提供加密能力、多方安全计算能力、隐私保护的能力,也是很重要的趋势。
4、多模数据处理能力将越来越重要。比如,新型数据库多模态的处理能力,在新能源 汽车 企业打标签、智能电池化预测等应用场景中,将发挥越来越重要的作用。
5、一份数据,多个数据处理引擎:实现仓库一体、仓库联动、仓库打通,数据之间无缝流转。
以上判断,也从侧面反映出阿里云数据库的走向,这点毋庸置疑。但除此之外,业界最关心的,还有开源。
近半年,国内很多厂商相继提出开源战略,背后缘由显而易见,为了打造生态。就在今年的阿里云峰会上,阿里云智能总裁、达摩院院长张建锋(花名行癫)将2021年阿里云的发展关键词归纳为:做好服务、做深基础、做厚中台、做强生态。
做好服务与生态,成为如今厂商们不约而同的目标,而开源,就是最好的选择。
当雷锋网问到:“未来,阿里云数据库会不会把所有能力都开源?”这一问题时,李飞飞给到的回答是:“不会。”
之所以有这样的回答,是因为对于开源,他有着一些判断和看法。
李飞飞表示,这些部分,本就是阿里云数据库的商业化版本。
事实上,业界大多数的数据库厂商都不会针对自身的核心能力开源,如TiDB的核心管控组件、TiFlash。
与像MongoDB,、Cassandra、CouchDB这些以开源起家的数据库厂商不同,开源只是阿里云数据库的战略,不是阿里云数据库的命脉。
前几年,有业内人士表示,在面向开源时,国产数据库首先需要解决信任以及开源知识产权等问题。“开源会让厂商更加认真思考版权还有专利的问题,事实上,选择开源后,对于数据库厂商提出了更高的要求。”
李飞飞认为,开源只是一种选择,数据库开源成功并不代表着商业化就能够成功,不开源也不能代表厂商不先进。
更准确的说,开源只是一种有效手段。
最终,阿里云数据库希望客户能够通过开源版本把阿里云数据库产品技术快速用起来,并能够参与到技术产品的迭代过程中,在一些高阶能力上,借鉴团队专业能力和阿里云的服务能力,成为良好的商业合作伙伴,这是李飞飞以及阿里云数据库对于开源的一些基本思考。雷锋网雷锋网雷锋网
大运河博物馆开馆
6月16日建成开放的扬州中国大运河博物馆,堪称大运河“百科全书”。在“5G大运河沉浸式体验区”里,还藏着一个庞大的大运河文化数字资源库。它构建大运河文化知识图谱,集成文献、地图、资讯、监测数据、音视频等海量资源,提供可视化、交互式知识信息服务。
大运河博物馆开馆1治水——古人用祈祀水神、神器来祈福水路畅通、诸事平安,逐渐形成了历史悠久的镇水文化。镇水文化是一种丰富的特殊民俗精神文化,古人认为建造神牛、神兽、兵器、石碑等可以镇压水灾。
扬州中国大运河博物馆1号展厅,古代镇水“神器”也有自己的`“专区”。
开凿都江堰的李冰,被古人封为“水神”,以其为原型的“三神石人”。通高29米,肩宽096米,厚046米。扬州邵伯铁牛,出土于江苏扬州邵伯镇。长198米,高11米,重15吨。
众多“神器”中,一把清代的镇水铁剑,格外引人注目。长75米,重达1500多公斤的镇水铁剑,发现于山东兖州,也就是现在的山东济宁市兖州区,是清代康熙年间官员金一凤为治理泗水水患而铸。河南开封市铁牛村的铁犀,是镇降运河水患的神兽。它浑身乌黑,独角朝天,双目炯炯,造型雄健。
大运河博物馆开馆2
6月16日建成开放的扬州中国大运河博物馆,堪称大运河“百科全书”。在“5G大运河沉浸式体验区”里,还藏着一个庞大的大运河文化数字资源库。它构建大运河文化知识图谱,集成文献、地图、资讯、监测数据、音视频等海量资源,提供可视化、交互式知识信息服务。凤凰出版传媒集团江苏凤凰科学技术出版社,依托《中国运河志》等丰富的运河出版资源,将纸上的内容,化为云端的宝贵资源,旨在打造国内首个“运河”主题的新型数据库。与简单的电子书不同,“大运河文化数字资源库”将运河相关的知识,重新解构,织成一张知识网,形成知识图谱。从江南运河到会通河,从河道到城镇……每一个知识点,就是这张“网”上的一个结点。轻轻点击,可以查看一段相关的简介文字,还能立即将相关的其他人物、事件等各类信息关联展示。
DOP技术
背景
从上世纪90年代末开始,IT界就开始重新审视大型、复杂信息系统的架构问题和信息化的技术策略问题。其主要的驱动力来自企业对信息共享、实时协同(Collaboration)、流程重构等需求的快速增长,跨企业甚至大规模区域协同信息化市场的形成,而传统信息系统的架构、设计和开发模式明显不能适应这些新型应用的规模和复杂性。ERP(Enterprise Resources Planning)在推动企业信息化发展的进程中扮演了重要的角色,但大型ERP项目的失败率高达40%,在一些业务逻辑复杂、具有大量遗存异构系统的应用领域很少有成功案例;英国医疗信息现代化项目严重超时、超预算,被称为IT史上的灾难等客观现实从一个侧面反映出传统信息技术和软件架构技术在复杂应用领域的局限性。
大量遗存(Legacy)信息系统的异构性(Heterogeneity)和由此引起的信息孤岛(Information Island)问题是造成这些新型应用项目复杂性高、风险大主要原因之一,也是企业、跨企业复杂应用领域的共性问题。其次,跨企业、跨区域等复杂应用领域业务流程复杂多变,信息共享、互联协同等需求导致业务逻辑复杂化、信息表达的复杂性大幅增高也是这类新型应用领域的普遍问题。传统的软件技术架构、各种通用的中间件和企业级软件开发平台、甚至包括近年来倍受关注的SOA(Service Oriented Architecture)、Web20等技术也未能对上述共性问题提供有效的技术解决路线。医疗健康行业信息化所面对的挑战、绝大多数解决方案成本高、风险大、需求满足度低、不能适应长远发展等问题反映了这一领域的现状。
DOP(Domain Operating Platform),也称为领域 *** 作平台,就是在这样的背景下形成的。
DOP技术理念
[传统的垂直分割技术路线]
传统的垂直分割技术路线
按照传统系统软件和应用软件的定义,无论是信息孤岛问题,还是新型应用领域业务流程、业务逻辑、信息表达复杂性问题,都属于“应用软件” 范畴。而传统的应用软件架构基本上都遵循对问题域垂直分割的技术路线。如右图所示,应用系统基本上都是独立地架构于系统软件平台之上,应用系统通常都有独立的数据库、业务逻辑层、用户界面等垂直而封闭的架构。即便信息技术一直在不停地进化,甚至像互联网技术等革命性技术的冲击、企业软件平台、中间件等技术的普遍应用,这一基本格局并没有根本性的动摇。恰恰是这一传统的技术路线,制造了如今普遍存在于各行各业的信息孤岛现象。
信息孤岛之所以成为一个难以解决的问题是由于应用系统的异构性(Heterogeneity)。所谓异构是指不同的应用系统,架构于不同的硬件、系统软件平台,采用了不同的系统架构、不同的编程语言、不同的数据库等。更为关键的是不同产品在表达相同领域概念、业务逻辑的时候,可能采用完全不同的表达方式,也就是在数据模型和数据层面的异构。当共享、整合、协同成为企业信息化的主流需求时,系统异构造成的信息不能互通共享、系统间不能协同互 *** 作的问题就突显出来。
系统异构和信息孤岛问题并非新问题,各种基于互联(Interconnection)和数据交换(Data Exchange)等集成手段已存在了几十年。只是由于信息孤岛经过长期累积,而今天的主流需求发生根本改变的情况下,问题由量变到质变,发展为新型企业级和区域规模信息化的主要障碍。当基于互联或数据交换的集成技术要对付成百上千异构系统的集成的时候,项目的成本、功能、性能、质量、运行和维护都成为风险很高的问题。如果继续坚持这一传统的技术路线,其结果只能是信息孤岛越来越多,互联集成越来越复杂。
随着共享、整合、协同成为企业信息化的主流需求,业务逻辑、信息表达复杂性可能成倍增高。特别是像医疗健康领域等知识密集型应用领域。医疗健康信息系统复杂性表现在很多方面,最典型的是系统所涉及的信息的复杂性。一个现代临床医学中心覆盖几十种临床医学学科,其信息系统涉及三十万以上的医学概念和专用词汇,医学概念间的相互联系不下百万,业务逻辑多不胜数,业务流程复杂又极具个性化,更为复杂的是,医学知识、概念、流程和方法由于医学研究的发展、新技术的出现持续不断地更新,这些复杂性是导致医疗健康领域信息化程度显著落后于其它领域的重要原因之一。
[DOP技术原理]
DOP技术原理
综合上述分析结果,如果延续传统的系统软件和应用软件的划分模式,坚持传统应用软件架构和发展的思维定势,信息孤岛问题的解决将陷入一个怪圈,而应用领域业务逻辑、知识表达的复杂性也难以解决。鉴于上述两个核心问题的症结基本都集中在信息模型和数据层,DOP首先提出将系统软件的边界向上扩展到传统应用领域的数据层,但这一新的“系统软件” 的适用范畴缩小到一个特定应用领域。换句话说,在传统的应用软件和系统软件中间增加一个数据模型和数据层一体化(Unifying)的数据和应用服务平台,这个平台就是右图所示的DOP,针对于一个特定应用领域的系统支撑平台。
DOP的技术理念可以简单概括为:
(1)从数据层面和数据建模入手,通过技术创新从根本上削弱大型复杂软件应用领域的复杂性;
(2)将 *** 作系统的理念和技术向上扩展到传统应用软件的数据层,将适用范畴缩小到一个特定应用领域,将系统设备管理扩大到应用领域的常用设备;
(3) 通过领域数据一体化整合异构信息孤岛,逐渐消除信息孤岛产生的温床;
(4)支持独立于应用软件系统的一体化数据层(Unified Data Layer),使得数据和具体应用软件松耦合,新的应用系统可以架构在一体化数据层上,使数据的生命周期和具体的应用系统脱钩;
(5)将特定应用领域信息系统中重复、可共享的部分从传统应用系统中剥离出来,从而进一步削弱企业级系统的复杂性。
DOP技术核心
DOP的技术核心可以简要地归结为:一个新的建模体系(包括方法学,实现技术,工具软件,应用软件框架等) 两个核心引擎(模型引擎、数据引擎)和一系列核心功能和服务模块。
MDT建模体系
[领域动态建模原理]
领域动态建模原理
DOP 的领域动态建模体系,也简称为MDT(Meta Data Type)建模是DOP的创新技术之一。MDT建模体系主要由模型引擎、MDT建模及模型管理服务、MDT建模工具软件(MDT Designer, MDT Browser)等构成。具体细节可参见相关文档。
DOP的领域动态建模技术是在二阶建模(Two-Level Modeling) 技术基础上的再创新。所有的传统模型,包括应用广泛的关系数据库的模型,面向对象(Object Oriented)模型等都是所谓的一阶静态模型。由于一阶模型和数据紧耦合的特点,对模型的修改往往牵一发而动全身,在小型软件系统中,其影响并不显著,但对于大型一体化数据整合,涉及大量异构应用系统的集成,复杂的业务流程,在系统分析和设计阶段,系统分析师和架构师须花费至少70%的时间与领域专家进行交流和沟通,如果涉及很多异构系统供应商的话,常常使得这类的项目成为风险大、难协调、难管理、质量难保证的多难项目。右图简要描述了领域动态建模的原理。
DOP的领域动态建模技术实现了如下几个目标:
(1)用类似于应用领域的自然语言来描述信息模型,即领域概念直接用简单易懂、所见即所得的 MDT来表达。直接由领域专家主导建模,省去大量交流时间,避免最易出错的环节;
(2)领域概念建模和数据松耦合是实现动态建模,或所谓后建模的关键。这一动态特性使复杂应用领域模型具有进化能力,是削弱一阶静态模型牵一发而动全身问题的关键;
(3)DOP通过完整的建模、模型管理、数据管理体系自动生成和管理物理模型,屏蔽了从概念/逻辑模型到物理模型的人为干预环节,避免人为解读/翻译造成的信息模型异构;
(4)领域概念模型独立于任何数据库和编程语言,使得信息模型完全开放成为可能;
(5)领域概念模型可以携带实用的信息和知识,是知识建模的基础;
(6)可交叉支持各种国家、国际标准。
基于领域概念建模、一体化数据层的软件平台实际上是开创了一个新的软件领域。下表对领域动态建模和其它常用的建模技术作了一个简要的比较:
可比性 数据库E-R模型 面向对象模型 动态MDT建模
建模主角 数据库建模专家 UML/OO专家 领域专家
适合应用领域 传统应用系统 传统应用系统 一体化(Unified)企业或行业应用
小模型复杂性 低 低 不高,但没有优势
复杂应用领域建模复杂性 随领域概念数量和业务逻辑的复杂性增加而指数式增高 随领域概念数量和业务逻辑的复杂性增加快速增高,比E-R模型低 特别适合复杂应用领域建模,即便非常复杂的应用领域,仍可保持线性复杂性
知识模型支持 不适合 可以携带知识 非常容易数据模型关联相关知识,但仍然不属于语义网类知识建模
开放性 封闭模型 可以构建参考模型 完全可开放
可进化性 很困难 困难 目前最好的可进化性
两个核心引擎
DOP的内核是由实现领域动态建模体系的模型引擎、基于MDT模型的数据管理引擎及相关的辅助服务和管理模块构成的。
[DOP的两个核心引擎]
DOP的两个核心引擎
如右图所示,模型引擎是领域动态建模体系的核心。它实现了MDT属性模板管理、MDT对象创建管理、数据物理模型的创建和管理、物理模型和MDT 模型映射。同时,模型引擎负责DOP运行支持(Runtime)的数据和模型的映射。换句话说,数据的意义需要和相应的MDT相结合、通过数据引擎和模型引擎的“恢复” 才有意义。这一机制具有内在的安全性。通过特别的建模,DOP可以用于对数据安全要求极高的应用领域。因为,通过网络截取数据,甚至侵入到DOP数据中心,如果没有获得相应的MDT模型,或没有模型引擎和数据引擎的支持,那些数据可能没有任何意义,也不可能通过任何解密手段破译。
数据引擎是DOP运行支持(Runtime)系统的核心。和其它企业级软件平台和中间件不同,DOP实际上“接管” 了目标应用领域的数据层,包括一体化数据/信息模型、数据、各种数据 *** 作服务调用。从这各角度来看,DOP更接近于一个新型数据库系统。
数据引擎支持独立于关系数据库、独立于文件系统的海量数据存储管理。数据引擎也是分布计算、数据缓存、异构系统数据集成、数据中心间实时数据同步的核心。
作为DOP内核,除MDT建模体系、两个核心引擎外,还有多个核心支撑模块和服务,比如细粒度一体化数据安全管理体系等。具体请见相关技术文档。
数据可以说是每个行业发展和变革的必要元素,它渗透在各个领域中,而我们一直使用传统数据库来协助存储和组织这些数据。随着云时代的发展,催生了各种对云数据库的新需求,越来越多人意识到采用传统数据库已经无法满足原有的使用场景,需要选择适合使用的新型数据库。今天小编来给大家科普一下,数据库有哪几种类型。
一般来说,数据库分为两大类:关系型数据库和非关系型数据库。
关系型数据库(SQL)
对数据的 *** 作几乎建立在一个或多个关系表格上,通过关联的表格进行分类、合并、连接或选取等运算来实现数据的管理,目前主流的关系型数据库有:MySQL、OracleL、SQL Server等…
关系型数据库是目前使用最广泛的类型,以行和列的形式存储数据,方便用户理解和 *** 作。同一系列的行和列被称为表,一组表便能组成数据库。
非关系型数据库(NoSQL)
数据的类型多种多样,由于关系型数据库并不适用于所有数据,因此在不同类型的数据处理上,出现了其他更符合使用需求的非关系型数据库。常见的非关系数据库有键值数据库、列存储数据库、文档数据库、图数据库等…
1、键值型数据库
键值数据库就是一个很大的哈希表,存储的值可以通过键或者部分键高效地检索到,常应用在内容缓存、购物订单的场景中。例如:客户张某的订单存储在键值数据库中,可以使用客户的ID作为前缀,结合订单编号组成键来存储订单;也可以通过检索客户ID来查找张某的所有订单。
2、文档型数据库
文档型数据库可以看做是键值数据库的升级版,以文档形式存储数据,相互之间不存在关联关系,多应用于日志系统、网站/博客平台。
3、图数据库
图数据库就是一种存储图形关系的数据库,其中图模型由两个要素组成:节点和边,每个节点代表一个实体,每条边代表两个节点之间的连接,常应用于社交网络和搜索引擎。
4、时序数据库
时序数据库就是存放时序数据的数据库。先介绍一下时序数据,即按照时间顺序记录系统、设备状态变化的数据,一般存在于IT设施、运维监控系统之中。相比传统数据库只能记录数据的当前值,时序数据库可以记录所有的历史数据。
以上就是不同类型的数据库介绍和所提供的服务,希望能帮助大家更好的理解数据库,选择一款适合需求场景的数据库产品。
数据库技术及其应用系统经历了从层次数据库 网状数据库到关系数据库以及面向对象数据库的发展 在传统的商业和事务处理领域内逐步成熟 取代了原有的基于文件系统的数据处理方式 成为计算机信息系统中的重要基础和支柱 但随着Internet的飞速发展 Web的出现改变了人们习惯的处理方式 也给数据库技术提出了必须面对的重要问题 即如何有效地存储和管理Web上的数据(文档) 使其既能被高效地 *** 作和维护 又能在Internet平台上方便地表示和交换
XML技术自出现以来发展非常迅速 在许多领域内得到广泛的支持而有着广阔的应用前景 例如电子数据交换 电子商务等更是将XML作为一种基础性 支柱性的技术来看待
数据库简史
数据库系统是随着计算机技术的不断发展 在特定的历史时期 特定的需求环境下出现的 在 年的第一台计算机到 世纪 年代这漫长的 年里 计算机 *** 作系统主要局限于文件的 *** 作 对数据的管理也主要是通过文件系统来实现 进行计算所需要的各种数据存放在各自的文件里 使用这些数据时将文件打开 读取文件中的数据到内存中 当计算完毕后 将计算结果仍旧写入到文件中去 它的不足主要集中在无法对数据进行有效的统一管理 针对文件系统的重要缺点 人们逐步发展了以统一管理数据和共享数据为主要特征的系统 即数据库系统 年 美国通用电气公司开发成功了世界上的第一个数据库系统IDS(IntegratedDataStore) IDS奠定了网状数据库的基础 并得到了广泛的发行和应用 成为数据库系统发展史上的一座丰碑 年 美国国际商用机器公司(IBM)也推出世界上第一个层次数据库系统IMS(InformationManagement System) 同样在数据库系统发展史上占有重要的地位
年代初 E F Codd在总结前面的层次 网状数据库优缺点的基础上 提出了关系数据模型的概念及关系代数和关系演算 在 年代 关系数据库系统无论从理论上还是实践上都取得了丰硕的成果 在理论上确立了完整的关系模型理论 数据依赖理论和关系数据库的设计理论 在实践上 世界上出现了很多著名的关系数据库系统 比较著名的如SystemR INGRES Oracle等
与文件系统相比 数据库系统有几个方面的特点 向用户提供高级的接口 向用户提供非过程化的数据库语言(即SQL语言) 查询的处理和优化 并发控制 数据的完整性约束
进入 年代之后 计算机硬件技术的飞速提高促使计算机应用不断深入 产生了许多新的应用领域 例如计算机辅助设计 计算机辅助制造 计算机辅助教学 办公自动化 智能信息处理 决策支持等 这些新的领域对数据库系统提出了新的要求 但由于应用的多元化 不能设计出一个统一的数据模型来表示这些新型的数据及其相互关系 因而出现了百家争鸣的局面 产生了演绎数据库 面向对象数据库 分布式数据库 工程数据库 时态数据库 模糊数据库等新型数据库的研究和应用
XML简介
XML推荐标准 版发布于 年 月 之后迅速在全球掀起了XML应用的浪潮 XML是一种描述型的标记语言 与HTML同为SGML(标准通用标记语言 ISO 国际标准)的一种应用 由于XML在可扩展性 可移植性和结构性等方面的突出优点 它的应用范围突破了HTML所达到的范围
一篇XML文档由标记和内容组成 XML中有六种标记 元素(elements) 属性(attributes) 实体引用(entityreferences) 注释(ments) 处理指令(processinginstructions)和CDATA段(CDATAsections) XML与HTML最显著的不同是XML文档中引入了 文档类型声明 (Document Type Declarations) DTD使文档可以与分析器交流关于它的内容的元信息 DTD的出现 赋予了XML文档可扩展性 结构性和可验证性 使XML具备了类似于数据库的一些性质 可以利用XML来组织和管理信息 又可以与HTML一样在浏览器中方便地表示 在Internet上高效地传递和交换 考虑到与HTML的兼容 DTD并不是XML文档必需的成份 具有DTD的XML文档称作 Valid 否则就是 Well formed
目前 处理XML文档的方式主要有SAX与DOM两种 SAX(SimpleAPIforXML)是一种基于流的 以事件处理方式工作的接口 SAX 在 年 月发布 增强了许多功能 包括对名字空间的支持 DOM(Document Object Model)则是在对XML文档进行分析后 在内存中建立起一个完整的树结构 然后在此基础上进行各种 *** 作 简单地比较来看 SAX对系统资源要求低 速度快 但对文档的 *** 作是只读的 DOM的处理能力强大 但要求大量的系统资源 尤其是对于大的文档 而后还出现了Xpath和Xpointer用以完成XML的搜索和转换 XSL XSLT和SOAP用以完成XML的远程对象访问 XML Query Languages的出现使XML查询语言可用于任何XML文档
XML与数据库
XML文件是数据的集合 它是自描述的 可交换的 能够以树型或图形结构描述数据 XML提供了许多数据库所具备的工具 存储(XML文档) 模式(DTD XMLschema RE AXNG等) 查询语言(XQuery XPath XQL XML QL QUILT等) 编程接口(SAX DOM JDOM)等 但XML并不能完全替代数据库技术 XML缺少作为实用的数据库所应具备的特性 高效的存储 索引和数据修改机制 严格的数据安全控制 完整的事务和数据一致性控制 多用户访问机制 触发器 完善的并发控制等 因此 尽管在数据量小 用户少和性能要求不太高的环境下 可以将XML文档用作数据库 但却不适用于用户量大 数据集成度高以及性能要求高的作业环境
随着Web技术的不断发展 信息共享和数据交换的范围不断扩大 传统的关系数据库也面临着挑战 数据库技术的应用是建立在数据库管理系统基础上的 各数据库管理系统之间的异构性及其所依赖 *** 作系统的异构性 严重限制了信息共享和数据交换范围 数据库技术的语义描述能力差 大多通过技术文档表示 很难实现数据语义的持久性和传递性 而数据交换和信息共享都是基于语义进行的 在异构应用数据交换时 不利于计算机基于语义自动进行正确数据的检索与应用 数据库属于高端应用 需要昂贵的价格和运行环境 而随着网络和Internet的发展 数据交换的能力已成为新的应用系统的一个重要的要求 XML的好处是数据的可交换性(portable) 同时在数据应用方面还具有如下优点 ( )XML文件为纯文本文件 不受 *** 作系统 软件平台的限制 ( )XML具有基于Schema自描述语义的功能 容易描述数据的语义 这种描述能为计算机理解和自动处理 ( )XML不仅可以描述结构化数据 还可有效描述半结构化 甚至非结构化数据
XML文件的存储
XML文件的存储方式有三大类 ( )将文件存储于文件系统(StoringDocumentsinthe File System) ( )将文件存储于BLOB(Storing Documents in BLOBs) 利用数据库的事务管理 安全 多用户访问等优点 此外许多关系数据库提供的检索工具可以进行全文检索 近似检索 同义词检索和模糊检索 其中某些工具将会支持XML 这样就可消除将XML文件作为纯文本检索所带来的问题 ( )将文件存储于原生XML数据库(Native XML Databases NXD) NXD是专用于存储XML文件的数据库 支持事务管理 安全 多用户访问 编程API和查询语言等 与其它数据库的唯一区别在于其内部模型是基于XML的 其中 最重要的存储方式当属原生XML数据库
原生XML数据库
原生XML数据库(NativeXMLDatabases)为XML文档定义了一个(逻辑)模型 并根据该模型存取文件 这个模型至少应包括元素 属性 PCDATA和文件顺序 其例子有XPath数据模型 XMLIn foset以及DOM所用的模型和SAX 的事件 它以XML文件作为其基本存储单位 对底层的物理存储模型没有特殊要求 例如 它可以建在关系型 层次型或面向对象的数据库之上 或者使用专用的存储格式 比如索引或压缩文件
NXD最适于存储以文档为中心的文件 这是由于NXD保留了文件 顺序 处理指令 注释 CDA TA块以及实体引用等 而支持XML的数据库XED(XML enableddatabase)无法做到 XED是在原有数据库基础上扩展了XML支持模块 完成XML数据和数据库之间的格式转换和传输 从存储粒度上 可以把整个XML文档作为RDBMS表中一行 或把XML文档进行解析后 存储到相应的表格中 为了支持W C的一些XML *** 作标准 Xpath XED提供一些新的原语(如Oracle iR 增加了一些数据包来 *** 作XML数据等) 并优化了XML处理模块
NXD一般采用层次数据存储模型 保持XML文档的树形结构 省掉了XML文档和传统数据库的数据转换过程 NXD还适用于存储 天然格式 为XML的文件 NXD还可以存储半结构化数据 在某种特定情形下提高存取速度以及存储没有DTD的文件(良构的文件)
原生XML数据库的结构
原生XML数据库的结构可分为两大类 基于文本的和基于模型的
基于文本的NXD(Text BasedNativeXMLDatabases)将XML作为文本存储 它可以是文件系统中的文件 关系数据库中的BLOB或特定的文件格式 基于文本的NXD与层次结构的数据库很相似 当存取预先定义好层次的数据时 它比关系数据库更胜一筹 和层次结构的数据库一样 当以其它形式比如转置层次存取数据时 NXD也会遇到麻烦 这个问题的严重程度尚未可知 很多关系数据库都使用逻辑指针 使相同复杂度的查询以相同的速度完成
基于模型的NXD(Model BasedNativeXMLDatabases)是根据文件构造一个内部模型并存储这个模型 有些数据库将该模型存储于关系型和面向对象的数据库中 例如在关系型数据库中存储DOM时 就会有元素 属性 PCDATA 实体 实体引用等表格 其他数据库使用了专为这种模型优化了的存储格式 使用专用存储格式的基于模型的NXD如果以文件的存储顺序读取文件 其性能与基于文本的NXD相似
原生XML数据库的特性
原生XML数据库的特性(FeaturesofNativeXML Databases)有 ( )文件集(Document Collections) 支持集合(Collection)的概念 其作用相当于关系数据库中的表和文件系统中的文件夹 ( )查询语言(Query Languages) 最常用的有XPath(对多个文件的查询作了扩充)和XQL 以及专有的查询语言 ( )更新和删除(Updates and Deletes) NXD对文件的更新和删除方式从简单的替换或删除现有文件 到修改当前活动的DOM树 以及用于指定如何修改文件片断的语言 ( )事务 锁定和并发(Transactions Locking and Concurrency) 支持事务处理 锁定通常是对整个文档的 所以多用户并发性相对较低 问题的大小取决于应用程序以及 文件 的构成 ( )原生数据库提供应用程序接口API(Application Programming Interfaces APIs) ( )NXD的一个重要特性是它可以为XML文档提供 往返车票(round trip) 可以将XML文件存放在NXD中 而且再取回 同样的 文件 对于以文档为中心的应用程序来说非常重要 因为CDATA部分 实体用法 注释和处理指令是这些文档不可缺少的组成部分 特别是对于法律和医学文件 按规定这些文档必须要保持原样 ( )外部数据(Remote Data) 某些NXD可包含有外部数据 它来自存储在数据库中的文档 通常这些数据通过OD BC OLE DB或JDBC从关系数据中取出 模型可以是基于表格的或对象 关系型映射 ( )支持元素和属性的索引
结论
XML技术的出现 使数据处理从文件方式到数据库系统再到文件方式的循环 但新的文件方式已经与最初的文件系统有了本质的区别 格式化文档 XML和关系数据库在数据应用和数据管理方面各有优势
lishixinzhi/Article/program/net/201311/12776
以上就是关于区块链是什么全部的内容,包括:区块链是什么、对话阿里云李飞飞:关于云原生数据库的五大预判、大运河博物馆开馆等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)