分析型数据库入门指南_第1页
分析型数据库入门指南_第2页
分析型数据库入门指南_第3页
分析型数据库入门指南_第4页
分析型数据库入门指南_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录前言122334关于本指南关于KingbaseAnalyticsDB的文档资料文档规范获取帮助第二章 KingbaseAnalyticsDB 数据库介绍第三章 安装单节点 KingbaseAnalyticsDB 数据库实例8创建KingbaseAnalyticsDB数据库管理帐号899安装KingbaseAnalyticsDB数据库软件创建数据目录配置KingbaseAnalyticsDB环境变量1011初始化KingbaseAnalyticDB配置 MASTER_DATA_DIRECTORY 环境变量12信息12第四章开始使用 KingbaseAnalyticsDB 数据库13数据样例

2、13131415151617191920212229343839启动和停止KingbaseAnalyticsDB实例,数据库,模板数据库使用kisql连接数据库在 kisql中输入命令设置用户认证创建用户创建新数据库给用户赋予权限创建模式和搜索路径创建表数据加载和性能调优行存和列存检查数据在segments上均匀分布关于分区 partitioning第五章 KingbaseAnalyticsDB 数据分析简介404042454849505051内部集成的函数安装 MADlib执行 MADlib ANOVA线性回归MADlib信息附录操作系统配置LinuxMac OS X前言这篇向导讲述了如何安

3、装和运行一个KingbaseAnalyticsDB数据库系统,并且从中可以了解到系统的主要特性。 关于本向导 关于KingbaseAnalyticsDB文档资料 文档规范 获取帮助1关于本指南这篇向导主要讲述了如何安装、初始化和运行一个KingbaseAnalyticsDB数据库系统,包括操作的步骤和运行令等。本向导假定你已经具备了Linux/Unix系统管理,数据库系统管理和SQL语言的相关知识和能力。本文档包含如下章节:KingbaseAnalyticsDB 介绍 介绍了KingbaseAnalyticsDB的架构及组件。安装单节点KingbaseAnalyticsDB数据库实例 安装单节

4、点KingbaseAnalyticsDB数据库步骤。KingbaseAnalyticsDB数据库入门 简短的介绍KingbaseAnalyticsDB介绍KingbaseAnalyticsDB的库内分析功能 KingbaseAnalyticsDB的分析库MADlib的介绍操作系统设置 介绍操作系统的参数设置关于KingbaseAnalyticsDB 的文档资料KingbaseAnalyticsDB提供了如下文档资料。表 1:KingbaseAnalyticsDB的文档资料2文档名称描述KingbaseAnalyticsDB管理员手册KingbaseAnalyticsDB数据库系统和数据库本身的

5、管理手册,它包括主题有KingbaseAnalyticsDB数据库架构和概念,日常的系统管理任务, 如配置服务器, 系统运行状态,启用高可用,备份与恢复,扩展系统。数据库本身的管理包括主题有配置 权限,创建数据库和数据库对象,装载数据, 编写,工作负载管理, 解决性能问题。KingbaseAnalyticsDB参考手册KingbaseAnalyticsDB数据库系统参考:包括SQL命令,系统表,环境变量,字符集支持,数据类型,KingbaseAnalyticsDB MapReduce规范,GIS扩展,服务器参数,ka_tookit管理模式和SQL 2008标准支持情况。KingbaseAnal

6、yticsDB工具参考手册介绍KingbaseAnalyticsDB系统所带令行工具,客户端程序和Oracle兼容功能KingbaseAnalyticsDB安装手册介绍如何安装和初始化一个KingbaseAnalyticsDB数据库系统文档规范KingbaseAnalyticsDB的文档使用如下规范。 命令语命令语范范表 2: 命令语范获取帮助金仓技术支持、信息和技术支持和信息可以从以下获得。欲获取技术支持、文档、版本发布信息和软件更新,也包括 。金仓的信息、和服务可3Text ConventionUsageExamples 在命令语法中,花括号指定命令选项分组。不要输入花括号本身。FROM

