智能计算平台应用开发(初级)-系统与软件-其他依赖_第1页
智能计算平台应用开发(初级)-系统与软件-其他依赖_第2页
智能计算平台应用开发(初级)-系统与软件-其他依赖_第3页
智能计算平台应用开发(初级)-系统与软件-其他依赖_第4页
智能计算平台应用开发(初级)-系统与软件-其他依赖_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章系统与软件操作系统脚本开发环境Python其他依赖其他依赖智能计算平台开发除系统、编程语言外,还需要一些应用软件,如开发工具、数据存储软件和软件服务器等。常用开发工具包JDK常用数据库软件MySQLGaussDBMongoDB常用的ETL工具Kettle常用软件服务器NginxJDKJDKSun公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit)。它是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。为了满足用户日新月异的需求,JDK的版本在不断升级。在1996年1月,Sun公司发布了Java的第一个开发工具包JDK1.0。随后相继推出了JDK1.I、JDK1.2、JDK1.3、JDK1.4、JDK5(1.5)、JDK6(l.6)、JDK7(1.7)、JDK8(l.8)、JDK9(l.9)和JDK10。JDK9是在2017年9月发布的版本,JDK10是在2018年3月发布的版本,这两个版本目前并不稳定,且市场使用率低。JDKJRE(JavaRuntimeEnvironment)Sun公司除了提供JDK,还提供了一种JRE(JavaRuntimeEnvironment)工具,它是Java运行环境,是提供给普通用户使用的。由于普通用户只需要事先编译好的Java程序,不需要自己动手编写,因此JRE工具中只包含Java运行工具,不包含Java编译工具。为了方便使用,Sun公司在JDK工具中自带了一个JRE工具,意味着开发环境中包含了运行环境。这样一来,开发人员只需在计算机安装JDK工具即可,而不需要专门安装JRE工具。JDKjavac。Java源程序编译器,将Java源代码转换成字节码。jar。Java应用程序打包工具,将相关的类文件合并成单个JAR归档文件。javadoc。JavaAPI文档生成器,从Java源程序代码注释中提取文档。jdb。Java调试器,可以逐行执行程序、设置断点。java。Java解释器,可以直接从类文件执行Java应用程序的字节代码。appletviewer。Applet解释器,用于解释和运行Java应用小程序。JDK提供的开发工具MySQLMySQLMySQL是用C和C++编写的开源关系数据库管理系统(RDBMS)。MySQL的名称是联合创始人MichaelWindenius的女儿的名字“My”和结构化查询语言(StructuredQueryLanguage)的缩写“SQL”的组合。根据GNU通用公共许可证发条款,MySQL是免费的开源软件,可以在各种专有许可证下使用。MySQL由瑞典MySQLAB拥有和赞助,该公司后来被SunMicrosystems(现为OracleCorporation)公司收购。2010年,当Oracle收购Sun时,Windenius公布了根据开源MySQL项目创建的MariaDB。MySQLMySQL是构成LAMPWeb应用程序软件堆栈的一个组件,LAMP是Linux、Apache、MySQL、Perl/PHP/Python的首字母缩写。使用MySQL数据库驱动的Web应用程序DrupalJoomlaphpBBWordPress使用MySQL数据库的网站FacebookFlickrMediaWikiTwitterYouTubeMySQL——MySQL的特点MySQL是开源产品,可以自由下载使用。MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务而不占用过多的系统资源。MySQL可运行在不同的操作系统下。MySQL可以支持Windows、Linux、UNIX和SUNOS等多种操作系统平台。这意味着在一个操作系统中实现的应用可以很方便地移植到其他操作系统。MySQL——MySQL的特点MySQL支持大型的数据库处理。MySQL可以方便地处理上千万条记录。作为一个开放源代码的数据库,MySQL可以针对不同的应用进行相应的修改。MySQL具有高效稳定的性能。MySQL拥有快速且稳定的基于线程的内存分配系统,可以持续使用,且不必担心稳定性。MySQL拥有强大的查询功能。MySQL支持查询中的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使查询变得快捷而方便。MySQL——MySQL的特点MySQL具有较高的安全性。MySQL拥有十分灵活和安全的权限和密码系统,允许基于主机的验证。当客户连接到服务器时,所有的密码传输均采用加密的形式,保证了密码安全。多种应用程序支持。MySQL具有C、C++、JAVA、PHP和Python等多种编程语言和API的支持。多用户支持。MySQL可以有效地满足50~1000个并发用户的访问,并且在超过600个用户的限度的情况下,MySQL的性能并不会有明显的下降。MySQL——MySQL的特点MySQL除本身具有的特征外,与其他数据库相比也具有相对优势。MySQL与Oracle、DB2、SQLServer等大型数据库管理系统(DBMS)相比MySQL具有免费、小巧、查询快速的特点,适用于一般中、小型甚至大型企业。MySQL与同属开放源代码的数据库系统PostgreSQL相比MySQL是由成熟的商业公司所开发,比PostgreSQL更流行,查询速度比PostgreSQL快许多。MySQL的工作级是线程,而PostgreSQL的工作级是进程。MySQL在权限系统上比PostgreSQL更为完善。MySQL——MySQL的应用场景在国内,MySQL大量应用于互联网行业,比如,大家所熟知的百度、腾讯、阿里、京东、网易、新浪等都在使用MySQL。搜索、社交、电商、游戏后端的核心存储往往都是MySQL,有的公司具有上千台甚至几千台MySQL数据库主机。由此可见,支撑互联网公司日常运转的主要数据库就是MySQL。MySQL——MySQL的应用场景近年来,随着业务的发展,互联网公司产生了许多成熟的架构和技术,这也促使MySQL不断变得更加成熟和稳健。MySQL的应用并未局限于互联网应用,许多软件开发商也把MySQL集成到了自己的产品中,这样一来,传统行业的公司也都可以在企业内部大量使用MySQL存储企业数据了,如政府信息系统。MySQL——MySQL的应用场景MySQL的定位是通用的数据库,各种类型的应用一般都能利用到MySQL存取数据的优势。业内生产实践也证明,MySQL更适合中小型数据库、联机事务处理(OLTP)业务,以目前的软硬件产品水平来看,如果单机数据超过几个TB,那么将难以高效利用MySQL。MySQL可以作为传统的关系型数据库产品使用,MySQL也可以当作一个key-value产品来使用。由于MySQL具有优秀的灾难恢复功能,因此相对于目前市场上的一些key-value产品会更有优势。GaussDB华为GaussDB华为GaussDB是一个企业级的AI-Native分布式数据库,它使用了大规模并行处理(MPP)架构。GaussDB支持面向行和列的存储,能够处理PB级的数据。GaussDB提供了一个低成本、通用的计算平台来管理大量的数据集,并与广泛的数据仓库系统、商业智能(BI)系统和决策支持系统(DSS)兼容。华为GaussDB将AI技术集成到数据库内核架构和算法中,为用户提供了性能更高、可用性更高、计算能力更多样化的分布式数据库。GaussDBGaussDB的划分事务型数据库GaussDB100和分析型数据库GaussDB200。GaussDB100事务型数据库GaussDB100是一款企业级的高性能、高可用、分布式关系型数据库。GaussDB100突破单机数据库存储容量和性能的瓶颈,解决业务互联网化带来的峰值流量访问问题。GaussDB200分析型数据库Gauss200是面向海量数据分析的并行数据库。GaussDB200是架构领先的MMP数据库,提供数据库基本能力,高性能、高可靠、易用和高扩展。GaussDBGaussDB100数据库的优点企业级多版本并发控制(MVCC),单机百万tpmc(每分钟处理交易量),长期高压运行性能无抖动。支持数据闪回和回收站,避免误操作带来的数据丢失。支持物理备份和恢复(PITR),支持双机冷热备份。兼容SQL2003标准,高度支持Oracle、MySQL语法。GuassDB100使用标准驱动/SQL语法,应用开发人员学习成本低,从而降低新业务开发周期。GuassDB100还高度兼容主流数据库对象和语法,常用Oracle语法兼容性较高,应用代码时改动少,应用迁移的周期短。GaussDBGaussDB200数据库的优点数据节点使用HA(HighAvailable,高可用性集群)保护,多个节点故障不中断服务。扩容过程中查询业务不中断,数据入库不中断。列存向量化计算支撑PB级数据的深度分析和挖掘。并行BulkLoad技术,提供10TB级每小时加载性能。可扩展性。无共享结构提供按需横向扩展能力。兼容标准ANSISQL,应用能够快速迁移或上线。MongoDBMongoDBMongoDB是由C++语言编写的、跨平台的、面向文档的开源数据库。MongoDB可以应用于各种规模的企业、各个行业以及各类应用程序。作为一个适用于快速开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,MongoDB也为开发人员提供传统数据库的功能:二级索引、完整的查询系统和严格一致性等。MongoDBMongoDBMongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。MongoDB是专为可扩展性、高性能和高可用性而设计的数据库。MongoDB可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。MongoDB的本地复制和自动故障转移功能使应用程序具有企业级的可靠性和操作灵活性。MongoDB——MongoDB的特点MongoDB的主要特点数据文件存储格式为BSON(一种JSON式扩展)键值对组成了BSON格式。面向集合存储易于存储对象类型和JSON形式的数据;集合(collection)类似于一张表格,区别在于集合没有固定的表头。MongoDB——MongoDB的特点模式自由一个集合可以存储一个键值对的文档,也可以存储多个键值对的文档,还可以存储键不一样的文档,在生产环境下可以轻松增减字段而不影响现有程序的运行。支持动态查询MongoDB支持丰富的查询表达式,查询语句使用JSON形式作为参数,可以很方便地查询内嵌文档和对象数组。完整的索引支持文档内嵌对象和数组都可以创建索引。MongoDB——MongoDB的特点二进制数据存储MongoDB使用传统高效的二进制数据存储方式,可以将图片甚至视频文件转换成二进制的数据存储到数据库中。支持复制和故障恢复MongoDB数据库可以从节点复制主节点的数据,主节点所有对数据的操作都会同步到从节点,从节点的数据和主节点的数据是完全一样的,以作备份。当主节点发生故障之后,从节点可以升级为主节点,也可以通过从节点对故障的主节点进行数据恢复。MongoDB——MongoDB的特点自动分片自动分片功能支持水平的数据库集群,可动态添加机器。分片能够实现海量数据分布式存储,分片通常与复制集配合起来使用,实现读写分离、负载均衡,选择片键是实现分片功能的关键。支持多种语言MongoDB支持C、C++、C#、JavaScript、Java、Perl、PHP、Python、Ruby、Scala等开发语言。MongoDB——MongoDB的特点MongoDB使用的是内存映射存储引擎MongoDB会把磁盘IO操作转换成内存操作。如果是读操作,那么内存中的数据起到缓存的作用;如果是写操作,那么内存还可以把随机的写操作转换成顺序的写操作。优点是可以大幅度提升性能;缺点是不能方便地控制MongoDB占用的内存量,事实上MongoDB会占用所有能用的内存,所以最好不要把别的服务和MongoDB放在一起。MongoDB——MongoDB应用场景MongoDB适用的场景网站数据MongoDB非常适合实时地插入、更新和查询数据,并具备网站实时数据存储所需的复制及高度伸缩性。MongoDB非常适用于迭代更新快、需求变更多、以对象数据为主的网站应用。缓存由于MongoDB是内存型数据库,性能很高,MongoDB也适合作为信息基础设施的缓存层。在系统重启之后,由MongoDB搭建的持久化缓存可以避免下层的数据源过载。MongoDB——MongoDB应用场景大尺寸、低价值的数据使用传统的关系数据库存储一些数据会比较麻烦,首先需要创建表格,再设计数据表结构,进行数据清洗,得到有用的数据,最后将按格式存入表格中;而MongoDB可以随意构建一个JSON格式的文档,并将其保存,之后再进行处理。高伸缩性的场景如果网站数据量非常大,很快就超过一台服务器能够承受的范围,那么MongoDB可以胜任网站对数据库的需求,MongoDB可以轻松地将网站数据自动分片到数十甚至数百台服务器。用于对象及JSON数据的存储MongoDB的BSON数据格式非常适合文档的格式化存储及查询。KettleETL(Extract-Transform-Load)ETL(Extract-Transform-Load)是指数据抽取、转换和装载的过程。在行业应用中,经常需要对各种数据进行处理、转换和迁移,熟悉并掌握一种ETL工具的使用,是智能计算从业者应该具备的一项技能。Kettle是业界中最常用的ETL工具之一,广受用户的欢迎和使用。KettleKettleKettle是PDI(PentahoDataIntegration)的前身,由于Kettle已经被广大开发者接受,所以从业者都习惯性地把PDI也称为Kettle。Kettle是取“KettleE.T.T.L.Environment”首字母的缩写,表示抽取、转换、装入和加载数据,翻译成中文是水壶的意思,希望把各种数据放到一个壶里,像水一样,以一种指定的格式流出,表达数据流的含义。KettleKettle的主要作者是MattCasters,他在2003年就开始了Kettle工具的开发。Kettle在2006年初开源的Pentaho公司收购,并正式命名为PentahoData。2017年9月20日,Pentaho被日本日立集团下的新公司HitachiVantara合并。Kettle目前,Kettle工具包括4个子产品:SPOON、PAN、CHEF、KITCHEN。SPOONSPOON是Kettle使用图形设计ETL转换工程的工具,使用SPOON.BAT批处理文件启动SPOON,通过图形界面来设计ETL转换过程。PANPAN是一个命令行执行工具,用于执行转换。用户编写命令行参数,批量运行由SPOON设计的ETL转换。PAN是一个后台执行的程序,以命令行方式执行转换,没有图形界面。KettleCHEFCHEF是Kettle使用图形设计ETL任务的工具,使用CHE.BAT批处理文件启动CHEF,通过图形界面来设计ETL任务。KITCHENKITCHEN是一个命令行执行工具,用于执行任务。用户编写命令行参数,批量运行由CHEF设计的ETL任务。KITCHEN也是一个后台运行的批处理程序,以命令行方式执行任务。Kettle——Kettle的特点免费的开源软件Kettle是一款纯Java编写的开源ETL工具,对商业用户没有限制。容易配置支持多平台可以在Window、Linux、Unix上运行,不需要安装,数据抽取高效稳定。图形化界面操作图形化流程式的设计和界面操作,让用户十分容易上手和使用,无须编写代码就能实现对数据的各种处理操作。Kettle的主要特点Kettle——Kettle的特点Kettle的主要特点全面的数据访问和支持Kettle允许用户管理来自不同类型的数据,例如Excel、CSV、TXT等文本文件数据,以及MySQL、Oracle、Postgres和SQLSERVER等数据库的数据等。Kettle还提供图形化的用户操作环境,来实现用户对数据的操作和管理。提供基础数据转换和工作流控制Kettle中有两种脚本文件,即Transformation转换和Job作业任务,Transformation完成针对数据的基础转换和复杂的数据处理等,Job则完成对整个工作流的控制。Kettle——Kettle的特点定时功能在Job作业任务中的Start模块,可以以每日或每周等方式设置定时执行任务。社区的支持Kettle是开源软件工具,在Kettle的使用、疑难问题的解决、软件版本和维护等方面,Kettle社区提供强大的帮助和支持。Kettle的主要特点Kettle——Kettle的应用场景从模式上划分,Kettle主要有以下几种应用场景。表视图模式在同一网络环境下,对各种数据源的表数据进行抽取、过滤、清洗等,例如历史数据同步、异构系统数据交互、数据发布或备份等都归属于这个模式。前置机模式典型的数据交换应用场景,以数据交换的A和B方为例,A和B双方的网络不通,但是A和B都可以与前置机C进行连接,双方约定好前置机的数据结构,这个结构与A和B的数据结构基本上是不一致的,用户把应用上的数据按照数据标准推送到前置机上。依此类推,同样可以处理三方及以上的数据交换。Kettle——Kettle的应用场景文件模式以数据交换的A和B方为例,A和B双方在物理上完全隔离,只能通过文件的方式来进行数据交互。文件类型有多种,例如TXT、Excel、SQL和CSV等类型,在A方应用中开发一个接口用于生成标准格式的CSV文件,然后用U盘或其它介质在某一时间拷贝文件,将其接入到B方的应用上,在B方上按照标准接口解析相应的文件,并把数据接收过来。依此类推,同样可以处理三方及以上的文件。Kettle——Kettle的应用场景ETL的数据处理过程主要包括数据初始化、迁移、同步、清洗、导入导出等,从过程上划分,Kettle有以下几种应用场景。数据初始化数据初始化是导入基础类数据,这时的数据源可能有多种,如文本文件数据、从其它数据库中获取的数据、从Web服务中获取的数据等,经过处理后将数据写入目标数据库中。初始化场景的关注点在于多种数据源。数据迁移把某些数据转至另一个地方或几个地方。Kettle——Kettle的应用场景数据同步数据同步是指将数据准实时(较短时间内)同步到另一供查询或统计的数据库中。数据清洗强调数据清洗过程,数据会经过校验、去重、合并、删除、计算等处理。导入导出把处理后的数据导入或导出到数据库或者文件中。NginxNginxNginx是一款由俄罗斯程序员IgorSysoev开发的轻量级网页服务器、反向代理服务器以及电子邮件(POP3/IMAP)代理服务器。Nginx是一个安装非常简单,配置文件非常简洁(还能够支持Perl语法),错误非常少的服务器。Nginx是免费的开源软件,根据类BSD许可证的条款发布。大部分Web服务器使用Nginx作为负载均衡器。NginxNginx该软件由IgorSysoev创建并于2004年首次公开发布。2011年成立同名公司以提供支持。2019年3月11日,Nginx公司被F5Networks以6.7亿美元收购。NginxNginx起初是供俄罗斯大型的门户网站及搜索引擎Rambler使用的。该软件可以运行在UNIX、Linux、BSD、MacOSX、Solaris和Windows等操作系统中。相对于Apache、lighttpd,Nginx具有占用内存少、稳定性高等优点,并且因并发能力强、具有丰富的模块库以和友好灵活的配置而闻名。在Linux操作系统中,Nginx使用epoll事件模型,效率较高。Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。NginxNginx能够支持高达5万个并发连接数的响应,在高连接并发的情况下,Nginx是Apache服务器不错的替代品。Nginx优秀的高并发支持和高效的负载均衡是用户选择它的理由,目前国内有众多的知名企业使用Nginx,如新浪、网易、腾讯等公司。Nginx作为负载均衡服务器,既可以在内部直接支持Rails和PHP程序对外进行服务,也可以作为HTTP代理服务器对外进行服务。Nginx采用C语言进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal好。Nginx——Nginx的特点Nginx的主要特点Nginx使用异步事件驱动的方法来处理请求Nginx的模块化事件驱动架构,可以在高负载下提供更可预测的性能。Nginx是一款面向性能设计的HTTP服务器与旧版本(2.2版本之前)的Apache不同,Nginx充分使用异步逻辑,从而削减了上下文调度开销,所以并发服务能力更强。Nginx整体采用模块化设计,有丰富的模块库和第三方模块库,配置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论