国产数据库崛起:从零到精通!KingbaseES金仓数据库超详细安装使用指南

在这里插入图片描述
在这里插入图片描述

KingbaseES 是中电科金仓(北京)科技股份有限公司研发的,具有自主知识产权的通用数据库产品。该产品是面向全行业、全客户关键应用的企业级大型通用数据库管理系统,适用于事务处理类应用、数据分析类应用、海量时序数据采集检索等应用场景,可用做管理信息系统、业务及生产系统、决策支持系统、多维数据分析、全文检索、地理信息系统、图片搜索、时序数据等的承载数据库。 今天给大家出一个金仓数据库KingbaseES超详细安装使用指南,从数据库下载、安装到可视化IDE KStudio工具的建库及使用。

一、关于KingbaseES金仓数据库

    KingbaseES 是中电科金仓(北京)科技股份有限公司研发的,具有自主知识产权的通用数据库产品。该产品面向事务处理类应用,兼顾各类数据分析类应用,可用做管理信息系统、业务及生产系统、决策支持系统、多维数据分析、全文检索、地理信息系统、图片搜索、时序数据等的承载数据库。

    作为KingbaseES产品系列最新一代版本,KingbaseES V9在系统的可靠性、可用性、性能和兼容性等方面进行了重大改进,它包括以下主要技术特性:

🌞 高度容错,稳定可靠
    针对企业级关键业务应用的可持续服务需求,KingbaseES V9提供可在电力、金融、电信等核心业务系统中久经考验的容错功能体系,通过如数据备份、恢复、同步复制、多数据副本等高可用技术,确保数据库7×24小时不间断服务,实现99.999%的系统可用性。

🌞 应用迁移,简单高效
    针对从异构数据库将应用迁移到KingbaseES的场景,KingbaseES V9一方面通过智能便捷的数据迁移工具,实现无损、快速数据迁移;另一方面,KingbaseES V9还提供高度符合标准(如SQL、ODBC、JDBC等)、并兼容主流数据库(如Oracle、SQLServer、MySQL等)语法的服务器端、客户端应用开发接口,可最大限度地降低迁移成本。

🌞 人性设计,简单易用
    KStudio版本提供了全新设计的集成开发环境(IDE)和集成管理平台,能有效降低数据库开发人员和管理人员的使用成本,提高开发和管理效率。

🌞 性能强劲,扩展性强
    针对企业业务增长带来的数据库并发处理压力,该版本提供了包括并行计算、索引覆盖等技术在内的多种性能优化手段,此外提供了基于读写分离的负载均衡技术,让企业能从容应对高负载大并发的业务。

二、下载安装

2.1 下载数据库

    金仓官网提供了金仓各产品各版本的安装包、补丁包、对应的工具、接口驱动、授权文件等下载服务。可以通过页面中的筛选栏选择所需产品及版本进行下载,我这里下载的是windows版本的x64完整版金仓数据库。

下载地址:https://download.kingbase.com.cn/xzzx/index.htm

在这里插入图片描述
    这里下载好的是iso镜像文件,直接双击打开,然后把内容复制出来。

在这里插入图片描述

2.2 安装配置

    单击 KINGBASE.EXE 开始安装!

在这里插入图片描述
    我这里选择默认的中文安装,点击 确定

在这里插入图片描述
    单击 下一步

在这里插入图片描述
    单击 下一步

在这里插入图片描述
    我这里选择的完全安装,点击 下一步

在这里插入图片描述
    我这里选择试用,点击 下一步

在这里插入图片描述
    可以自定义安装路径,点击 下一步

在这里插入图片描述
    点击 安装

在这里插入图片描述
    默认数据文件就行,点击 下一步

在这里插入图片描述
在这里插入图片描述
    填写相关配置信息,system的密码自定义,字符集编码,选择的是UTF8;数据库兼容模式选择的是MySql;是否大小写敏感选择的是NO,存储块大小选择的是8K,点击 完成

