当前位置: 代码网 > it编程>数据库>MsSqlserver > Apache Ignite 中的 SQL 模式(Schema)管理机制(使用建议)

Apache Ignite 中的 SQL 模式(Schema)管理机制(使用建议)

2025年07月23日 MsSqlserver 我要评论
这段内容讲的是 apache ignite 中的 sql 模式(schema)管理机制。我们可以从几个方面来理解:一、什么是 schema(模式)?在 sql 中,schema 是数据库对象(如表、视

这段内容讲的是 apache ignite 中的 sql 模式(schema)管理机制。我们可以从几个方面来理解:

一、什么是 schema(模式)?

在 sql 中,schema 是数据库对象(如表、视图等)的命名空间和组织单位。ignite 支持多个 schema,便于组织和隔离不同的数据对象。

二、ignite 中的默认 schema

ignite 默认提供了两个 schema:

schema 名说明
sys系统 schema,包含集群节点、缓存、sql 元数据等系统视图。你不能在这个 schema 中创建表或对象。详见 system views
public默认 schema。当你没有显式指定 schema 时,ignite 默认使用这个 schema。例如通过 jdbc 连接时,不指定 schema 就会连接到 public。

三、自定义 schema(custom schemas)

ignite 允许用户定义自己的 schema,主要有两种方式:

✅ 1. 通过配置文件定义自定义 schema

你可以通过 sqlconfiguration.setsqlschemas(...) 方法在集群启动前定义多个自定义 schema。

示例配置(xml):

<bean class="org.apache.ignite.configuration.igniteconfiguration">
    <property name="sqlconfiguration">
        <bean class="org.apache.ignite.configuration.sqlconfiguration">
            <property name="sqlschemas">
                <list>
                    <value>my_schema</value>
                    <value>my_second_schema</value>
                </list>
            </property>
        </bean>
    </property>
</bean>

连接指定 schema 的方式(如 jdbc):

jdbc:ignite:thin://127.0.0.1/my_schema

✅ 2. 通过 cache 自动创建 schema

ignite 中的每个 cache(缓存)都可以通过 sql 访问,每个 cache 对应一个 schema,schema 名称就是 cache 的名称。

示例:

如果你创建了一个名为 personcache 的缓存,那么你可以通过 sql 查询:

select * from personcache.person

这里:

  • personcache 是 schema 名;
  • person 是表名(对应缓存中的键值结构)。

四、通过 ddl 创建表时的 schema 与 cache 关系

当你使用 create table 语句创建表时,ignite 会自动创建一个对应的 cache(缓存)来存储数据。

示例 sql:

create table city (
  id int primary key,
  name char(35),
  countrycode char(3),
  district char(20),
  population int
) with "backups=1, cache_name=city";
  • 这里指定了 cache_name=city,表示这个表对应的缓存名为 city
  • 如果你不指定 cache_name,ignite 会自动生成一个名字,格式为:
sql_<schema_name>_<table_name>

例如,如果在 my_schema 中创建表 city,生成的缓存名是:

sql_my_schema_city

五、schema 与 cache 的映射关系总结

来源schema 名对应的 cache 名
默认public自动生成(如 sql_public_tablename)
自定义配置my_schema自动生成或手动指定
缓存自动创建cache 名即 schema 名cache 名
ddl 创建表指定的 schema指定的 cache_name 或默认生成

六、总结表格

类型名称是否可写用途
sys系统 schema❌ 不可写存储集群信息、系统视图
public默认 schema✅ 可写默认连接目标
自定义 schema用户定义✅ 可写用于组织 sql 对象
cache schema与 cache 同名✅ 可写用于 sql 查询缓存数据
ddl 表 schema指定或默认✅ 可写对应一个缓存

七、使用建议

  • 使用 schema 来组织不同业务模块的数据,便于管理和权限控制;
  • 如果需要 sql 和缓存 api 混合访问,注意 cache 名和 schema 名的对应关系;
  • 使用 ddl 创建表时,建议显式指定 cache_name,便于后续管理;
  • 如果集群中有多个应用连接 ignite,建议为每个应用配置不同的 schema,避免命名冲突。

到此这篇关于apache ignite 中的 sql 模式(schema)管理机制的文章就介绍到这了,更多相关apache ignite sql 模式内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com