数据应用平台模型计算开发(数据模型开发工具)

网友投稿 244 2023-04-02

本篇文章给大家谈谈数据应用平台模型计算开发,以及数据模型开发工具对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享数据应用平台模型计算开发的知识,其中也会对数据模型开发工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么开发大数据平台

开发数据大平台的操作方法具体如下。
1、操作体系的挑选。操作体系一般使用开源版的RedHat、Centos或许Debian作为底层的构建渠道,要根据大数据渠道所要建立的数据剖析东西能够支撑的体系,正确的挑选操作体系的版本。
2、建立Hadoop集群。Hadoop作为一个开发和运行处理大规模数据的软件渠道,实现了在大量的廉价计算机组成的集群中对海量数据进行分布式计算。Hadoop结构中最核心的规划是HDFS和MapReduce,HDFS是一个高度容错性的体系,合适布置在廉价的机器上,能够供给高吞吐量的数据访问,适用于那些有着超大数据集的应用程序;MapReduce是一套能够从海量的数据中提取数据最终回来成果集的编程模型。在生产实践应用中,Hadoop非常合适应用于大数据存储和大数据的剖析应用,合适服务于几千台到几万台大的服务器的集群运行,支撑PB级别的存储容量。
3、挑选数据接入和预处理东西。面临各种来源的数据,数据接入便是将这些零散的数据整合在一起,归纳起来进行剖析。数据接入首要包括文件日志的接入、数据库日志的接入、关系型数据库的接入和应用程序等的接入,数据接入常用的东西有Flume,Logstash,NDC(网易数据运河体系),sqoop等。
4、数据存储。除了Hadoop中已广泛应用于数据存储的HDFS,常用的还有分布式、面向列的开源数据库Hbase,HBase是一种key、value体系,布置在HDFS上,与Hadoop一样,HBase的目标首要是依靠横向扩展,通过不断的添加廉价的商用服务器,添加计算和存储才能。同时hadoop的资源管理器Yarn,能够为上层应用供给统一的资源管理和调度,为集群在利用率、资源统一等方面带来巨大的优点。
5、挑选数据挖掘东西。Hive能够将结构化的数据映射为一张数据库表,并供给HQL的查询功能,它是建立在Hadoop之上的数据仓库根底架构,是为了削减MapReduce编写工作的批处理体系,它的出现能够让那些通晓SQL技术、可是不熟悉MapReduce、编程才能较弱和不擅长Java的用户能够在HDFS大规模数据集上很好的利用SQL言语查询、汇总、剖析数据。
6、数据的可视化以及输出API。关于处理得到的数据能够对接主流的BI体系,比如国外的Tableau、Qlikview、PowrerBI等,国内的SmallBI和新兴的网易有数(可免费试用)等,将成果进行可视化,用于决策剖析;或许回流到线上,支撑线上业务的开展。

充分了解的数据处理应用程序是哪种软件开发模型?

