前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KingbaseES(人大金仓)详细入门指南:安装、SQL 使用、数据迁移、Python 连接使用

KingbaseES(人大金仓)详细入门指南:安装、SQL 使用、数据迁移、Python 连接使用

原创
作者头像
Lorin 洛林
发布2024-06-18 14:09:07
1.4K10
代码可运行
发布2024-06-18 14:09:07
举报
文章被收录于专栏:其它其它
运行总次数:0
代码可运行

前言

  • 25 载春秋,国内数据库领域的先驱——人大金仓正式成立!作为数据库领域国家队,人大金仓始终坚守自主创新之路,不断实现着“从无到有”“从0到1”的跨越式突破。
  • 作为一个技术开发者,当然得亲自体验一下国产数据库的发展,本文我将从基础简介、安装、SQL 查询使用、从 MySQL 迁移至 KingbaseESPython 连接使用五个方面进行一一介绍。

KingbaseES 简介

  • KingbaseES(简称 Kingbase 或 KingbaseES 数据库)是由北京人大金仓信息技术股份有限公司(Kingbase Corporation)开发的企业级关系型数据库管理系统。它主要面向政府、金融、电信、电力等行业,提供高性能、高可用性和高安全性的数据库解决方案。KingbaseES 具备完善的数据管理功能,支持多种标准的数据库语言和接口,能够满足大规模数据处理和复杂应用的需求。

主要特点

  1. 高性能:KingbaseES 通过优化查询引擎、数据存储结构和并发控制机制,提供了高效的数据处理能力,适合大规模、高并发的应用场景。
  2. 高可用性:支持主从复制、集群和多种备份恢复机制,保证数据的高可用性和可靠性。
  3. 高安全性:提供多种安全机制,如数据加密、访问控制、审计日志等,确保数据安全。
  4. 兼容性:支持标准的 SQL 语言和多种编程接口,兼容主流的数据库和操作系统,便于迁移和集成。
  5. 易用性:提供图形化管理工具、监控工具和丰富的管理功能,降低数据库管理的复杂度。

主要功能

  • 数据管理:支持多种数据类型和索引类型,提供丰富的数据操作功能,如插入、查询、更新和删除。
  • 事务管理:支持事务的原子性、一致性、隔离性和持久性(ACID),确保数据的一致性和可靠性。
  • 查询优化:通过查询优化器和执行计划,提升查询性能。
  • 备份恢复:支持在线备份、增量备份和日志备份,提供多种恢复策略。
  • 复制和集群:支持多种复制和集群方案,实现数据的高可用性和负载均衡。
  • 安全管理:提供用户管理、权限管理、数据加密和审计功能,确保数据的安全性。

应用场景

  • 金融行业:高性能的交易处理和数据分析,满足金融业务对数据安全性和高可用性的要求。
  • 政府部门:支持大规模的政务数据处理和共享,保障政务数据的安全性和可靠性。
  • 电信行业:处理高并发的业务请求和海量数据存储,提供可靠的数据服务。
  • 电力行业:管理电力调度和监控数据,确保电力系统的稳定运行。

KingbaseES 安装

  • 安装 KingbaseES 非常简单,Kingbase 官网提供了详细的文档,首先我们需要从官网(https://www.kingbase.com.cn/xzzx/index.htm)下载数据库安装程序和授权文件:
  • 选择合适的版本和环境下载:
  • 下载开发版授权证书:
  • 逐步进行安装,中间需要选择我们下载的授权证书以及设置账户连接密码:
  • 经过上述过程的简单操作,我们就已经完成了 KingbaseES 的安装,可以看到安装过程其实非常简单。

Kingbase 客户端使用以及 SQL 体验

  • Kingbase 提供了配套的客户端方便我们进行使用,打开我们的客户端链接数据库:
  • 连接成功进入客户端

SQL 体验

  • 创建一个名为 employees 的表,包含员工的 ID、姓名、职位和工资字段:
代码语言:SQL
复制
CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    position VARCHAR(100),
    salary DECIMAL(10, 2)
);
  • employees 表中插入几条记录:
代码语言:SQL
复制
INSERT INTO employees (name, position, salary)
VALUES
    ('Alice Johnson', 'Manager', 75000.00),
    ('Bob Smith', 'Developer', 60000.00),
    ('Carol White', 'Analyst', 50000.00);
  • 将 Bob Smith 的职位更新为 Senior Developer,并将工资提高到 70000.00:
代码语言:SQL
复制
UPDATE employees
SET position = 'Senior Developer', salary = 70000.00
WHERE name = 'Bob Smith';
  • 删除 Carol White 的记录:
代码语言:SQL
复制
DELETE FROM employees
WHERE name = 'Carol White';
  • 查询 employees 表中的记录:
代码语言:SQL
复制
SELECT * FROM employees;

SELECT * FROM employees
WHERE salary > 60000.00;
  • 可以看到,KingbaseES 语法和标准 SQL 语法基本一致,极大的降低了开发者的入门门槛,基本可以实现无缝连接。

MySQL 迁移至 KingbaseES

  • 为了让开发者更简单的迁移至 KingbaseESKingbase 也贴心的提供了配套的迁移工具,只需要根据迁移工具指引就可以快速完成历史数据迁移。

启动迁移工具

  • 启动迁移工具
  • 启动完成
  • 打开迁移工具管理后台

创建迁移任务

维护源数据库和目标数据库

  • 创建迁移任务前,我们需要先维护我们源数据库和目标数据库:

创建迁移任务

  • 创建好源数据库和目标数据库后,我们就可以开始创建我们迁移任务。迁移任务支持很多可选项,比如数据源配置、目标数据库配置,迁移对象配置等等,基本满足了我们迁移数据的各种需求:

等待迁移任务完成

  • 迁移详细进度查看
  • 迁移完成后,我们可以到目标数据库查看我们迁移的数据

Python 连接使用

  • 下面是一个完整的 Python 示例代码,展示了如何连接 KingbaseES 数据库并执行查询操作:
代码语言:Python
复制
import psycopg2

# 连接到 KingbaseES 数据库
conn = psycopg2.connect(
    dbname="test",
    user="system",
    password="123456",
    host="localhost",
    port="54321"
)

# 创建一个游标对象
cur = conn.cursor()

# 查询数据 默认使用 public 可以使用 your_schema_name.your_table_name 指定模式
cur.execute("SELECT * FROM employees")
rows = cur.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭游标和连接
cur.close()
conn.close()

// 运行结果
(1, 'Alice Johnson', 'Manager', Decimal('75000.00'))
(3, 'Carol White', 'Analyst', Decimal('50000.00'))
(2, 'Bob Smith', 'Senior Developer', Decimal('70000.00'))

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • KingbaseES 简介
    • 主要特点
      • 主要功能
        • 应用场景
        • KingbaseES 安装
        • Kingbase 客户端使用以及 SQL 体验
          • SQL 体验
          • 从 MySQL 迁移至 KingbaseES
            • 启动迁移工具
              • 创建迁移任务
                • 维护源数据库和目标数据库
                • 创建迁移任务
                • 等待迁移任务完成
            • Python 连接使用
            • 个人简介
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档