在这里插入图片描述
    这里数据库就安装完成了,完成了测试的第一步,接下来咱们一起去看看数据应用那块吧!

三、可视化工具建库操作

3.1 打开数据库开发管理工具(KStudio)

    KingbaseES KStudio 是金仓数据库(KingbaseES)官方推出的专业数据库开发管理工具,提供可视化操作界面,支持数据库对象管理、SQL编辑与调试、数据导入导出、性能监控等功能。用户可通过KStudio轻松完成表、视图、存储过程等对象的创建与维护,并利用智能语法提示、执行计划分析等特性提升开发效率。同时,工具兼容主流数据库语法,支持多环境连接与批量任务处理,是DBA和开发人员管理KingbaseES数据库的得力助手,助力企业实现数据高效运维与开发。

在这里插入图片描述

3.2 建立数据连接

    点击菜单 数据库新建连接

在这里插入图片描述
    填写好密码,点击测试链接,提示连接成功,并展示服务版本配置和驱动相关信息。

3.3 建立数据库

    右键 数据库新建数据库

在这里插入图片描述    填写基本属性信息
在这里插入图片描述
    数据库的创建代码

CREATE DATABASE `xcLeigh` WITH OWNER = `system` ENCODING 'UTF8' TEMPLATE `template0`
 TABLESPACE = `sys_default`
 lc_collate = 'zh_CN.UTF-8'
 lc_ctype = 'zh_CN.UTF-8'
 connection_limit = -1
 allow_connections = TRUE
 is_template = FALSE;

    点击确定,数据库就建好了

在这里插入图片描述

3.4 建表

    打开 SQL编辑器输入建表SQL语句点击执行。表jsontable就创建成功了。

CREATE TABLE "public"."jsontable" (
        "id" integer NULL,
        "jsondata" json NULL,
        "jsonvarchar" varchar NULL,
        "jsonarray" json NULL
);

在这里插入图片描述

3.5 删表

    打开 SQL编辑器输入删表SQL语句点击执行。表jsontable就删除成功了。

DROP TABLE "public"."jsontable"

在这里插入图片描述

3.6 新增表数据

    打开 SQL编辑器输入插入数据的SQL语句点击执行。表jsontable的数据就新增成功了。

INSERT INTO public.jsontable ("id","jsondata","jsonvarchar","jsonarray") VALUES
         (1,'{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','{"f2": {"f3": 1}, "f4": {"f5": 99, "f6": "foo"}}','[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]'),
         (2,'{"a":[1,2,3,4,5]}','{"a": [1, 2, 3, 4, 5]}','[1,2,3,4,5]'),
         (3,'{"a":1, "b": ["2", "a b"],"c": {"d":4, "e": "ab c"}}','{"a": 1, "b": ["2", "a b"], "c": {"d": 4, "e": "ab c"}}','[{"f1":1,"f2":null},2,null,3]');

在这里插入图片描述

3.7 查询表数据

    打开 SQL编辑器输入查询表数据SQL语句点击执行。表jsontable的数据就显示了。
在这里插入图片描述

3.8 修改表数据

    打开 SQL编辑器输入修改数据的SQL语句点击执行。表jsontable的数据就修改完成了。

UPDATE `jsontable` SET id=4 WHERE id=1

在这里插入图片描述
    金仓数据库的sql语句跟oracle、mysql等sql语句差不多,基本上都能很快上手!上面演示的增删改查功能,是不是相当简单?国产数据库的崛起已经步入轨道,快来一起翻开国产数据库的新篇章吧!

四、数据库JSON系列应用教程

    JSON(JavaScript Object Notation)作为一种流行的数据格式,采用可读性非常好的轻量级文本,只需要更少的编码,处理速度更快,用于在现代Web和移动应用程序中交换数据。此外,JSON能打通关系型和非关系型数据存储之间的界限,为业务提供更好的架构选择。

    JSON 数据类型是用来存储 JSON(JavaScript Object Notation)数据的。KingbaseES为存储JSON数据提供了两种类型:JSON和 JSONB。JSON 和 JSONB 几乎接受完全相同的值集合作为输入。

    这两种类型的主要区别为:

  • JSON类型把输入的数据原封不动地存储在数据库中(当然在存放前会做JSON的语法检查),使用的时候需要重新解析数据。
  • JSONB类型在存放时就把JSON解析成二进制格式了,使用的时候不需要再次解析。

    下面主要探讨Json构造函数。

