前言25 载春秋,国内数据库领域的先驱——人大金仓正式成立!作为数据库领域国家队,人大金仓始终坚守自主创新之路,不断实现着“从无到有”“从0到1”的跨越式突破。作为一个技术开发者,当然得亲自体验一下国产数据库的发展,本文我将从基础简介、安装、SQL 查询使用、从 MySQL 迁移至 KingbaseES、Python 连接使用五个方面进行一一介绍。KingbaseES 简介KingbaseES(简称 Kingbase 或 KingbaseES 数据库)是由北京人大金仓信息技术股份有限公司(Kingbase Corporation)开发的企业级关系型数据库管理系统。它主要面向政府、金融、电信、电力等行业,提供高性能、高可用性和高安全性的数据库解决方案。KingbaseES 具备完善的数据管理功能,支持多种标准的数据库语言和接口,能够满足大规模数据处理和复杂应用的需求。主要特点高性能:KingbaseES 通过优化查询引擎、数据存储结构和并发控制机制,提供了高效的数据处理能力,适合大规模、高并发的应用场景。高可用性:支持主从复制、集群和多种备份恢复机制,保证数据的高可用性和可靠性。高安全性:提供多种安全机制,如数据加密、访问控制、审计日志等,确保数据安全。兼容性:支持标准的 SQL 语言和多种编程接口,兼容主流的数据库和操作系统,便于迁移和集成。易用性:提供图形化管理工具、监控工具和丰富的管理功能,降低数据库管理的复杂度。主要功能数据管理:支持多种数据类型和索引类型,提供丰富的数据操作功能,如插入、查询、更新和删除。事务管理:支持事务的原子性、一致性、隔离性和持久性(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为了让开发者更简单的迁移至 KingbaseES,Kingbase 也贴心的提供了配套的迁移工具,只需要根据迁移工具指引就可以快速完成历史数据迁移。启动迁移工具启动迁移工具启动完成打开迁移工具管理后台创建迁移任务维护源数据库和目标数据库创建迁移任务前,我们需要先维护我们源数据库和目标数据库:创建迁移任务创建好源数据库和目标数据库后,我们就可以开始创建我们迁移任务。迁移任务支持很多可选项,比如数据源配置、目标数据库配置,迁移对象配置等等,基本满足了我们迁移数据的各种需求:等待迁移任务完成迁移详细进度查看迁移完成后,我们可以到目标数据库查看我们迁移的数据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腾讯技术创作特训营最新征文,快来和我瓜分大奖!