云服务器内容精选

  • Hive样例工程介绍 MRS样例工程获取地址为https://github.com/huaweicloud/huaweicloud-mrs-example,切换分支为与MRS集群相匹配的版本分支,然后下载压缩包到本地后解压,即可获取各组件对应的样例代码工程。 当前MRS提供以下Hive相关样例工程: 表1 Hive相关样例工程 样例工程位置 描述 hive-examples/hive-jdbc-example hive-examples/hive-jdbc-example-multizk Hive JDBC处理数据Java示例程序。 本工程使用JDBC接口连接Hive,在Hive中执行相关数据操作。使用JDBC接口实现创建表、加载数据、查询数据等功能,还可实现在同一个客户端进程内同时访问FusionInsight ZooKeeper和第三方的ZooKeeper,相关样例介绍请参见JDBC访问Hive样例程序。 hive-examples/hcatalog-example Hive HCatalog处理数据Java示例程序。 使用HCatalog接口实现通过Hive命令行方式对MRS Hive元数据进行数据定义和查询操作,相关样例介绍请参见HCatalog访问Hive样例程序。 hive-examples/python-examples 使用Python连接Hive执行SQL样例。 可实现使用Python对接Hive并提交数据分析任务,相关样例介绍请参见基于Python的Hive样例程序。 hive-examples/python3-examples 使用Python3连接Hive执行SQL样例。 可实现使用Python3对接Hive并提交数据分析任务,相关样例介绍请参见基于Python3的Hive样例程序。 父主题: 概述
  • 静态编译架构 从整个数据库服务的组成构架来看,存储引擎向上对接SQL引擎,为SQL引擎提供或接收标准化的数据格式(元组或向量数组);存储引擎向下对接存储介质,按照特定的数据组织方式,以页面、压缩单元(Compress Unit)或其他形式为单位,通过存储介质提供的特定接口,对存储介质中的数据完成读写操作。GaussDB通过静态编译使数据库专业人员可以为特定的应用程序需求选择专用的存储引擎。为了减少对执行引擎的干扰,提供行存访问接口层TableAM,用来屏蔽底层行存引擎带来的差异,使得不同行存引擎可以分别独立演进。如下图所示。 在此基础之上,存储引擎通过日志系统提供数据的持久化和可靠性能力。通过并发控制(事务)系统保证同时执行的、多个读写操作之间的原子性、一致性和隔离性,通过索引系统提供对特定数据的加速寻址和查询能力,通过主备复制系统提供整个数据库服务的高可用能力。 行存引擎主要面向OLTP(OnLine Transaction Processing)类业务应用场景,适合高并发、小数据量的单点或小范围数据读写操作。行存引擎向上为SQL引擎提供元组形式的读写接口,向下以页面为单位通过可扩展的介质管理器对存储介质进行读写操作,并通过页面粒度的共享缓冲区来优化读写操作的效率。对于读写并发操作,采用多版本并发控制(MVCC,Multi-Version Concurrency Control);对于写写并发操作,采用基于两阶段锁协议(2PL,Two-Phase Locking)的悲观并发控制(PCC,Pessimistic Concurrency Control)。当前,行存引擎默认的介质管理器采用磁盘文件系统接口,后续可扩展支持块设备等其他类型的存储介质。GaussDB行存引擎可以选择基于Append update 的Astore或基于In-place update的Ustore。 父主题: 存储引擎体系架构概述
  • 通用数据库服务层 从技术角度来看,存储引擎需要一些基础架构组件,主要包括: 并发:不同存储引擎选择正确的锁可以减少开销,从而提高整体性能。此外提供多版本并发控制或“快照”读取等功能。 事务:均需满足ACID的要求,提供事务状态查询等功能。 内存缓存:不同存储引擎在访问索引和数据时一般会对其进行缓存。缓存池允许直接从内存中处理经常使用的数据,从而加快了处理速度。 检查点:不同存储引擎一般都支持增量checkpoint/double write或全量checkpoint/full page write模式。应用可以根据不同条件进行选择增量或者全量,这个对存储引擎是透明的。 日志:GaussDB采用的是物理日志,其写入/传输/回放对存储引擎透明。 父主题: 存储引擎体系架构概述
  • 成本类型 成本中心目前提供两种成本类型的数据供您使用。 原始成本:反映了原始使用和购买情况。该成本是基于云服务官网价,应用了商务折扣、促销折扣等优惠之后的金额。该成本未考虑代金券的抵扣,如果想了解抵扣代金券之后的原始购买情况,可以使用原始成本净值。 摊销成本:反映了包年/包月的预付金额在订单有效期间内按日分摊后的有效成本。比如您购买了有效期为一年的云服务共365元,则每天的摊销成本为1元。详细计算规则,可参见摊销成本的分摊规则。该成本未考虑代金券的抵扣,如果想了解抵扣代金券之后的摊销情况,可以使用摊销成本净值。 父主题: 概述
  • 函数样例工程包下载 本手册使用样例工程包下载地址如表4所示,可以下载到本地,创建函数时上传使用。 表4 样例工程包下载 函数 工程包下载 软件包校验文件 Node.js函数 fss_examples_nodejs.zip fss_examples_nodejs.sha256 Python函数 fss_examples_python2.7.zip fss_examples_python2.7_sha256 Java函数 fss_example_java8.jar fss_example_java8_sha256 Go函数 fss_examples_go1.8.zip fss_examples_go1.8_sha256 C#函数 fss_example_csharp2.0、fss_example_csharp2.1 fss_example_csharp2.0_sha256 fss_example_csharp2.1_sha256 PHP函数 fss_examples_php7.3.zip fss_examples_php7.3_sha256
  • 函数支持的运行时语言 FunctionGraph函数Runtime支持多种运行时语言:Python 、Node.js、Java、Go、C#、PHP及自定义运行时,说明如表1所示。 建议使用相关语言的最新版本。 表1 运行时说明 运行时语言 支持版本 SDK下载 Node.js 6.10、8.10、10.16、12.13、14.18、16.17、18.15 - Python 2.7、3.6、3.9、3.10 - Java 8、11、17(当前仅支持华北-乌兰察布二零二) Java SDK下载(软件包检验文件:fss-java-sdk_sha256) 说明: Java SDK集成了云服务OBS SDK。 Go 1.x Go1.x SDK(软件包检验文件:Go SDK_sha256) C# .NET Core 2.1、.NET Core 3.1、.NET Core 6.0(当前仅支持华北-乌兰察布二零二) CsharpSDK(软件包检验文件:fssCsharp_sha256) PHP 7.3 - 定制运行时 - -
  • Python Runtime集成的非标准库 表3 Python Runtime集成的非标准库 模块 功能 版本号 dateutil 日期/时间处理 2.6.0 requests http库 2.7.0 httplib2 httpclient 0.10.3 numpy 数学计算 1.13.1 redis redis客户端 2.10.5 obsclient OBS客户端 - smnsdk 访问SMN服务 1.0.1
  • Node.js Runtime集成的三方件 表2 Node.js Runtime集成的三方件 名称 功能 版本号 q 异步方法封装 1.5.1 co 异步流程控制 4.6.0 lodash 常用工具方法库 4.17.10 esdk-obs-nodejs OBS SDK 2.1.5 express 极简web开发框架 4.16.4 fgs-express 在FunctionGraph和API Gateway之上使用现有的Node.js应用程序框架运行无服务器应用程序和REST API 。提供的示例允许您使用Express框架轻松构建无服务器Web应用程序/服务和RESTful API 。 1.0.1 request 简化http调用,支持HTTPS并默认遵循重定向 2.88.0
  • 数据库用户 系统数据库用户包含OMS数据库用户、DBService数据库用户。 类别 默认用户 初始密码 描述 密码修改方法 OMS数据库 ommdba MRS 3.2.0之前版本:dbChangeMe@123456 MRS 3.2.0及之后版本:随机密码 OMS数据库管理员用户,用于创建、启动和停止等维护操作。 请参见修改OMS数据库管理员密码。 omm MRS 3.2.0之前版本:ChangeMe@123456 MRS 3.2.0及之后版本:随机密码 OMS数据库数据访问用户。 请参见修改OMS数据库访问用户密码。 DBService数据库 omm MRS 3.2.0之前版本:dbserverAdmin@123 MRS 3.2.0及之后版本:随机密码 DBService组件中GaussDB数据库的管理员用户。 请参见重置DBService数据库omm用户密码。 compdbuser 随机密码 MRS 3.1.2及之后版本中存在,DBService组件中GaussDB数据库的管理员用户,用于业务运维场景。该账户密码首次使用需重置。 请参见修改DBService数据库compdbuser用户密码。 hetu 随机密码 HetuEngine连接DBService数据库hetumeta的用户。 该用户仅在MRS 3.1.2及之后版本中存在。 MRS 3.1.2之前版本:请参见修改组件数据库用户密码。 MRS 3.1.2及之后版本:请参见重置组件数据库用户密码。 hive MRS 3.1.2之前版本:HiveUser@ MRS 3.1.2及之后版本:随机密码 Hive连接DBService数据库hivemeta的用户。 hue MRS 3.1.2之前版本:HueUser@123 MRS 3.1.2及之后版本:随机密码 Hue连接DBService数据库hue的用户。 sqoop MRS 3.1.2之前版本:SqoopUser@ MRS 3.1.2及之后版本:随机密码 Loader连接DBService数据库sqoop的用户。 oozie MRS 3.1.2之前版本:OozieUser@ MRS 3.1.2及之后版本:随机密码 Oozie连接DBService数据库oozie的用户。 rangeradmin MRS 3.1.2之前版本:Admin12! MRS 3.1.2及之后版本:随机密码 Ranger连接DBservice数据库ranger的用户。 kafkaui 随机密码 KafkaUI连接DBService数据库kafka的用户。 该用户仅在MRS 3.1.2及之后版本中存在。 flink 随机密码 Flink连接DBService数据库flink的用户。 该用户仅在MRS 3.1.2及之后版本中存在。 cdl 随机密码 CDL连接DBService数据库cdl的用户。 该用户仅在MRS 3.2.0及之后版本中存在。 jobgateway 随机密码 JobGateway连接DBService数据库jobmeta的用户。 该用户仅在MRS 3.3.0及之后版本中存在。
  • 系统用户 需要使用操作系统中root用户,所有节点root用户需设置为统一的密码。 需要使用操作系统中ldap用户,此账号不能删除,否则可能导致集群无法正常工作。密码管理策略由操作系统管理员维护。 类别 用户名称 初始密码 描述 密码修改方法 系统管理员 admin 用户创建集群时自定义 FusionInsight Manager的管理员。 说明: admin用户默认不具备其他组件的管理权限,例如访问组件原生界面时,需要使用具备对应组件管理权限的用户才可以访问到完整内容。 请参见修改admin密码。 节点操作系统用户 ommdba 随机密码 创建系统数据库的用户。在管理节点生成,属于操作系统用户,无需设置为统一的密码。该用户不能用于远程登录。 请参见修改操作系统用户密码。 omm 随机密码 系统的内部运行用户。在全部节点生成,属于操作系统用户,无需设置为统一的密码。
  • 用户分类 MRS集群提供以下3类用户,请系统管理员定期修改密码,不建议使用默认密码。 本章节介绍MRS集群内的相关默认用户信息。 用户类型 使用说明 系统用户 通过FusionInsight Manager创建,是系统操作运维与业务场景中主要使用的用户,包含两种类型: “人机”用户:用于在FusionInsight Manager的操作运维场景,以及在组件客户端操作的场景。创建此类型用户时需要参考创建用户设置“密码”和“确认密码”。 “机机”用户:用于系统应用开发的场景。 用于OMS系统进程运行的用户。 系统内部用户 集群提供的用于Kerberos认证、进程通信、保存用户组信息和关联用户权限的内部用户。系统内部用户不建议在操作与维护的场景下使用。请通过admin用户操作,或联系系统管理员根据业务需要创建新用户。 数据库用户 用于OMS数据库管理和数据访问的用户。 用于业务组件(Hue、Hive、HetuEngine、Loader、Oozie、Ranger、JobGateway和DBService)数据库的用户。
  • 事务管理 在事务管理上,GaussDB采取了MVCC(多版本并发控制)结合两阶段锁的方式,其特点是读写之间不阻塞。GaussDB的astore存储引擎将历史版本数据和当前元组的版本放在了一起。GaussDB的astore存储引擎没有回滚段的概念,但是为了定期清除历史版本数据,GaussDB的astore存储引擎引入了VACUUM线程。一般情况下,除非用户要做性能调优,否则不用特别关注VACUUM线程。GaussDB的ustore存储引擎是将历史版本数据统一存放到undo回滚段里,由undo回收线程统一清理历史版本数据。此外,GaussDB对于单语句查询(没有使用BEGIN等语句显示启动事务块)是自动提交事务的。
  • 数据库逻辑结构图 集群的每个DN负责存储数据,其存储介质是磁盘,本节主要从逻辑视角介绍每个DN上有哪些对象,以及这些对象之间的关系。另外介绍数据在不同节点的分布方式。数据库逻辑结构如图1所示。 图1 数据库逻辑结构图 Tablespace,即表空间,表空间是一个目录,数据库中可以存在多个表空间,其中存储的是它所包含的数据库的各种物理文件。每个表空间可以对应多个Database。 Database,即数据库,用于管理各类数据对象,各数据库间相互隔离。数据库管理的对象可分布在多个Tablespace上。 Datafile Segment,即数据文件,通常每张表只对应一个数据文件。如果某张表的数据大于1GB,则会分为多个数据文件存储。 Table,即表,每张表只能属于一个数据库,也只能对应到一个Tablespace。每张表对应的数据文件必须在同一个Tablespace中。 Block,即数据块,是数据库管理的基本单位,默认大小为8KB。 数据在不同的DN上有四种分布方式,可以在建表的时候指定:REPLICATION、HASH、RANGE、LIST。 父主题: 数据库系统概述
  • 事务管理 在事务管理上,GaussDB采取了MVCC(多版本并发控制)结合两阶段锁的方式,其特点是读写之间不阻塞。GaussDB的astore存储引擎将历史版本数据和当前元组的版本放在了一起。GaussDB的astore存储引擎没有回滚段的概念,但是为了定期清除历史版本数据,GaussDB的astore存储引擎引入了VACUUM线程。一般情况下,除非用户要做性能调优,否则不用特别关注VACUUM线程。GaussDB的ustore存储引擎是将历史版本数据统一存放到undo回滚段里,由undo回收线程统一清理历史版本数据。此外,GaussDB对于单语句查询(没有使用BEGIN等语句显示启动事务块)是自动提交事务的。
  • 数据库逻辑结构图 GaussDB的数据库节点负责存储数据,其存储介质也是磁盘,本节主要从逻辑视角介绍数据库节点都有哪些对象,以及这些对象之间的关系。数据库逻辑结构如图1。 图1 数据库逻辑结构图 Tablespace,即表空间,表空间是一个目录,数据库中可以存在多个表空间,其中存储的是它所包含的数据库的各种物理文件。每个表空间可以对应多个Database。 Database,即数据库,用于管理各类数据对象,各数据库间相互隔离。数据库管理的对象可分布在多个Tablespace上。 Datafile Segment,即数据文件,通常每张表只对应一个数据文件。如果某张表的数据大于1GB,则会分为多个数据文件存储。 Table,即表,每张表只能属于一个数据库,也只能对应到一个Tablespace。每张表对应的数据文件必须在同一个Tablespace中。 Block,即数据块,是数据库管理的基本单位,默认大小为8KB。 父主题: 数据库系统概述