7、'filename' | STDIN 在命令语法中, 方括号表示可选参数,不要输入花括号本身。TRUNCATE TABLE name在命令语法中, 省略号表示命令、变量或选项的重复,不要输入省略号本身。DROP TABLE name ,|在命令语法中, 管道符号表示"或"的关系,不要输入管道符号本身。VACUUM FULL | FREEZE $mand表示命令提示符,不要输入提示符本身command prompt -$ createdb mydatabase#mand$和#表示终端命令提示符# chown kaadmin -R /datadir=>ma

8、ndPrompts. =>和 =# 表示=> SELECT * FROM mytable;=#mandKingbaseAnalyticsDB交互程序提示符(例如kisql或 kassh)。=# SELECT * FROM pg_database;第二章KingbaseAnalyticsDB 数据库介绍KingbaseAnalyticsDB是基于单机版Kingbase开发的大规模并行处理数据库 (MPP)系统。MPP 系统是一个由两个或多个Kingbase数据库实例合作完成一个任务的集群,每个实例有的内存和。KingbaseAnalyticsDB使用这种高性能的系统架构来分布式处理T

9、B级的数据,并能充分利用所有的系统来处理一个。KingbaseAnalyticsDB数据库整体架构KingbaseAnalyticsDB数据库本质上是几个增强的Kingbase实例一起紧密协作组成的一个完整的数据库管理系统 (DBMS)。每个KingbaseAnalyticsDB数据库有一个master实例和两个或多个segment实例。数据库用户与master交互,类似标准的Kingbase数据库。下图是一个由1个master和8个segment组成的KingbaseAnalyticsDB数据库实例。4上图中的master被部署在一台单独的主机上,这里的主机指的是安装了操作系统,并配备有内存

10、、磁盘、CPU和一个或多个网口的计算机可能是物理机也可能是虚拟机。KingbaseAnalyticsDB服务器的客户端程序与master或者说 master实例交互, master 在master主机的一个端口上接受客户端连接,默认端口是5432。上图中的8个segments部署在4台segment主机上,每个segment主机是一个的,安装有操作系统,配备有内存、CPU、以是物理机也可以是虚拟机。和网口的计算机系统。像 master主机一样,segment主机可在这里每个segment主机上部署了2个segments或者说segment实例。 一个segment是一个数据库实例,管理着一部份

11、磁盘上的数据。每个segment实例在一个segment主机的端口上。在segment主机上部署多个segment实例是为了充分利用系统。一个配有多个CPU核的主机部署多个segment实例比单个实现能完成的计算。master管理和协调整个KingbaseAnalyticsDB数据库实例,将请求分发给所有segment,并合并segment返回的结果。master和segment主机通过内部连接(interconnect)相互协作,内部连接一般是一个典型的千兆网络,使用一种增强的UDP协议,它比TCP更快,比标准的UDP更可靠。KingbaseAnalyticsDB通过在不同的主机上部署mas

12、ter实例和每个segment实例的镜像来实现高可用,同时还可以提供冗余的内部连接网络,来保证任意组件故障不影响整个集群可用。非共享(Shared Nothing)vs共享(Shared Disk)架构KingbaseAnalyticsDB基于非共享(shared nothing)架构,它使用自己的CPU、内存和储管理自己的那部分数据。相反的,共享(shared disk或叫shared everything)架构的存系统中,多个数据库实现共同管理位于共享nothing架构各自有各自的优缺点。下的同一份数据。shared disk架构和shared在共享的系统里,所有数据对数据库实例来说都是本

13、地的,在做Join时不需要在网络上将数据从一个进程到另一个进程。然而,基于网络的方案和进程之间的协作可能会限制整个集群的节点数。为了增加数据容量和可接受的响应时间就需要昂贵的服务器或NAS硬件。KingbaseAnalyticsDB的Shared Nothing架构最大的优点是更好的可扩展性,更低的成本,和更快的执行。能够添加大量的低成本的设备如 常见的PC和磁盘来扩容。每个segment管理的那部分数据是,不像共享的系统需要相互之前协作和交换数据。非共享的系统依赖于semgent数据是否分布均匀,当数据分布不均,会导致在执行时节点间大量的数据。因此,类似KingbaseAnalyticsDB