您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。软件工程的主要环节包括人员管理、项目管理、需求分析、系统设计、程序设计、测试、维护等,如图所示。软件开发模型是对软件过程的建模,即用一定的流程将各个环节连接起来,并可用规范的方式操作全过程,好比工厂的生产线。最早出现的软件开发模型最早出现的软件开发模型是1970年W•Royce提出的瀑布模型。 该模型给出了固定的顺序,将生存期活动从上一个阶段向下一个阶段逐级过渡,如同流水下泻,最终得到所开发的软件产品,投入使用。但计算拓广到统计分析、商业事务等领域时,大多数程序采用高级语言(如FORTRAN、COBOL等)编写。瀑布模式模型也存在着缺乏灵活性、无法通过并发活动澄清本来不够确切的 需求等缺点。常见的软件开发模型还有演化模型、螺旋模型、喷泉模型、智能模型等。编辑本段典型的开发模型典型的开发模型有:1.边做边改模型(Build-and-Fix Model);2.瀑布模型(Waterfall Model);3.快速原型模型(Rapid Prototype Model);4.增量模型(演化模型)(Incremental Model);5.螺旋模型(Spiral Model);6.喷泉模型(fountain model);7.智能模型(四代技术(4GL));8.混合模型(hybrid model);9.RUP模型;10.IPD模型1.边做边改模型(Build-and-Fix Model)遗憾的是,许多产品都是使用"边做边改"模型来开发的。在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于:(1) 缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改;(2)忽略需求环节,给软件开发带来很大的风险;(3)没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难。2.瀑布模型(Waterfall Model)1970年Winston Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被广泛采用的软件开发模型。瀑布模型中,如图所示,将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;(3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。我们应该认识到,"线性"是人们最容易掌握并能熟练应用的思想方法。当人们碰到一个复杂的"非 线性"问题时,总是千方百计地将其分解或转化为一系列简单的线性问题,然后逐个解决。一个软件系统的整体可能是复杂的,而单个子程序总是简单的,可以用线性的方式来实现,否则干活就太累了。线性是一种简洁,简洁就是美。当我们领会了线性的精神,就不要再呆板地套用线性模型的外表,而应该用活它。例如增量模 型实质就是分段的线性模型,螺旋模型则是接连的弯曲了的线性模型,在其它模型中也能够找到线性模型的影子。3.快速原型模型(Rapid Prototype Model)快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。4.增量模型(Incremental Model)又称演化模型。与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。但是,增量模型也存在以下缺陷:(1) 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。(2) 在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。在使用增量模型时,第一个增量往往是实现基本需求的核心产品。核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。例如,使用增量模型开发字处理软件。可以考虑,第一个增量发布基本的文件管理、编辑和文档生成功能,第二个增量发布更加完善的编辑和文档生成功能,第三个增量实现拼写和文法检查功能,第四个增量完成高级的页面布局功能。5.螺旋模型(Spiral Model)1988年,Barry Boehm正式发表了软件系统开发的"螺旋模型",它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。如图所示,螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:(1) 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;(2) 风险分析:分析评估所选方案,考虑如何识别和消除风险;(3) 实施工程:实施软件开发和验证;(4) 客户评估:评价开发工作,提出修正建议,制定下一步计划。螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下:(1) 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。(2) 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。(3) 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。6.喷泉模型(fountain model)(也称面向对象的生存期模型, OO模型)喷泉模型与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。7.智能模型(四代技术(4GL))智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、高层图形功能及电子表格等),每个工具都能使开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些软件自动地生成为源代码。这种方法需要四代语言(4GL)的支持。4GL不同于三代语言,其主要特征是用户界面极端友好,即使没有受过训练的非专业程序员,也能用它编写程序;它是一种声明式、交互式和非过程性编程语言。4GL还具有高效的程序代码、智能缺省假设、完备的 数据库和应用程序生成器。目前市场上流行的4GL(如Foxpro等)都不同程度地具有上述特征。但4GL目前主要限于事务信息系统的中、小型应用程序的 开发。8.混合模型(hybrid model)过程开发模型又叫混合模型(hybrid model),或元模型(meta-model),把几种不同模型组合成一种混合模型,它允许一个项目能沿着最有效的路径发展,这就是过程开发模型(或混合模型)。实际上,一些软件开发单位都是使用几种不同的开发方法组成他们自己的混合模型。各种模型的比较每个软件开发组织应该选择适合于该组织的软件开发模型,并且应该随着当前正在开发的特定产品特性而变化,以减小所选模型的缺点,充分利用其优点,下表列出了几种常见模型的优缺点。各种模型的优点和缺点:模型优点缺点瀑布模型文档驱动系统可能不满足客户的需求快速原型模型关注满足客户需求可能导致系统设计差、效率低,难于维护增量模型开发早期反馈及时,易于维护需要开放式体系结构,可能会设计差、效率低螺旋模型风险驱动风险分析人员需要有经验且经过充分训练9.RUP模型(迭代模型)RUP(Rational Unified Process)模型是Rational公司提出的一套开发过程模型,它是一个面向对象软件工程的通用业务流程。它描述了一系列相关的软件工程流程,它们具有相同的结构,即相同的流程构架。RUP 为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。RUP具有两个轴,一个轴是时间轴,这是动态的。另一个轴是工作流轴,这是静态的。在时间轴上,RUP划分了四个阶段:初始阶段、细化阶段、构造阶段和发布阶段。每个阶段都使用了迭代的概念。在工作流轴上,RUP设计了六个核心工作流程和三个核心支撑工作流程,核心工作流轴包括:业务建模工作流、需求工作流、分析设计工作流、实现工作流、测试工作流和发布工作流。核心支撑工作流包括:环境工作流、项目管理工作流和配置与变更管理工作流。RUP 汇集现代软件开发中多方面的最佳经验,并为适应各种项目及组织的需要提供了灵活的形式。作为一个商业模型,它具有非常详细的过程指导和模板。但是同样由于该模型比较复杂,因此在模型的掌握上需要花费比较大的成本。尤其对项目管理者提出了比较高的要求。它具有如下特点:(1)增量迭代,每次迭代都遵循瀑布模型能够在前期控制好和解决风险;(2)模型的复杂化,需要项目管理者具有较强的管理能力。10.IPD模型IPD(Integrated Product Development)流程是由IBM提出来的一套集成产品开发流程,非常适合于复杂的大型开发项目,尤其涉及到软硬件结合的项目。IPD从整个产品角度出发,流程综合考虑了从系统工程、研发(硬件、软件、结构工业设计、测试、资料开发等)、制造、财务到市场、采购、技术支援等所有流程。是一个端到端的流程。在IPD流程中总共划分了六个阶段(概念阶段、计划阶段、开发阶段、验证阶段、发布阶段和生命周期阶段),四个个决策评审点(概念阶段决策评审点、计划阶段决策评审点、可获得性决策评审点和生命周期终止决策评审点)以及六个技术评审点。IPD流程是一个阶段性模型,具有瀑布模型的影子。该模型通过使用全面而又复杂的流程来把一个庞大而又复杂的系统进行分解并降低风险。一定程度上,该模型是通过流程成本来提高整个产品的质量并获得市场的占有。由于该流程没有定义如何进行流程回退的机制,因此对于需求经常变动的项目该流程就显得不大适合了。并且对于一些小的项目,也不是非常适合使用该流程。,非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