4.1 Json构造函数

    在对数据库的使用中,可能需要把关系数据或者一个行对象转为JSON对象或JSON数组,KingbaseES提供了JSON构造函数来生成JSON数据。

    本部分将主要介绍Kingbase数据库的Json构造函数。

准备数据,上面增删改查的时候数据已经教大家新增了:

CREATE TABLE "public"."jsontable" (
        "id" integer NULL,
        "jsondata" json NULL,
        "jsonvarchar" varchar NULL,
        "jsonarray" json NULL
);

INSERT INTO public.jsontable ("id","jsondata","jsonvarchar","jsonarray") VALUES
         (1,'{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','{"f2": {"f3": 1}, "f4": {"f5": 99, "f6": "foo"}}','[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]'),
         (2,'{"a":[1,2,3,4,5]}','{"a": [1, 2, 3, 4, 5]}','[1,2,3,4,5]'),
         (3,'{"a":1, "b": ["2", "a b"],"c": {"d":4, "e": "ab c"}}','{"a": 1, "b": ["2", "a b"], "c": {"d": 4, "e": "ab c"}}','[{"f1":1,"f2":null},2,null,3]');

JSON函数,使用JSON数据类型构造函数来解析文档的JSON输入(标量、对象或者数组),返回一个JSON类型的实例。

4.1.1 ROW_TO_JSON

  • 功能描述:

把行作为一个 JSON对象返回。如果pretty_bool为真,将在第1层元素之间增加换行。

  • 用法描述:
row_to_json(record [, pretty_bool])
  • 示例描述:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
demo=# select row_to_json(row(1,'foo'));
     row_to_json     
---------------------
 {"f1":1,"f2":"foo"}
(1 行记录)

demo=# select row_to_json(row(id,jsonvarchar)) from jsontable;
                                       row_to_json                                       
-----------------------------------------------------------------------------------------
 {"f1":1,"f2":"{\"f2\": {\"f3\": 1}, \"f4\": {\"f5\": 99, \"f6\": \"foo\"}}"}
 {"f1":2,"f2":"{\"a\": [1, 2, 3, 4, 5]}"}
 {"f1":3,"f2":"{\"a\": 1, \"b\": [\"2\", \"a b\"], \"c\": {\"d\": 4, \"e\": \"ab c\"}}"}
(3 行记录)

demo=# select row_to_json(row(id,jsonvarchar) , true) from jsontable;
                                   row_to_json                                    
----------------------------------------------------------------------------------
 {"f1":1,                                                                        +
  "f2":"{\"f2\": {\"f3\": 1}, \"f4\": {\"f5\": 99, \"f6\": \"foo\"}}"}
 {"f1":2,                                                                        +
  "f2":"{\"a\": [1, 2, 3, 4, 5]}"}
 {"f1":3,                                                                        +
  "f2":"{\"a\": 1, \"b\": [\"2\", \"a b\"], \"c\": {\"d\": 4, \"e\": \"ab c\"}}"}
(3 行记录)

4.1.2 TO_JSON

  • 功能描述:

将anyelement转换为JSON格式的数据。

  • 用法描述:
to_json(anyelement)
  • 示例描述:
demo=#  select to_json(true);
 to_json 
---------
 true
(1 行记录)

demo=# select to_json('abcd'::text); 
 to_json 
---------
 "abcd"
(1 行记录)

demo=# select to_json(array['a','b']);
  to_json  
-----------
 ["a","b"]
(1 行记录)

demo=#  select to_json(id) from jsontable ;
 to_json 
---------
 1
 2
 3
(3 行记录)