14、这样的share nothing系统,要求用户保证数据在segment之间是均匀分布的,来发挥硬件的最佳性能。5KingbaseAnalyticsDB的MPP特性KingbaseAnalyticsDB是通过修改单机Kingbase内部实现来实现并行执行的。例如,对系统表、规划器、优化器、执行器和事务管理组件等都做了修改和增强来使可以在segment间并行执行。加入的segment实例可以增大数据库容量和减少的响应时间。同时KingbaseAnalyticsDB还加入了一些单机版Kingbase没有的商业智能(BI)相关的特性,如并行数据装载 (外部表),管理和优化等。在KingbaseAnal

15、yticsDB中还对原有Kingbase进行了区表,这些特性加快了数据装载和数据管理,优化和压缩磁盘性都是为了有效的处理大规模和超大规模数据。增强包括列、追加优化表和分提高了IO的利用率,所有这些特单节点KingbaseAnalyticsDB配置最小的多segment KingbaseAnalyticsDB数据库配置是一个单节点系统,它会在一台主机上运行几个的进程。由一个 master实例和一个或多个 segment实例组成,典型的配置应该是每个CPU核对应一个segment。单节点配置容易安装和使用,可以用于开发和评估KingbaseAnalyticsDB系统。但是它缺少高可用特性,例如备节

16、点,除此之外它是一个完整的KingbaseAnalyticsDB系统。本文档的下一节将讲述如何安装一个由一个master和两个segment组成的单节点的KingbaseAnalyticsDB实例,可以通过它来实践和体验KingbaseAnalyticsDB特性。图 1: 单节点KingbaseAnalyticsDB配置6master是KingbaseAnalyticsDB系统的中的segment一起协作执行用户的SQL。点,客户端通过它提交SQL语句,master与集群segments实际和处理数据。每个segment包含一部分数据。当用户了一个语句到处理进程来处master,master分

17、发计算任务到2个segment。在每个segment上将生成一个理这个。当每个segment返回各自的结果后master再合并结果,并把最终结果返回给用户。搭建一个生产环境下的KingbaseAnalyticsDB,需要预先考虑容量,等。这已经超出了本文档的范围,请参考KingbaseAnayliticsDB安装手册。和高可用方案更进一步信息请阅读KingbaseAnalyticsDB管理员手册了解KingbaseAnalyticsDB的架构7第三章 安装单节点KingbaseAnalyticsDB 数据库实例这章介绍了在Red Hat Enterprise Linux (或CentOS)或者

18、在Mac OS X主机上安装一个KingbaseAnalyticsDB数据库实例。实例包括一个master和2个segment。请阅读KingbaseAnalyticsDB安装手册来理解这些步骤和如果搭建一个多节点的KingbaseAnalyticsDB数据库实例。下面是安装和配置一个KingbaseAnalyticsDB实例的步骤列表: 参考 操作系统配置来设置操作系统参数 创建KingbaseAnalyticsDB管理帐号 安装KingbaseAnalyticsDB软件 准备数据目录 配置KingbaseAnalyticsDB环境变量 初始化数据库 设置MASTER_DATA_DIRECT

19、ORY环境变量创建KingbaseAnalyticsDB 数据库管理帐号用户不能以root议:运行KingbaseAnalyticsDB。对于生产系统,KingbaseAnalyticsDB建 指定一个系统帐号作为KingbaseAnalyticsDB安装的属主 总是使用这个帐号启动和管理KingbaseAnalyticsDB数据库注意: KingbaseAnalyticsDB在Mac OS X系统下搭建生产环境仅可用于开发和评估。你可以用你的帐号安装和搭建一个单节点的KingbaseAnalyticsDB数据库,本文档使用kaadmin用户名, 你可以换成你实际使用的Mac OS X用户名。

