• [技术干货] 数据库系统的三级模式结构
    虽然实际的数据库管理系统产品种类很多,它们支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常都具有相同的特征,即采用三级模式结构并提供两级映像功能。数据库系统的三级模式结构是指数据库系统是由模式、外模式和内模式三级构成。模式模式是所有用户的公共数据视图。它是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,且与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。模式实际上是数据库数据在逻辑级上的视图。一个数据库对应一个模式。数据库模式以某一种数据模型为基础,综合考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名称、类型、取值范围等,而且要定义数据之间的联系,以及与数据有关的安全性、完整性要求。数据库管理系统提供模式数据定义语言来严格地定义模式。外模式外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。外模式是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。由于它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则其外模式描述就是不同的。即使模式中的同一数据,在不同的外模式中的结构、类型、长度、保密级别等都可能不同。此外同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。数据库管理系统提供外模式数据定义语言来严格地定义外模式。内模式内模式也称物理模式或存储模式,一个数据库只有一个内模式。它是对数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。例如,记录采用哪种方式存储,是堆存储还是按照某个(些)属性值的升(降)序存储,或按照属性值聚簇存储;索引采用什么方式组织,是B+树索引还是哈希索引;数据是否压缩存储,是否加密:数据的存储记录结构有何规定,如采用定长结构或变长结构、一个记录不能跨物理页存储等等。
  • [技术干货] 关系模型的数据操纵与完整性约束
    关系模型的数据操纵与完整性约束关系模型的数据操纵主要包括查询、插入、删除和更新数据,这些操作必须满足关系的完整性约束。关系的完整性约束包括实体完整性、参照完整性和用户定义的完整性三大类,其具体含义将在后续内容中介绍。关系模型中的数据操纵是集合操作,操作对象和操作结果都是关系,即若干元组的集合;而层次模型和网状模型中的数据操纵则是单记录操作。另一方面,关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”,从而大大地增强了数据的独立性,提高了用户生产率。3.关系模型的优缺点关系模型具有下列优点:关系模型建立在严格的数学概念基础上。关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示,对数据的检索和更新结果也是关系,所以其数据结构简单、清晰,用户易懂易用。关系模型标准语言SOL简洁易用,推动了关系数据库的广泛应用。关系模型的存取路径对用户隐蔽。它具有更强的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。关系模型的上述优点使其在诞生之后发展迅速,深受用户的喜爱,当然,关系模型也有缺点,例如,由于存取路径对用户是隐蔽的,其查询效率往往不如层次模型和网状模型。为了提高性能,关系数据库管理系统必须对用户的查询请求进行优化,因此增加了开发关系数据库管理系统的难度。不过用户不必考虑这些系统内部的优化技术细节数据库管理系统的查询优化器会自动选择优化的查询执行计划,为用户提供较高的查询性能。
  • [技术干货] 网状模型介绍
    在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:① 允许一个以上的结点无双亲结点。②一个结点可以有多于一个的双亲结点。网状模型是一种比层次模型更具普遍性的结构。它去掉了层次模型的两个限制,允许多个结点没有双亲结点,且允许结点有多个双亲结点;此外它还允许两个结点之间有多种联系(称之为复合联系)。因此,网状模型可以更直接地描述现实世界,而层次模型实际上是网状模型的一个特例。与层次模型一样,网状模型中每个结点表示一个记录类型(实体型),每个记录类型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体型)之间一对多的联系。网状模型的优点主要有:① 能够更为直接地描述现实世界,如一个结点可以有多个双亲结点,结点之间可以有多种联系。②具有良好的性能,存取效率较高。网状模型的缺点主要有:①结构比较复杂,而且随着应用环境的扩大数据库的结构变得越来越复杂,不利于最终用户掌握。②数据定义语言和数据操纵语言比较复杂,并且要嵌入某一种高级语言(如COBOL、C)中,用户不容易掌握和使用。③由于记录类型之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。
  • [技术干货] 层次模型的优缺点
    层次模型的优点主要有:① 层次模型的数据结构比较简单清晰。②层次数据库的查询效率高。层次模型中记录之间的联系用有向边表示,这种联系在数据库管理系统中常用指针来实现,因此这种联系也就是记录之间的存取路径。当要存取某个结点的记录值时,数据库管理系统沿着这条路径很快就能找到该记录值,所以层次数据库的性能优良,存取效率高。③ 层次数据模型提供了良好的完整性约束支持。层次模型的缺点主要有:①现实世界中很多联系是非层次性的,如结点之间具有多对多联系,不适合用层次模型表示。②如果一个结点具有多个双亲结点,用层次模型表示这类联系就很笨拙,只能通过引人冗余数据(易产生不一致性)或创建非自然的数据结构(引人虚拟结点)来解决,对插入和删除操作的限制比较多,因此应用程序的编写比较复杂。③查询子女结点必须通过双亲结点。④由于结构严密,层次命令趋于程序化。可见,用层次模型对具有一对多层次联系的部门描述非常自然、直观,容易理解。这是层次数据库的突出优点。
  • [技术干货] 层次模型介绍
    层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。层次数据库系统的典型代表是IBM公司的IMS(informationmanagement system),这是1968年IBM公司推出的第一个大型商用数据库管理系统,曾经得到广泛的使用。层次模型用树形结构表示各类实体以及实体间的联系。现实世界中许多实体之间的联系本来就呈现出一种很自然的层次关系,如行政机构、家族关系等。层次模型的数据结构在数据库中,满足下面两个条件的基本层次联系的集合为层次模型:①有且只有一个结点没有双亲结点,这个结点称为根结点。②根以外的其他结点有且只有一个双亲结点。在层次模型中,每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示,这种联系是双亲结点与子女结点之间的一对多联系。这就使得层次数据库系统只能处理一对多的实体联系。每个记录类型可包含若干个字段,这里记录类型描述的是实体型,字段描述实体的属性。各个记录类型及其字段都必须命名。各个记录类型、同一记录类型中的各个字段不能同名。每个记录类型可以定义一个排序字段,也称为码字段,如果定义该排序字段的值是唯一的,则它能唯一地标识一个记录值。一个层次模型在理论上可以包含任意有限个记录类型和字段,但任何实际的系统都会因为存储容量或实现复杂度而限制模型中包含的记录类型和字段的数量。在层次模型中,同一双亲结点的子女结点称为兄弟(twin或sibling)结点,没有子女结点的结点称为叶(leaf)结点。图1.10给出了一个层次模型示例,其中,R,为根结点;R,和R,为兄弟结点,且是R的子女结点;R和R,为兄弟结点,且是R,的子女结点;R、R,和R,为叶结点。
  • 数据模型三要素
    数据结构数据结构描述数据库的组成对象以及对象之间的联系。也就是说,数据结构描述的内容有两类:一类是与对象的类型、内容、性质有关的,如网状模型中的数据项、记录,关系模型中的域、属性、关系等;一类是与数据之间的联系有关的对象,如网状模型中用系(set)表示记录之间的联系。数据模型数据结构是刻画一个数据模型性质的最重要的方面。因此,在数据库系统中人们通常按照其数据结构的类型来命名数据模型。例如,层次结构、网状结构和关系结构的数据模型分别命名为层次数据模型、网状数据模型和关系数据模型,简称为层次模型、网状模型和关系模型。总之,数据结构是所描述的对象类型的集合,是对系统静态特性的描述。数据操纵数据操纵是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有查询和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操纵是对系统动态特性的描述。完整性约束完整性约束是一组完整性规则。完整性规则是给定的数据模型中的数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确有效和相容。数据模型应该反映和规定其必须遵守的基本和通用的完整性约束。
  • [技术干货] 数据建模介绍
    把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,这个过程称为数据建模。在数据库系统中,数据建模过程通常分为两步进行。1.建立概念模型首先将现实世界抽象为信息世界。也就是把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个数据库管理系统支持的数据模型,而是概念级的模型,因此称为概念模型。概念模型是按用户的观点来对数据建模,主要用于数据库设计。从现实世界到概念模型的建模任务由数据库设计人员完成,也可以通过数据库设计工具辅助设计人员完成。2.将概念模型转换为数据模型接下来将信息世界转换为机器世界,即把概念模型转换为计算机上某一数据库管理系统支持的数据模型。数据模型是按计算机系统的观点对数据建模,是数据库管理系统支持的,用于数据库管理系统的实现。从概念模型到数据模型的转换由数据库设计人员完成,也可以通过数据库设计工具辅助设计人员完成。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。因此,概念型一方面应具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面还应简单、清晰、易于用户理解。
  • [技术干货] 云原生时代的应用挑战和趋势
    在飞速发展的数字时代,云原生已经成为了许多企业的首选,它不仅提供了灵活性和可扩展性,还为应用程序的稳定性带来了全新的技术革命。企业应用上云经历了三个阶段:• 第一阶段:应用以“设备”为中心,工程师们看到的是一台台物理服务器,软件是部署在服务器上的进程,硬件和软件相对割裂。• 第二阶段:以资源为中心,形成了云化的资源池,大幅提升了资源的利用率和使用效率。• 第三阶段:是从以“资源“为中心走向以“应用” 为中心的云原生阶段,与第二阶段相比,主要区别在于应用的设计和部署方式。云原生应用是指使用微服务架构对应用进行解耦拆分,并以容器形式部署,更加灵活和可扩展,能够更好地发挥公有云的优势,以应对业务的不确定性,带来更高的开发、运维和运营效率。在这个转变过程中,也会面临一系列的挑战。第一个挑战是云原生时代的技术复杂度比较高,工具非常的碎片化,比如服务的编排与调度、容器化、安全合规等各方面的工具。云原生应用设计、开发、运维过程中,对开发和运维人员的技能要求高,无形中增加了企业的开发成本,降低了开发效率。第二个挑战是大量工作消耗在工程能力构建上,开发人员真正的业务代码开发工作只占20%左右,隐形成本非常高。首先,每个应用构建都要考虑可靠性、可用性、安全、韧性、多云部署等一系列能力,存在重复造轮子的问题,造成了大量工作浪费。其次,国家、行业、企业对安全可信、技术规范等有诸多要求,缺乏统一的平台来支撑落地,每个开发人员对规范的解读不同,实现方式也会有差异,大幅降低了效率。以华为的经验,如果这些问题得以解决,30%以上的隐形工作是可以被节省的。第三个挑战是云原生时代,维护一个复杂且快速变化的系统,会面临一系列的问题,比如碎片化的运维工具、版本的迅速迭代、人工效率低且不够规范等,随着业务链路越发复杂,问题跟踪和定位会越来越困难,业务数据量的增长也会导致数据库治理的问题变得尤为突出。
  • [技术干货] 云原生时代成本治理
    业务单元 VS 计费单元:一般云服务(比如ECS)的计费周期比较长,可能是包月或者包年;而云原生容器的生命周期相对比较短暂,容器的弹性伸缩、故障重启等动作,都有可能导致资源的闲置率比较高。容量规划 VS 资源供给:容量规划一般是静态的,一般是按照预算或者规划提前准备容器,而资源供给是业务来驱动。业务的高峰流量冲击,升级扩容等场景,都会对容量规划造成很大的挑战。统一治理 VS 多云部署:现在很多企业使用了不止一朵云,不同的云厂商的账单接口和格式都不一样,不利于企业的多云统一成本治理。成本模型 VS 云原生架构:云厂商的成本模型相对比较简单,一般是按照物理资源来计费,比如ECS服务是以整机的价格来计费。云原生架构以应用为中心,资源的申请细化到CPU/内存等粒度。这就导致云原生场景成本可视化和成本分析比较困难。总结下来,云原生成本治理面临三大挑战:成本洞察:云原生场景如何实现成本可视化,如何快速定位成本问题、识别资源浪费?成本优化:云原生成本优化的手段很多,如何采用合适的成本优化手段来实现收益最大化?成本运营:企业如何构建可持续的成本治理体系与文化?FinOps 是一门将财务管理原则与云工程和运营相结合的学科,它使组织更好地了解其云支出。帮助他们就如何分配和管理云成本做出明智的决策。 FinOps 的目标不是节省资金,而是通过云实现最大化的收入或业务价值。它有助于组织控制云支出,同时保持支持其业务运营所需的性能、可靠性和安全性级别。FinOps Foundation 将 FinOps 定义为三个阶段:通知、优化和运营。根据每个团队或企业完成FinOps 的进度,公司可能会同时处于多个阶段。通知(成本洞察):通知是 FinOps 框架的第一阶段。这一阶段旨在为所有利益相关者提供所需的信息,以便于他们了解情况,从而做出有关云使用的经济高效的明智决策。成本优化:成本优化重点是想方设法节约成本。根据当前使用情况,您的组织可以在哪些方面合理调整资源规模,并从折扣中受益?成本运营:成本运营是 FinOps 框架的最后一个阶段。在这一阶段,组织会根据业务目标持续评估绩效,然后想方设法改进 FinOps 实践。优化工作到位后,组织可以借助自动化来实施策略,在不影响性能的情况下不断调整云资源来控制成本。
  • [技术干货] AI应用开发解决方案
    华为云ModelArts+Dify能够为广大开发者提供全生命周期的AI应用开发解决方案,助力AI应用敏捷开发。1、ModelArts Studio:全场景AI开发环境,提供丰富的开发资源和工具。在解决方案中,华为给开发者提供了ModelArts Studio,可带来完整的开发环境、丰富的开发资源以及高效的开发工具。2、ModelArts支持超大规模异构调度:让开发者用更简洁、更自然的方式开发高性能AI应用。3、零代码自动学习能力:声明式AI开发框架,有效提升AI应用界面开发效率。4、CodeLab开发环境:自研的统一编译运行平台,大幅提升AI应用性能。5、支持大模型开发、训练、推理全流程:一站式应用开发平台,支持分布式多端开发、调测和模拟仿真AI应用开发所使用的开发工具——ModelArts,可高效开发与构建代码,调试和定位,同时提升应用质量,帮助开发者开发更优质的应用。6、覆盖六大领域的开放能力,助力开发者高效开发AI应用。ModelArts还集成了六大领域的开放能力,包含计算框架、应用框架、数据标注、服务监测等。这里面很多都是之前终端云服务的能力,在ModelArts里,不再需要单独集成这些能力,直接使用做到端云一体,一次集成,高效开发!
  • [技术干货] Dify开源平台介绍
    大模型生态是面向AI应用时代的新生态,为开发者带来新价值新机遇。当前在传统AI开发环境下,应用开发者会面临哪些挑战呢?不同场景不同需求需要重复开发,维护多套版本多种框架,对人员技能要求高,不同的编程范式需要关注细节变更频繁,维护成本高。基于此现状,华为云ModelArts从2018年诞生之日起,定位为全新的面向全场景的AI开发平台,不同于传统云服务生态,希望在未来帮助开发者的应用与服务创造新的价值。从单纯的一个模型,延展到“百模千态”,从过去以算力为中心,依托大模型技术和多模态能力,发展到更多元的AI应用组合、协同,让应用和服务在最合适的场景上呈现最好体验。华为云ModelArts应用开发的三大核心特征,为开发者提供更优选择:一站式开发,多模态大模型服务。助力应用高效开发,降低AI应用适配成本;可分可合,自由流转。全新服务提供方式,应用代码高效复用; 开放生态,原生智能。全链路开发套件,快速实现应用智能化。随着大模型生态的发展,搭载ModelArts的生态应用数量已超过数万,为开发者带来新价值新机遇。全生命周期的AI应用开发解决方案,助力AI应用高效开发。Dify开源平台则是为了进一步降低AI应用开发的难度而设计,它融合了后端即服务(Backend as Service)和LLMOps的理念,支持多种大型语言模型,确保开发者可以根据具体需求选择最适合的模型。Dify不仅提供了强大的数据集管理功能和可视化的Prompt编排,还集成了超过50款工具接口,支持自定义工具,从而为开发者提供了更加丰富和灵活的选择。通过Dify,开发者可以轻松创建聊天助手、文本生成、智能代理和工作流程等不同类型的应用,满足多样化的应用场景需求。
  • [用户实践] 【集合贴】2025年4月数据库技术干货文章集合
    数据库日志是排查故障、优化性能和保障数据安全的核心依据。GaussDB提供了丰富的日志功能https://bbs.huaweicloud.com/forum/thread-0282179483006669105-1-1.html?&comment=comment-box2025/04/08 16:23:27GaussDB 数据库事务管理技术https://bbs.huaweicloud.com/forum/thread-0259179483302263008-1-1.html?&comment=comment-box2025/04/08 16:28:22GaussDB 备份与恢复https://bbs.huaweicloud.com/forum/thread-0213179486936031141-1-1.html?&comment=comment-box2025/04/08 17:28:56GaussDB 的安全配置https://bbs.huaweicloud.com/forum/thread-02127179660398894135-1-1.html?&comment=comment-box2025/04/10 17:39:59GaussDB 控制语句https://bbs.huaweicloud.com/forum/thread-0288179717309523001-1-1.html?&comment=comment-box2025/04/11 09:28:30GaussDB 数据类型兼容性https://bbs.huaweicloud.com/forum/thread-0269179717725961001-1-1.html?&comment=comment-box2025/04/11 09:35:26GaussDB 约束与限制https://bbs.huaweicloud.com/forum/thread-0211180064124656004-1-1.html?&comment=comment-box2025/04/15 09:48:45GaussDB事务ID分配及CLOG/CSNLOGhttps://bbs.huaweicloud.com/forum/thread-0259180261851187001-1-1.html?&comment=comment-box2025/04/17 16:44:11在GaussDB中通过SQL语句创建和管理分区表:分布式数据库高性能实践https://bbs.huaweicloud.com/forum/thread-0275180324801830002-1-1.html?&comment=comment-box2025/04/18 10:13:22在GaussDB中通过SQL语句创建和管理索引:分布式数据库性能优化实战https://bbs.huaweicloud.com/forum/thread-0221180325263754003-1-1.html?&comment=comment-box2025/04/18 10:21:04GaussDB通过SQL语句高效删除表中数据的技术解析https://bbs.huaweicloud.com/forum/thread-0254180326553703003-1-1.html?&comment=comment-box2025/04/18 10:42:34GaussDB通过DAS管理视图的深度解析https://bbs.huaweicloud.com/forum/thread-0254180326807260004-1-1.html?&comment=comment-box2025/04/18 10:46:47GaussDB 数据操作:通过 SQL 语句高效插入数据https://bbs.huaweicloud.com/forum/thread-0221180327770627004-1-1.html?&comment=comment-box2025/04/18 11:02:51GaussDB 数据查询:通过 SQL 语句高效检索数据https://bbs.huaweicloud.com/forum/thread-0278180327878828002-1-1.html?&comment=comment-box2025/04/18 11:04:39GaussDB中管理事务https://bbs.huaweicloud.com/forum/thread-0224180327989448002-1-1.html?&comment=comment-box2025/04/18 11:06:29GaussDB默认权限机制https://bbs.huaweicloud.com/forum/thread-0259180328062467003-1-1.html?&comment=comment-box2025/04/18 11:07:42GaussDB 作为一款高性能分布式数据库,其 ​EXPLAIN ANALYZE工具能够深入解析查询的执行过程https://bbs.huaweicloud.com/forum/thread-0210179484313161131-1-1.html?&comment=comment-box2025/04/08 16:45:13GaussDB 自动诊断功能https://bbs.huaweicloud.com/forum/thread-0234179484358499125-1-1.html?&comment=comment-box2025/04/08 16:45:59GaussDB性能调优https://bbs.huaweicloud.com/forum/thread-0234179484959327126-1-1.html?&comment=comment-box2025/04/08 16:55:59GaussDB内置了多种诊断工具https://bbs.huaweicloud.com/forum/thread-0211179486818448169-1-1.html?&comment=comment-box2025/04/08 17:26:59GaussDB 索引管理https://bbs.huaweicloud.com/forum/thread-0210179483601186130-1-1.html?&comment=comment-box2025/04/08 16:33:21
  • [课程学习] 数据库系统管理设计赛存储管理和索引讲解
    本次活动第一介绍了数据库中存储管理,包含记录、磁盘块和文件中存储结构,并以Gauss DB为案例介绍商用数据库的存储格式。第二详细讲解了B+树的结构、Blink树的结构。B+树的分裂与合并。重点讲解了在事务环境下B+树的蟹行协议的加锁和释放锁的过程。本次活动采用的教材是清华大学李国良老师编写的教材。本次活动课件和活动照片链接:通过网盘分享的文件:2025-04-02链接: https://pan.baidu.com/s/1BFNx9-iuEwoJFoWehEjYyA?pwd=62r6 提取码: 62r6
  • [问题求助] 使用psycopg连接GaussDB,如何获取当前连接信息中用户的角色为sysadmin?
    当前连接用户为root,已有sysadmin角色,使用psycopg连接后,GaussDB返回is_sysadmin为off用户角色查询:Python代码输出结果:
  • [问题求助] 高斯数据创建的函数调用为啥必须要加模式名?
    我在高斯数据库创建了两个函数,一个函数能正常调用,另一个函数必须要加模式名才能调用,不知是什么原因,看了很久没找到原因,以下是必须要加模式名才能调用的函数
总条数:1535 到第
上滑加载中