4.1.3 TO_JSONB

  • 功能描述:

JSON函数,将任何SQL值转换为JSONB。

  • 用法描述:
to_jsonb(anyelement)
  • 示例描述:
demo=# select to_jsonb(true);
 to_jsonb 
----------
 true
(1 行记录)

demo=# select to_jsonb('abcd'::text);      
 to_jsonb 
----------
 "abcd"
(1 行记录)

demo=# select to_jsonb(array['a','b']);    
  to_jsonb  
------------
 ["a", "b"]
(1 行记录)

demo=#  select to_jsonb(id) from jsontable ;
 to_jsonb 
----------
 1
 2
 3
(3 行记录)

4.2.4 JSONB_BUILD_OBJECT

  • 功能描述:

JSON处理函数,将可变参数列表构造成一个JSON 对象,通过转换,该参数列表由交替出现的键和值构成。
注意:参数列表的元素个数必须为偶数

  • 用法描述:
jsonb_build_object( VARIADIC "any")
  • 示例描述:
demo=# select JSONB_BUILD_OBJECT(id , name) from comtable ;
 JSONB_BUILD_OBJECT 
--------------------
 {"1": "a"}
 {"2": "b"}
 {"3": "c"}
(3 行记录)

-- 元素个数必须为偶数

demo=# select JSONB_BUILD_OBJECT(id) from comtable ;       
错误:  参数列表的元素个数必须为偶数
提示:  jsonb_build_object()的参数必须包含可替代的键和对应的值.

4.2.5 JSONB_OBJECT

  • 功能描述1:

JSONB处理函数,从文本数组中构造JSON对象。该数组必须是具有偶数个成员的一维数组(成员被当做交替出现的键值对),或者是一个二维数组(每一个内部数组只有两个元素,可以被看做键值对,所有的值均被转换为JSON字符串)。

  • 用法描述1:
jsonb_object(text[])
---text数组必须包含偶数个元素

函数必须可以使具有偶数个成员的一维数组(成员被当做交替出现的键值对),或者是一个二维数组(每一个内部数组刚好有两个元素,可以被看做键值对)。

  • 示例描述1:
demo=# SELECT jsonb_object(array[id::text ,name::text]) from comtable ;
 jsonb_object 
--------------
 {"1": "a"}
 {"2": "b"}
 {"3": "c"}
(3 行记录)

-- 数组必须包含偶数个元素

demo=# SELECT jsonb_object(array[id::text]) from comtable ;            
错误:  数组必须包含偶数个元素

demo=# SELECT jsonb_object('{a, b, "def", c, 3.5}');   
错误:  数组必须包含偶数个元素
  • 功能描述2:

JSON处理函数,从文本数组中构造JSON对象。从两个独立的数组得到键值对。在其他方面和一个参数的形式相同。

  • 用法描述2:
jsonb_object( keys text[], values text[])

keys数组和values数组维数需要一致

从两个独立的数组得到键/值对。在其他方面和一个参数的形式相同。

  • 示例描述2:
demo=# SELECT jsonb_object(array[id],array[name]) from comtable ;      
 jsonb_object 
--------------
 {"1": "a"}
 {"2": "b"}
 {"3": "c"}
(3 行记录)

-- keys和values数组维数需要一致

demo=# SELECT jsonb_object(array[id ,id],array[name]) from comtable ;  
错误:  不匹配的数组维数

demo=# SELECT jsonb_object('{a,b}', '{1,2,3}');
错误:  不匹配的数组维数

4.2.6 JSON_BUILD_OBJECT

  • 功能描述:

JSON处理函数,将可变参数列表构造成一个JSON 对象,通过转换,该参数列表由交替出现的键和值构成。
注意:参数列表的元素个数必须为偶数

  • 用法描述:
json_build_object( VARIADIC "any")
  • 示例描述:
参照JSONB_BUILD_OBJECT使用示例

4.2.7 JSON_OBJECT

  • 功能描述:

以JSON对象形式返回输入的键值对(可为空)。当任意键名为NULL或者参数个数为单数时报错。
使用前需要创建mysql_json插件。
mysql_json是KingbaseES的一个扩展插件,主要定义了兼容mysql的json系列操作函数。默认不加载mysql_json扩展插件。

  • 用法描述:
json_object([key,value[,key,value,…]])
  • 示例描述:
加载插件
CREATE EXTENSION mysql_json;

注意:创建扩展前,需要关闭禁用多态函数参数,执行’set ora_forbid_func_polymorphism to off;’ 。

五、总结

    📣 KingbaseES作为国产自主研发的通用数据库,🔥在可靠性、兼容性和易用性方面表现突出。🎈它支持高可用架构,通过数据备份、同步复制等技术确保 99.999% 的系统稳定性,🌞适用于金融、电信等关键业务场景。同时,KingbaseES V9高度兼容Oracle、MySQL、SQLServer等主流数据库语法,提供智能迁移工具,大幅降低企业迁移成本。其内置的并行计算、读写分离等优化技术,有效应对高并发与大数据分析需求,满足事务处理与数据分析的双重挑战。

    📣 此外,KingbaseES提供KStudio可视化IDE,💎简化数据库开发与管理流程,支持表、视图、存储过程等对象的便捷操作。JSON数据处理、全文检索、地理信息系统等高级功能进一步扩展了应用场景。无论是安装部署还是SQL操作,🏆KingbaseES都保持了低学习门槛,助力用户快速上手。国产数据库的崛起正逐步打破国外技术垄断✨,KingbaseES凭借其高性能和自主可控优势,成为企业级数据库的理想选择。

    📣 优化方面,每次下载数据库需要填写公司信息,这点稍微有点多余,让不少用户望而止步,不过问题不大,数据库的稳定性、可靠性、兼容性方面表现还是相当给力的,这次试用是windows10专业版的,整体试用感觉不错!✨

致谢

        亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。

         愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。

        至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。


在这里插入图片描述


     亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌


- - - E N D - - -

### 如何在 Windows 上安装 Kingbase 数据库 #### 选择安装集 根据安装数据库服务功能的不同,金仓数据库管理系统 KingbaseES V8.6 可分为三种安装集:完全安装、客户端安装和定制安装。 - **完全安装**:包括数据库服务器、接口、数据库开发管理工具、数据库迁移工具以及数据库部署工具。此选项适合需要全面功能的环境[^1]。 - **客户端安装**:仅包含接口、数据库开发管理工具、数据库迁移工具及数据库部署工具,适用于不需要本地运行数据库服务器的情况。 - **定制安装**:允许用户从所有组件中自由选择所需的特定部分进行安装,提供最大的灵活性。 选定“完全安装”,系统会自动准备安装所有的组件;对于“客户端安装”,则主要侧重于各种工具而不涉及服务器端程序;而选择了“定制安装”的话,可以根据具体需求挑选要安装的功能模块。 #### 授权文件配置 当选择了含有 SERVER 组件在内的任何一种安装方式时,在继续之前必须指定授权文件的确切位置。该路径应当采用正斜杠 `/` 来作为分隔符,并且是一个有效的绝对路径地址[^4]。 #### 执行安装过程 完成上述设置之后,按照向导提示操作直至结束即可顺利完成整个安装流程。一旦到达最后一步——即确认无误并按下【下一步】按钮后,软件将会开始复制必要的文件到目标机器上。 #### 验证安装成功与否 为了确保新装好的 Kingbase ES 能够正常工作,建议通过 ksql 工具来进行初步测试。打开命令行界面切换至 `${安装目录}/Server/bin` 文件夹内,输入相应指令尝试建立连接: ```bash ./ksql -p 54321 -U system test ``` 这条语句中的 `-p` 参数指定了监听端口号,默认情况下为 `54321`; `-U` 后面跟的是用户名; 最后的单词代表想要访问的目标数据库名称[^3]。
评论 159
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xcLeigh

万水千山总是情,打赏两块行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值