20、在GNU/Linux下,你可以新建一个用户帐号来运行KingbaseAnalyticsDB系统,为了方便这里假定是kaadmin,要加一个新用户以root运行如下命令:8# useradd kaadmin # passwd kaadminNew password: passwordRetype new password: password用户必须限去安装KingbaseAnalyticsDB的服务和目录。例如,用户需要能够KingbaseAnalyticsDB的安装目录和数据目录,可以运行Java虚拟机(JVM)。(可选) 如果你在同一台上用多个管理帐号去运行多个KingbaseAnalyti

21、csDB数据库实例,你可能需要生成一个用户组做为KingbaseAnalyticsDB数据库安装的属主。本文档只使用kaamin作为组名。要添加一个新组,可以以root运行如下命令:安装KingbaseAnalyticsDB 数据库软件或拷贝KingbaseAnalyticsDB数据库安装程序到你的系统中,安装程序可以咨询相关商务或在http:.cn找到试用版。 用bash运行安装程序。如: 安装程序提示接受KingbaseAnalyticsDB协议输入yes接受该协议。 安装程序提示你输入安装位置,可以输入回车(ENTER)使用默认位置(/home/kaadmin/kadb-3.0), 或者

22、输入绝对路径作为安装目录。注意你必须有该路径的写权限。 安装程序会生成一个KingbaseAnalyticsDB的符号到你的带有版本号的安装路径上,该符号是用于简化补丁更新以及版本升级的。安装路径使用环境变量$KAHOME。创建数据目录每个KingbaseAnalyticsDB master和segment节点都在磁盘上有指定的区域,这个区域被称为数据目录地址。 这是一个数据库数据的文件系统地址。 在KingbaseAnalyticsDB单节点模式下, 你会在同一个系统中初始化一个KingbaseAnalyticsDB master实例以及两个或以上的segment实例, 每个实例会请求一个数

23、据目录地址。 这些目录必须有满足你数据量大小的足够磁盘空间并且权限都属于kaadmin 用户。牢记segment实例的数据目录是用户数据存放地址,所以他们必须拥有足够的磁盘空间来容纳9# /bin/bash KingbaseAnalyticsDB-3.0-build1-CENTOS6-x86_64.run# groupadd kaadmin# usermod -g kaadmin ka_user1# usermod -g kaadmin ka_user2你期待的数据量。 对于master实例来说, master数据目录中仅仅建立数据目录地址:了系统日志表以及元数据。 创建或者选择一个目录来作为

24、你的master数据区域。 例如, 使用root权限执行下面命令: 创建或者选择目录来作为你的segment数据用root权限执行下面命令:区域。 对于下面单节点双segment实例, 使配置KingbaseAnalyticsDB 环境变量在你的$KAHOME 目录下提供了一个kingbaseanalyticsdb-path。sh文件,它包含了KingbaseAnalyticsDB 的环境变量配置。 你可以在kaadmin 用户启动配置文件(例如。bashrc)中source此文件或者在/etc/profile 中source此文件,如果你希望所有的用户都配置此环境变量。例如, 你可以在你选择

25、的启动配置文件中加入与类似下面的一行命令:在编辑完选择的启动配置文件后, 使用正确的用户source 它来保证修改生效。 例如:或者注意: .bashrc 文件不应该产生任何的输出。 如果你希望在登录的过程中向用户息, 请使用 .profile 文件。提示信10$ source /etc/profile$ source /.bashrcsource /home/kaadmin/kadb/kingbaseanalyticsdb-path.sh$ mkdir /kadata1$ chown kaadmin /kadata1$ chgrp kaadmin /kadata1$ mkdir /kadat

26、a2$ chown kaadmin /kadata2$ chgrp kaadmin /kadata2# mkdir /kamaster# chown kaadmin /kamaster # chgrp kaadmin /kamaster初始化 KingbaseAnalyticDBKingbaseAnalyticDB的 kainitsystem 工具用于初始化KingbaseAnalyticDB系统。 对于一个单节点KingbaseAnalyticDB系统, 你会在同一个系统上初始化master以及两个(或以上)的segment实例。在KingbaseAnalyticDB系统被初始化以及启动后,