Oracle平台应用数据库系统的设计与开发

Oracle是目前应用最广泛的数据库系统 一个完整的数据库系统包括系统硬件 操作系统 网络层 DBMS(数据库管理系统) 应用程序与数据 各部分之间是互相依赖的 对每个部分都必须进行合理的配置 设计和优化才能实现高性能的数据库系统 本文讨论笔者使用Oracle开发局域网中 小型数据库应用中 系统硬件的选择与使用 应用数据库系统设计与开发方面的一些心得和建议 应用数据库系统包含应用数据库和应用两方面的内容 应用数据库就是生产数据库 与系统数据库相对 系统硬件的选择与使用 与数据库系统密切相关的硬件主要有CPU 内存 集群 存储设备等 这里不对集群进行讨论 CPUCPU的数目和速度直接影响数据库操作的速度 Oracle数据库提供并行查询选项 允许SQL操作以协同方式在多个CPU上执行 可以很大程度的发挥多CPU的性能 为系统添加CPU前 首先要对应用程序的SQL代码做优化 提高应用程序的效率 质量低劣的应用可能会引起CPU资源的无谓的消耗 其次 要了解操作系统对CPU数目的限制及系统的可扩展性 在系统CPU资源已定的情况下 要对各类应用进行分析 在保证关键应用正常运行的前提下 尽可能将大量占用CPU资源的应用放在系统相对空闲的时候进行 良好的工作调度可以有效减少对CPU的竞争使用 加快系统的响应时间 内存数据库系统中 应保证有足够大的内存 在UNIX系统中 如果系统的物理内存小于 GB 可将交换区的大小设为内存的 倍 否则 可设为内存的 倍 交换区要放在磁盘速度最快的硬盘上 Oracle 的SGA区大小直接关系到数据库操作的性能 一般来说 SGA区的大小可设为系统可用内存的 %到 % SGA区过多占用系统内存反而会降低性能 在应用系统运行中 应定期监测系统的内存使用情况 对关键应用进行分析 根据应用适时调整SGA区各部分的大小 Oracle i可在不重新启动数据库的情况下修改SGA区的参数 实时改变SGA区的大小 存储设备在网络时代 信息资源的积累和广泛应用对数据存储技术的发展提出了更大的挑战 数据存储模式从传统的总线连接模式进入了网络存储模式 但存储设备依然是硬盘 磁带(带库) 磁盘阵列 在中 小型数据库应用中传统存储模式仍占主导地位 磁盘I/O是数据库操作的瓶颈之一 磁盘的合理选择和使用在数据库系统中显得尤为重要 在最初做数据库系统规划时 应充分考虑到系统的容量和预期的增长 尽可能为以后的扩展留足空间 在硬盘和磁盘阵列的选择与使用中 应注意以下几点 ·选择支持热插拔功能的硬盘 这样在出现硬盘Oracle 平台应用数据库系统的设计与开发失败时 可以在系统正常运行的情况下更换硬盘 ·不要选择太大的硬盘 切记对Oracle 应用程序 ~ GB大小的硬盘是比较合适的 最好购买大量的中小型硬盘 这样在配置RAID时可提供更大的灵活性 ·如果选用了磁盘阵列 对于Oracle数据库应用 如果经费能够支持 RAID + 是最佳的配置方法 在RAID 中 读操作性能得到了一定的改善 但写性能损失很大 如果某个硬盘失败 硬盘重建的工作量非常大 RAID 适用于DSS(决策支持系统)应用 对OLTP(联机事物处理)应用不太合适 ·在实现RAID时 要正确地选择分条的大小 决定分条大小的三个主要因素是 应用程序的特性(DSS OLTP 批处理) 操作系统与数据库的数据块大小 磁盘阵列中的硬盘数目 数据库的数据块大小应是操作系统数据块大小的整数倍 同样分条大小也必须是操作系统数据块大小的整数倍 如果使用裸设备 分条大小应是操作系统物理数据块的大小 分条可按照水平方向进行 也可按照垂直方向进行 水平分条跨越每个硬盘控制器进行 垂直分条跨越整个硬盘集合进行 分条集合中的成员数应不大于硬盘控制器数 OLTP应用程序 数据访问的数据量不大 一般可选择 KB 或 KB 的分条大小 而DSS应用程序访问的数据量大 可考虑使用 KB KB或 KB的分条大小 应用数据库的设计与开发 Oracle数据库软件安装和配置完成后 就进入了应用数据库的设计阶段 应用数据库设计包括逻辑设计与物理设计 合理的逻辑设计会大大提高数据库的性能 增强数据库的可维护性 在设计中根据应用 抽象出实体关系模型 将实体关系图映射为标准化(数据完整 与应用无关 存储优化)的关系模型(数据库对象) 当前有一些辅助工具(Oracle Designer等)来实现实体关系图到SQL代码的映射 数据库的物理设计就是数据库对象的存储设计 即如何为数据库对象分配存储空间 在进行数据库对象的设计前 数据库的管理和开发人员对应用和应用的数据及其应用关系要有一个详尽的理解 根据应用进行数据库对象的规划和设计 大概包含以下几个方面 ·确定需建立的数据库用户 明确用户的系统权限和表空间限额 为用户设计资源限制profile ·确定应用数据应分多少个表进行设计 各表分别属于的用户 各用户对各个表的操作权限 ·明确各表的结构 确定表的主键及约束 ·明确哪些表是应用运行的关键表 哪些是事务表 ·分析哪些表是主表 哪些表是从表 确定表和表之间的外键约束 选择合适的表作为表连接的驱动表 ·根据应用 确定在哪些表上对哪些列建立合适的索引 ·根据表和索引的设计 确定要创建的表空间和回滚段 为表空间和回滚段选择合适的磁盘 尽可能创建本地管理的表空间 减少数据库空间管理方面的工作 ·明确需要编写的触发器及过程 ·为数据库对象选择备份和恢复策略 在数据库设计阶段 有时未必能完全确定合适的数据库对象的特征 应用设计和开发中还可能发现不合适的地方 需要回过头来进行调整和修改 但设计阶段的工作越细致 出现问题的可能性就越小 工作的效率就越高 创建数据库对象时 要根据数据库对象的特点 结合存储设备的大小 数量及速度等 对数据库对象分类进行存储 最大限度地消除或减少资源竞争 在数据库对象创建时主要应遵循以下原则 ·应用数据应放在单独的表空间 不要将应用数据放在系统表空间 为防止无意的使用系统表空间 将应用用户的系统表空间限额设为 ·索引和表应放在位于不同硬盘上的不同的表空间 这样会提高数据库操作的速度 ·需要同时被访问的表要分开存放 利于并发访问的实施 ·如果磁盘数量有限 可把不常联合访问的表放在相同的磁盘上 ·预分配的原则 创建数据库对象(表空间 回滚段 表 索引等)时 根据对象的情况设置合适的storage参数非常重要 创建对象设计时 对对象的容量和预期的增长有一个估计 这样才能确定存储参数的大小 一般来说 应预先给表和索引等数据库对象分配足够的空间 数据库段不要太多地做动态扩展 因为会影响数据库性能 一个段(segment)由一个区(extent)构成是最理想的 initial 参数可以稍大一点 如果可能 可设为最大容量的大小 initial必须是db_block_size的整数倍 next参数的设置比较灵活 根据应用进行相应的设置 但也必须是db_block_size的整数倍 为了减少数据库碎片的产生 pctincrease参数应该尽量设为 更新操作比较少的段 pctfree要设置得小一点 更新操作很多的段要设置得大一些 inittrans和freelists的值要相等 大小与并发事务数相关 ·分而治之的原则 大的数据库表和索引可考虑进行分区存放 不同的分区可位于不同的磁盘上 更好地均衡I/O Oracle可以只对表的某些分区进行查询 这样会提高查询的速度 可对分区进行数据的删除 装载 还可以移动分区 对表的管理和控制具有更大的灵活性 可以有更多的策略选择 更好地执行备份和恢复操作 注意 对某些分区进行操作后 在Oracle i下必须重建全局索引 ·大小和增长趋势类似的表最好放在相同的表空间 可以有效控制硬盘碎片的产生 提高空闲块的可重用性 ·相同备份和恢复策略的表最好放在同一个表空间 这样有助于备份和恢复工作的完成 ·对响应时间要求苛刻的应用所访问的对象放在速度快的磁盘上 数据库应用系统的设计与开发 应用设计不论使用何种工具或语言来开发应用程序 都需要进行应用的全面设计 应用设计包括 首先 分析应用要完成的功能 确定应用类型 是OLTP(联机事务处理)系统 DSS(决策支持)系统还是批处理系统 其次 了解应用在何时由谁使用 应用访问的数据 应用程序用到的组件 应用被要求的响应时间等 在设计前 必须对这些问题尽量进行解答 这对应用设计特别是大规模的应用设计非常重要 第三 根据上面的资料 确定应用的体系结构 是采用client/server两层架构的方式 还是采用browser/server多层架构的方式实现一个开放的分布式应用系统 如何对应用服务器进行选择与配置 第四 将应用按功能划分为一个或多个应用程序 明确应用程序的具体功能 类型 组成 使用时间及高峰时间 事务的流量 用户组成 访问的数据库对象等 确定应用程序间的关联和互操作特性 对各个应用程序的执行时间合理地进行安排 第五 对应用程序进行模块化设计 选择实现应用的数据库组件和开发语言及工具 应用开发在应用开发阶段 根据应用的不同 实现的方法和步骤会有很大的差异 这里只讨论以下在应用开发中需要重点注意的几个问题 ) 在开发会话关键型应用程序时 尽可能使用Pro*C/C++或OCI 在编写后备实例和数据库失败恢复等需要进行数据库重新连接的代码时 用Pro*C/C++ 或OCI比用PL/SQL要容易实现 在Oracle / i中 OCI可以实现透明应用程序失败恢复(TAF) 编写数据库操作繁重的应用程序 使用OCI OCI程序对数据库的访问是通过调用OCI库函数实现的 能够直接到达系统内核 比Pro*C/C++速度更快 ) 在开发会话关键型应用程序时 尽量实现失败检查和恢复能力 如指定后备数据库或实例 终止出错客户进程等 ) 编写代码时 要考虑应用程序的可维护性 尽量将应用程序独立于数据库的变化 可使用视图 相对变量类型定义(%TYPE) 记录型变量定义(%ROWTYPE) 采用表驱动的应用程序设计模式 ) 进行充分的单元测试和模块测试 为应用集成打下坚实的基础 ) 对关键表操作的应用程序实现要特别当心 必要的话 在应用中对关键表先做备份 应用成功执行后再删除备份表 ) 编码结束后 应对代码进行优化 前面提到过 代码优化在数据库应用中非常重要 很高比例的性能问题与编码拙劣的应用程序有关 ) 定期对应用操作的数据库对象增长的情况进行监控 避免因空间不足引起的应用程序的失败 ) 对应用的数据定时进行整理 有些应用中 存放在数据库表中的数据只要求保存一段时间 就需要定时对数据进行删除 如果手工进行删除操作 工作量很大 可以用Oracle提供的作业来完成 unix系统下可用cron进程来实现 笔者在工作中经常使用cron来做数据的定时删除 根据应用要求 编制Pro*C/C++程序 编写Shell脚本调用应用程序 将Shell脚本提交给cron进程 注意 在Shell脚本中必须设置相应的Oracle环境变量 如ORACLE_BASE ORACLE_HOME NLS_LANG LD_LIBRARY_PATH PATH等 用户环境文件中的定义是无效的 )对于大量删除操作的应用程序 如果表是分区存放的 可对数据分区执行截断(truncate)操作 截断操作执行速度快并且不会产生碎片 但截断后可能需要进行重建索引的工作 对大量的数据做删除(delete)操作 会引起数据库回滚段的急剧增长 建议根据删除数据量为这类应用创建特殊的专用回滚段 为专用回滚段指定合适的storage参数 平常 专用回滚段可以是离线的(offline) 在事物开始前 使专用回滚段在线(online) 指定事物使用专用回滚段 事物结束后再使专用回滚段离线 笔者使用的部分代码 (Pro*C/C++) 如下所示 EXEC SQL WHENEVER SQLERROR goto Error;EXEC SQL CONNECT :uid; EXEC SQL ALTER ROLLBACK SEGMENT RBS_SPEC ONLINE;EXEC SQL SET TRANSACTION USE ROLLBACK SEGMENT RBS_SPEC; EXEC SQL DELETE FROM WHERE EXEC SQL ALTER ROLLBACK SEGMENT RBS_SPEC OFFLINE; 结束语 Oracle数据库是一个功能强大的数据库系统 适用于各种各样的应用系统 系统规模可大可小 应用设计或简单或复杂 因此在使用过程中要根据各自不同的应用进行设置与调整 以上是笔者在使用Oracle进行应用开发过程中一点心得和体会 写出来与大家共勉 谢谢 lishixinzhi/Article/program/Oracle/201311/17271

关于数据应用平台模型计算开发和数据模型开发工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 数据应用平台模型计算开发的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据模型开发工具、数据应用平台模型计算开发的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring boot+mybatis+thymeleaf 实现登录注册增删改查功能的示例代码
下一篇:阿里资深技术专家:在各阶段中3年经验的java程序员应该具备哪些技术能力
相关文章

 发表评论

暂时没有评论,来抢沙发吧~