#数据库

0 关注者 · 51 帖子

InterSystems Caché 数据库是一个用于存储所有数据、应用程序脚本、用户、角色和安全配置的文件。文件名通常是 cache.dat。

文档

新增
文章 Nicky Zhu · 14 hr 前 7m read

您熟悉 SQL 数据库,但不熟悉 IRIS 吗? 请继续阅读...

大约一年前,我加入了 InterSystems,IRIS 就这样进入了我的视线。 我使用数据库已经有 40 多年了,其中大部分时间都是为数据库供应商工作,我以为 IRIS 与我所知道的其他数据库大致相同。 然而,我惊讶地发现,IRIS 在很多方面都与其他数据库截然不同,而且往往要好得多。 这是我在 Dev Community 上发表的第一篇文章,我将为已经熟悉 Oracle、SQL Server、Snowflake、PostgeSQL 等其他数据库的人提供 IRIS 的高级概述。 希望我的介绍能让您更清楚、更简单,并节省您的入门时间。

首先,IRIS 支持 ANSI 标准 SQL 命令和语法。它有表格、列、数据类型、存储过程、函数......所有关系型的东西。 你还可以使用 ODBC、JDBC 和 DBeaver 或任何你喜欢的数据库浏览器。 因此,是的,您在其他数据库中知道和做的大多数事情都可以在 IRIS 上正常运行。 耶!

但我提到的那些不同之处又是怎么回事呢? 好了,系好安全带:

多模型(Multi-Model)IRIS 是一个关系数据库,但同时也是一个面向对象的数据库,还是文档存储,支持向量和立方体/MDX,以及.你知道我要说什么。

0
0 5
新增
InterSystems 官方 Claire Zheng · 三月 29

InterSystems IRIS® 数据平台、InterSystems IRIS® for HealthTMHealthShare® Health Connect 2026.1版本现已全面上市 (GA)。这是一个扩展维护 (EM) 版本。

版本亮点:

  • 数据库可扩展性增强取消了历史数据库大小限制,实现了无缝增长,超过了以前的大小限制,无需进行数据转换。其他底层性能改进进一步优化了大规模操作。
  • 表分区:根据用户定义的逻辑键拆分表和相关索引数据,以便在数据库间轻松映射。这可以实现存储分层,提高查询性能和超大表的运行效率。该功能是一项实验性功能,可通过 "早期访问计划"订阅更新并转达您的反馈意见。
  • 互操作性用户体验改进:此更新具有新的 BPL 编辑器、对生产配置的额外改进以及 DTL 编辑器,其中包括人工智能辅助 DTL 解释。要了解更多信息,请访问InterSystems 学习中心。对于现有客户,这些功能仍可选择使用。在集成方面,该版本引入了 Mirth 迁移工具,以加速传统集成引擎的替换和现代化。
  • FHIR 服务器授权、批量数据和管理更新: 大幅扩展 FHIR 功能,包括细粒度 OAuth 范围执行和结果过滤,从而实现更精确的数据访问控制。增强批量 FHIR(JWT 授权、从 EHR 计划导出)和更快的服务器/软件包管理。
0
0 16
新增
文章 Kelly Huang · 三月 23 6m read

供应链是指由公司业务领域及其供应商和合作伙伴(利益相关者)执行的一系列流程和活动,从原材料采购、生产到交付给最终消费者。利用 InterSystems IRIS 的协调功能,供应链管理解决方案可以更好地管理供应链:

0
0 9
文章 Nicky Zhu · 三月 12 2m read

数据库表中索引的力量

在使用数据库时,大多数开发人员都了解索引的概念以及使用索引的原因:加快数据检索速度。但是,索引的真正影响往往只有在比较有索引和没有索引的情况时才会显现出来。

你知道没有索引会发生什么吗?
试想一个有三列的表:姓名、年龄和手机号码。


现在,考虑一下这个查询:

如果年龄列没有索引,数据库引擎会

  • 检查 WHERE 条件字段是否有索引。
  • 如果没有,它将扫描整个表(全表扫描)。
  • 对于每一行,它会检查年龄值并返回匹配结果。

这意味着引擎会遍历整个数据结构,这对于大型表来说非常耗时。

索引会发生什么情况?
现在,如果年龄列有索引,流程就会发生巨大变化:

  • 引擎会直接进入索引结构。
  • 它会找到 Age = 26 的节点。
  • 索引指向主表中相应的记录 ID。
  • 结果几乎是瞬间获取的。

这就是为什么索引是如此强大的优化工具。

现实生活中的一课
最近,我们遇到了一个有趣的情况,凸显了索引的重要性。
我们的表有 5 条记录,而年龄列是有索引的。然后,我们错误地从索引结构(而不是主表)中删除了两个条目。这两个条目对应的是 ID X001 和 X005,它们的年龄都是 26 岁。


当我们运行
SELECT ID, Age, EmpId, Mobile, NameFROM Company.Employee WHERE Age = 26
我们预计会有 3 条记录(因为主表中仍有这些记录),但只出现了 2 条记录。

为什么呢?

0
0 18