27、 你可以通过连接master数据库进程来创建和管理数据库。初始化KingbaseAnalyticDB: 使用 kaadmin 用户登录到系统: 从KingbaseAnalyticDB安装文件中拷贝 hostlist_singlenode 和 kainitsystem_singlenode样例文件到你的当前目录: 将 hostlist_singlenode 和 kainitsystem_singlenode 文件设置为可写的以便你能编辑它们: 编辑 kainitsystem_singlenode 文件并设置你的配置。 在文件中有详细的提示信息来帮助你修改。 你必须至少将MASTER_HOSTNA

28、ME属性设置为你的系统名或者。 这里有一个使用默认属性的文件样例:11ARRAY_NAME="KADB SINGLENODE"MACHINE_LIST_FILE=./hostlist_singlenodeSE G_PREFIX=kasegPORT_BASE=40000declare -a DATA_DIRECTORY=(/home/kaadmin/data1/home/kaad min/data2)MASTER_HOSTNAME= MASTER_DIRECTORY=/home/kaadmin/masterMASTER_PORT=5432c

29、hmod +w *_singlenodecp $KAHOME/docs/cli_help/kaconfigs/*_singlenode .su - kaadmin 编辑 hostlist_singlenode 文件并且将第一行替换成你系统的名称或者。 运行 kassh-exkeys 工具来交换本地地址ssh公钥: 运行下面命令来初始化KingbaseAnalyticDB:这个工具会核对你的安装信息并且保证在 kainitsystem_singlenode 配置文件中的数据目录是可果所有的验证都顺利通过, 工具将在创建系统前提示你确认你的KingbaseAnalyticDB配置

30、。 例如:的。 如 工具开始安装并且初始化所有master以及segment实例。 这个过程将持续几分钟 (取决于初始化segment的个数)。在成功安装后, 工具将启动你的KingbaseAnalyticDB系统。 你将会看到:注意: 对于单节点实例, 你可以忽略掉使用 '' 或 'localhost'的告警信息。 这个告警仅仅在使用多节点KingbaseAnalyticDB时生效。配置 MASTER_DATA_DIRECTORY 环境变量KingbaseAnalyticDB管理工具需要你配置 MASTER_DATA_DIRECTORY 环境

31、变量。 这个变量指向的目录是使用kainitsystem 工具创建的master数据目录地址。例如, 在 kaadmin 用户的启动文件中(比如 。bashrc)添加类似下面指令的一行:在编辑完选择的启动配置文件后, 使用正确的用户source 它来保证修改生效。 例如:信息请在 KingbaseAnalyticsDB管理员指南 中学习识。安装和配置KingbaseAnalyticsDB的知12$ source /.bashrcMASTER_DATA_DIRECTORY=/home/kaadmi n/master/kasne-1export MASTER_DATA_DIRECTORY=>

32、 Kingbase Database instance successfully created.=> Continue with Kingbase creation? y$ kainitsystem -c kainitsystem_singlenode$ kassh-exkeys -h 第四章开始使用 KingbaseAnalyticsDB 数据库这一章提供了KingbaseAnalyticsDB基础操作的简介并且介绍了KingbaseAnalyticsDB为何会成为大数据分析工具的最佳选择。数据样例我们使用一个公共数据集来介绍KingbaseAnalyticsDB,

33、 航空公司数据集, 由美国交通运输部发布在 http:/ .gov/。时间统计及延误原因时间性能数据集了航班的日期,航线,起始地,目的地以及很多其他的航班信息。数据从1987年起就有存在。 在这个指南的练习中使用2009-2010年的一百万条数据。美国航空局使用起始到达以及航线这些数据来计算和统计准时起飞和着陆的航班百分比。你将建立一个名为 tutorial 的数据库, 定义模式和表来保存数据, 并使用扩展表导入数据。然后你安装 MADlib 数据库内置分析库以及运行几个分析来回答以下问题: 从不同指定机场起飞的一个航班有性能区别么? 从同一指定机场起飞的不同航班有性能区别么? 延迟长距离航班

34、的补偿时间,能够让航班在接近指定的时间到达么?tutorial 数据库将包含一个事实表以及数个维度表。 事实表保存着2009及2010年数月的历史航班。 你将创建两个版本的事实表, 一个面向行版本(otp_r) 和一个面向列版本(otp_c)。 你将从CSV格式文件中导入数据到维度表。 对于事实表, 你将使用一个提取,装载,转化(ELT) 进程去导入数据。启动和停止 KingbaseAnalyticsDBKingbaseAnalyticsDB安装过程包含了停止集群令工具, 启动并查看当前状态。 在KingbaseAnalyticsDB安装目录下的bin文件夹中有这些命令, 也就是, $KAHO

35、ME/bin文件夹。当你的环境变量已经source过$KAHOME/kingbaseanalyticsdb-path.sh , 便可以在你的当前路径下使用命令。使用运行KingbaseAnalyticsDB的用户执行这些命令, 例如 kaadmin。 你可以使用help选项获取。检查当前KingbaseAnalyticsDB实例状态:13 运行 kastate 命令:命令输出master和segment进程状态。 如果KingbaseAnalyticsDB系统没有运行, 命令会输出错误信息。停止KingbaseAnalyticsDB实例: 运行 kastop 命令:输出将要被停止的master

36、以及segment进程参数。 当提示停止KingbaseAnalyticsDB实例时,输入 y 。启动KingbaseAnalyticsDB实例: 运行 kastart 命令:输出将要被停止的master和segment进程参数。 当提示启动KingbaseAnalyticsDB实例时,输入 y 。信息如需要学习如何管理KingbaseAnalyticsDB。 请查阅KingbaseAnalyticsDB工具参考手册 来获取信息。实例,数据库,模板数据库KingbaseAnalyticsDB 集群被叫做实例或集群。一个集群中可能有多个实例。使用$KAHOME/kingbaseanalytics

37、db-path.sh设置环境变量,并把集群可执行程序或PATH中。添加到一个实例可以管理多个数据库。一个数据库包括应用所需的所有数据或对象。一个客户端同时只能连接一个数据库,一个不可能操作多个数据库。新初始化的集群默认有三个数据库: template1 数据库是创建新数据库的模板数据库。如果想要一个对象在所有数据库中都存在, 可以把该对象创建在template1 数据库中14$ kastart$ kastop$ kastate kingbase 和 template0 数据库供,不应更改或删除。如果更改了template1 数据库,可以使用template0 数据库当做模板,这样新数据库中就对

38、象。有template1 中已更改的使用 kisql 连接数据库kisql 是连接数据库的交互性命令行工具。默认情况下, kisql 尝试连接本机(localhost)上端口为5432的kingbase数据库,默认连接的用户名和数据库是当前操作系统登录用户。例如,如果当前用户是kaadmin,kisql 默认用kaadmin用户连接kaadmin数据库。默认是没有kaadmin 数据库的,所以使用kisql时必须指定要连接的数据库。默认数据库名和其他连接操作可以在命令行指定,或使用环境变量指定。必要的连接参数是主机地址,master端,用户名和数据库名。使用默认连接参数连接数据库:指定连接参数

39、:使用环境变量设置连接参数:在 kisql 中输入命令当成功连接到数据库中,kisql 显示提示符, 数据库名后加 =#。例如:15$ kisql template1 kisql (8.2.15)Type "help" for help. template1=#$ export KIPORT=5432$ export KIHOST=localhost$ export KIDATABASE=template1$ kisql$ kisql -h localhost -p 5432 -U kaadmin template1$ kisql template1如果使用非超级用户连接,

40、提示符是: template1=>。SQL 语句可能比较长,可以在多行输入语句。分多行输入时, kisql 提示符变成数据库名加- #, 或数据库名加 -> ,数据库以分号作为一条SQL 语句的结束符。 kisql 把用户输入存到一个查询缓冲区中,直到遇到分号,然后开始执行该语句。kisql 快捷命令, 以分隔符 ()开头:输入 e 使用外部编辑器 (默认是vi)输入p 显示缓冲区内容输入g 代替分号标识一条语句的结束输入r 重置缓冲区,丢弃已输入的语句输入l 列出所有数据库输入d 列出表,视图和sequence输入qkisql输入h 查看SQL 语句帮助输入? 查看kisql帮助

41、输入sql语句后也可以使用h 命令,所有已输入的语句将会被忽略。kisql 快捷命令有很多。 你在后面的例子中会碰到它们。设置用户认证集群初始化后,用户认证功能开始生效,master节点只接受kaadmin 用户的连接。在master 节点主机,允许其他用户或其它主机连接数据库,必须配置集群关于认证的配置文件。segments 节点自动配置为只接受master的连接。集群支持多种认证方法,包括,LDAP,Kerberos (GSSAPI), Radius, 客户端认证,PAM, 和 SSPI。这个例子中,我们使用MD5加密的认证。被加密并保存在数据库中。查看KingbaseAnalyticsD

42、B管理员手册获取认证方法。在$MASTER_DATA_DIRECTORY/sys_hba。conf 文件中配置认证信息。以#开头的行是注释,主要描述配置文件的语法和配置选项。非注释行是认证接请求。第一个匹配连接请求的行决定认证方法,所以配置文件中每行的先后顺序需要考虑清楚。每行认证信息取决于连接请求的类型,要连接的数据库和用户名。连接类型可以是local(本地socket连接), host (非加密的 TCP/ IP 连接), 或者 hostssl (使用SSL加密的 TCP/IP 连接)。 如果连接类型是host或hostssl,新添加的一行配置包括一个CIDR 掩码,掩码主要用来决定哪一个

43、网段的主机可以连接数据库。下面例子中,设置认证信息,使users组内的任何一个成员都可以输入后tutorial数据16库,其它主机连接请求需要SSL认证。 kaadmin用户登录,编辑配置文件$MASTER_DATA_DIRECTORY/sys_hba.conf: 在该文件最后,添加下面内容:查看KingbaseAnalyticsDB 管理员手册 中完整的语法描述和每一行数据的有效值, 或者阅读sys_hba.conf文件中的注释。 保存更改,使用下面命令重新加载配置文件sys_hba.conf和kingbase.conf:下章描述创建用户和用户组。创建用户KingbaseAnalyticsD

44、B使用用户来管理数据库。初始化时,有一个超级用户初始化集群的操作系统用户,通常是kaadmin。 该用户可以操作所有数据库文件和操作系统进程,所以该用户应该保留,只用来管理集群任务。可以赋给用户或用户组权限。默认只有kaadmin可以创建。可以使用createuser 命令行工具, CREATE ROLE SQL命令, 或 CREATE USER SQL 命令创建。除了CREATE USER命令创建的用户默认有LOGIN 属性外,。其它和命令CREATE ROLE相同。使用createuser命令行工具创建用户 用kaadmin用户登录master主机。 输入createuser命令:17$

45、createuser -P user1Enter password for new role:Enter it again:Shall the new role be a superuser? (y/n) nShall the new role be allowed to create databases? (y/n) y Shall the new role be allowed to create more new roles? (y/n) n$ kastop -ulocaltutorial+usersmd5localtutorial+users127001/28md5 hostssltu

46、toriala+userssamenetmd5$ vi $MASTER_DATA_DIRECTORY/sys_hba.conf下个例子和上面例子是等价的,在kisql交互工具中使用CREATE USER SQL 命令。使用CREATE USER 命令创建用户 用kaadmin用户连接数据库templete1: 创建新用户user2: 显示用户信息:创建用户组并将用户添加到用户组中 使用kaadmin连接到template1数据库后,输入下面命令: 再次显示用户列表:18=# du List of rolesRole name| Attributes| Member of- - -+ - - -

47、 - - - - - - - - +- - -kaadmin| Superuser, Create role, Create DB|user1| Create DB| usersuser2| Create DB| usersusers| Cannot login|=# CREATE ROLE users;=# GRANT users TO user1, user2;# duRole name| List of roles Attributes| Member of+kaadmin| Superuser, Create role, Create DB|user1| Create DB|user2

48、| Create DB|=# CREATE USER user2 WITH PASSWORD 'changeme' CREATEDB NOSUPERUSER;$ kisql template1创建新数据库在kisql中使用SQL 命令CREATE DATABASE 或 命令行工具createdb 都可以创建新数据库。除非不使用template1作为模板数据库,否则,新创建的数据库是template1 的一个拷贝。使用CREATE DATABASE 命令时必须连接到数据库。新初始化的集群,也可以连接到template1来创建新的数据库。createdb 命令行工具是CREATE

49、DATABASE 命令的封装。下面例子中,若存在tutorial 数据库,会先将其删除,然后用createdb工具创建该数据库。 如果tutorial数据库存在,输入下面命令删除数据库: 使用createdb工具创建数据库: 使用kisql l命令验证数据库已被创建: 使用user1连接到tutorial数据库,输入:给用户赋予权限生产环境下,应该给用户赋予其能完成工作的最小权限。例如,一个用户需要SELECT 权限查看表数据,但不需要UPDATE, INSERT, or DELETE 权限更新数据。19$ kisql -U user1 tutorial Password for user u

50、ser1: kisql (8.2.15)Type "help" for help.=> q$ kisql -lList of databasesName|Owner| Encoding| Access privileges+postgres|kaadmin|UTF8|template0|kaadmin|UTF8|=c/kaadmin:kaadmin=CTc/kaadmin template1|kaadmin|UTF8|=c/kaadmin:kaadmin=CTc/kaadmin tutorial|kaadmin|UTF8|(4 rows)$ createdb tuto

51、rial$ dropdb tutorial为了完成该文档中的练习,这个指南中,数据库用户需要有创建和操作tutorial数据库的权限。 使用kaadmin连接数据库tutorial: 赋给user1和user2操作tutorial数据库的所限:kisql,下面例子中使用用户user1。创建模式和搜索路径数据库模式是一些数据库对象的集合,包括表,数据类型,函数。 一个数据库可以有多个模式。 模式下的数据库对象都有模式名修饰,模式名和对象名以小数点分割。例如,employee模式下的persion表可以用employee。persion来表示。模式给其所有对象提供了一个命名空间。如果数据库被多应用

52、使用,每个应用有自己的模式, 不同模式下表名可以相同。employee.person 和 customer.person。是两张不同的表。 两张表在有模式名修饰情况下可以在一个语句中同时。数据库包含有模式的搜索路径,搜索路径被用来没有模式名修饰的表。搜索路径中的第一个模式是新创建数据库对象所在的模式。默认的搜索路径是"$user",public, 因此,每个用户默认情况下创建的数据库对象可以被该用户。下面例子中,创建模式 faa , 并设置其为默认搜索路径。 进入包含FAA数据和的目录:kisql 的工作目录和当前调用kisql的操作系统目录相同。可以使用cd命令改变kis

53、ql 的工作目录。把工作目录改为faa 的目录,这样方便你直接 使用kisql连接tutorial数据库:数据或者SQL。20$ kisql -U user1 tutorial$ cd /faa=# GRANT ALL PRIVILEGES ON DATABASE tutorialTO user1, user2;$ kisql -U kaadmin tutorial 创建模式faa: 把faa模式加到搜索路径中: 查看搜索路径:上面设置的搜索路径是临时的,每当新连接到数据库时,都需要设置搜索路径。可以使用ALTER ROLE命令把用户名添加到搜索路径中这样当连接到数据库时,搜索路径就被保存下来了。参考KingbaseAnalyticsDB管理员手册。查看模式相关信息。创建表CREATE TABLE SQL 语句用来创建表。关于分布策略,表的数据分布策略会影响集群性能。数据分布策略目的是:分发数据和到每个segments上,使segments在本地完成代价较高的。分布策略决定数据在segment中如何分发。定义高效的分布策略取决于对数据特点的了解,要在数据上执行的语句,并且哪种分布策略可以提高segment并发执行能力等因素。在create table语句创建表时,使用DISTRIBUTED 子句指定分布策略。理想情况

温馨提示

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

评论

0/150

提交评论