全部时间
文章
· 九月 3, 2023 阅读大约需 7 分钟
在 Python 上使用IRIS REST API 进行 SQL 迁移

对于即将到来的Python 竞赛,我想制作一个小型演示,介绍如何使用 Python 创建一个简单的 REST 应用程序,该应用程序将使用 IRIS 作为数据库。使用这个工具

  • FastAPI框架,高性能,易学,快速编码,可用于生产
  • SQLAlchemy 是 Python SQL 工具包和对象关系映射器,为应用程序开发人员提供 SQL 的全部功能和灵活性
  • Alembic 是一个轻量级数据库迁移工具,可与 SQLAlchemy Database Toolkit for Python 一起使用。
  • Uvicorn 是 Python 的 ASGI Web 服务器实现。

1 0
0 194
InterSystems 开发者社区汇聚了 25,989 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 七月 29, 2022 阅读大约需 33 分钟
InterSystems SQL 的优化 - 第一部分 - 定义和构建索引

什么时候使用索引

索引提供了一种机制,通过维护常用数据的分类子集来优化查询。确定哪些字段应该被编入索引需要一些思考:太少或错误的索引,关键查询会运行得太慢;太多的索引会减慢INSERT和UPDATE的性能(因为索引值必须被设置或更新)。

索引什么

为了确定添加索引是否能提高查询性能,从管理门户的SQL界面运行查询,并在Performance中注意 global引用的数量。添加索引,然后重新运行查询,注意 global引用的数量。一个有用的索引应该减少 global引用的数量。你可以通过使用%NOINDEX关键字作为WHERE子句或ON子句条件的前言来阻止索引的使用。

你应该对JOIN中指定的字段(属性)进行索引。例如,LEFT OUTER JOIN从左表开始,然后查看右表,因此,你应该对右表的字段进行索引。在下面的例子中,你应该为T2.f2编制索引。一个INNER JOIN应该在两个ON子句字段上都有索引。

1 0
0 194

注意:下面内存设置数值仅限参考,具体内存数值的设置是否合适,依赖于更多实际使用情况决定。

主要需要设置下面几个内存相关配置:

(下面比例适用于服务器仅运行单实例InterSystems IRIS)
数据库缓存Database cache:
建议小于64G内存设置总内存50%,大于等于64G内存设置70%总内存
程序缓存routine cache:
建议设置1023MB
gmheap:
建议设置1048576KB(1024MB)
LockSize:
建议最少设置134217728 Bytes (128MB),如果在系统日志中提示locksize相关错误或警报,应相应增加。

1 0
0 194

InterSystems的产品包括Caché/Ensemble/Health Connect/IRIS/IRIS for Health,均基于进程,当它们及在它们之上开发的应用运行时,您能在操作系统上看到大量cache/irisdb进程。下面以InterSystems IRIS为例,来说明下InterSystems产品的内存使用。

InterSystems IRIS进程的内存使用主要有以下两大类,

第一类,进程私有内存。

私有内存只由该进程使用,且会为每个进程单独分配。进程初始时会被分配128KB的内存空间,随着进程运行根据需要,这个内存空间会自动扩展。
InterSystems IRIS对于进程内存使用的限制是Maximum Per-Process Memory, 该参数的设置位置在系统管理门户SMP,System > Configuration > Memory and Startup,允许的取值范围是256KB到2147483647KB(2TB)。如果系统遇到<STORE>错误,那么可以尝试增加该数值,来解决进程运行时无法申请到更多内存的问题。从InterSystems IRIS开始,我们推荐将该值设置为-1, 也就是取上限2TB。

0 0
0 194

为了解国内外最新的互联互通标准,共同助推我国卫生信息互联互通标准化成熟度测评工作,指导各地医院信息平台的建设,《中国卫生信息管理杂志》社决定召开国内外互联互通标准解读与实践线上交流会。会议由《中国卫生信息管理杂志》社主办,InterSystems中国协办,欢迎报名参会!

0 0
0 194

有人有将NonStop SQLMP与IRIS连接的经验吗?

如果可能的话,我需要一些参考或技巧,实际上是与JDBC驱动程序连接的,以便互连并解决许多各种各样的问题,例如:

一些查询(不是很多)有空获取,可以正常工作,但没有要获取的内容,而且确定Select 语句是正确的。

0 1
0 193

Hi社区成员们!

你可能已经知道了,, 我们的 Developer Community AI(开发者社区AI) 已经运行一个多月了 🎉 我们希望你能够出于好奇来尝试一下 😁 如果你还没试过,那就试试吧!无论如何,由于它仍在测试阶段,我们非常有兴趣了解你对它的看法,也很期待听到你的想法和经验。

我们重视你为此付出的时间和精力,所以将随机赠送一个可爱的奖品给愿意分享自己想法的社区成员。要参加此抽奖活动,你需要遵循以下准则:

1 0
0 193
文章
· 七月 5, 2023 阅读大约需 2 分钟
基于IntegratedML及Dashboard的数据分析应用

基于InterSystems的集成ML技术和Dashboard,根据上传的CSV文件自动生成相关预测和BI页面。前端和后端在Vue和Iris中完成,使用户可以通过简单的操作生成所需的数据预测和分析页面,并根据这些页面做出决策。

# ZPM 安装

zpm:USER>install IntegratedMLandDashboardSample

# 部署流程

使用或创建新的命名空间

将代码导入相应的命名空间

在终端中执行:

Do # # class (customizemashinelerningandaanalysis. Util. Tool) Deployment()

前端是Vue文件夹下的dist文件夹。在使用它之前,请打开dist-static config.js并修改后端服务器要使用的IP和端口。然后您需要将iframeUrl的测试修改为“Analysis”+后端使用的命名空间,例如“AnalysisUSER”

然后启动前端文件(可以将dist文件夹放在tomcat中开始使用)

访问地址为:

Ip: port/dist

1 1
0 173
文章
· 二月 28, 2023 阅读大约需 1 分钟
【GS22 视频】如何让脑健康管理变得普惠?

这是InterSystems 2022年全球峰会上来自客户 Cognetivity Neuroscience 的分享。InterSystems IRIS 数据平台助力 Cognetivity Neurosciences 打造脑健康管理评估工具CognlCA。CognlCA 能够在正确的时间将数据提供给正确的人,推动脑健康评估、筛查和管理的节点前置,从而促进脑健康管理的普惠化。

1 0
0 193
文章
· 十二月 22, 2022 阅读大约需 6 分钟
第二十一章 使用系统监视器 - 传感器和传感器对象

第二十一章 使用系统监视器 - 传感器和传感器对象

传感器和传感器对象

Health Monitor 传感器对象表示 SYS.Monitor.SystemSensors 中的传感器之一。每个传感器对象必须提供一个基值,并且可以选择提供一个最大(警报)阈值和一个警告阈值(绝对值或乘数)。 Health Monitor 传感器对象及其默认参数显示在下表中。

一些传感器代表IRIS 实例的总体指标。这些传感器在下表中没有在“传感器项目”列中列出的值。例如,LicensePercentUsed 传感器采样当前正在使用的实例授权许可单位的百分比,而 JournalGrowthRate 传感器采样写入实例日志文件的数据量(以每分钟 KB 为单位)。

0 0
0 193
文章
· 九月 23, 2022 阅读大约需 2 分钟
第四十一章 使用多个 IRIS 实例(一)

第四十一章 使用多个 IRIS 实例(一)

可以在单个主机系统上安装和运行多个 IRIS® 数据平台实例。每个实例都是一个独特的、独立的 IRIS 环境。

管理 IRIS 实例

有许多方法可以连接和管理 IRIS 实例,它可能是安装在给定系统上的几种方法之一。两种最常用的方法如下:

  • 安装在 Windows 系统上的每个 IRIS 实例在系统托盘中都有自己的启动器,除其他选项外,还可以:

    • 通过打开管理门户、 TerminalStudio 开发者客户端连接到实例。
    • 启动、停止和重新启动实例。
    • 打开用户和开发人员文档。

    从启动器中,还可以管理多个远程 IRIS 实例,包括但不限于运行远程备份、编辑配置设置以及创建和编译远程对象和例程。

2 0
0 193
问题
· 八月 15, 2022
一致性、锁

一致性检查的任务——integrity check在业务低峰期直接运行吗?A-B(mirror)环境中,运行这个任务来检查一致性是两边都要运行吗?在管理锁的时候,我直接将锁remove会有啥后果?

0 1
0 192
文章
· 十一月 29, 2021 阅读大约需 3 分钟
翻译文章: 不是所有的多模型数据库都是相同的

不是所有的多模型数据库都是相同的

作者:David Menninger

今天,许多现代应用程序需要的数据库管理能力往往不能通过一种方式就能实现。例如,当我建立一个支持旅游推荐和预订业务的应用程序时,我可能需要使用一些不同类型的数据库,包括用于用户会话的键值存储,用于产品目录的文档数据库,用于推荐的图形数据库,以及用于财务数据的关系数据库。

0 0
0 193
文章
· 四月 15, 2021 阅读大约需 3 分钟
第 4 天:使用 InterSystems Objects 和 SQL 进行开发

我正在参加 Joel Solon 讲授的“使用 InterSystems Objects 和 SQL 进行开发”课程。 课程非常好,我将在这里分享一些从培训中总结的提示。

第 4 天的提示:

1. 所有数据都存储在global中,global名称以 ^ 开头。 global示例:^animal。 global可以有多个数据位置(“子数据”)。 示例:^animal("大象","吃草")。

2. 可从任意系统范围(命名空间)访问 ^%* global。

3. global使 IRIS 能够支持多模型数据(对象、关系、文档、多维等)。

4. 要查看global,请转到 Management Portal > Explorer > Globals > Select Global > View,或者在终端中输入 do ^%G 或 zwrite ^global。

5. 在持久类和 SQL 表之间有自动对应关系:

0 0
0 193
文章
· 十二月 25, 2024 阅读大约需 2 分钟
在IRIS 2024.2 中使用 WebTerminal

IRIS 2024.2 版本包含一项变更(DP-432503),该变更要求Web Gateway最初连接到 IRIS 时所使用的用户(通常是 CSPSystem)必须对承载 REST web applicatioon 的dispatch类的数据库具备 READ 权限。

在不满足该条件的情况下,就会引发一个错误,这会向调用者返回一个 HTTP 404 状态码,而非预期的 HTTP 401 状态码。

显然,这个问题将在 2024.3 版本中修复,参考编号为 DP-432898 / ALI048:REST 登录端点将返回 401 HTTP 错误码而非 404,但作为持续交付(CD)版本,2024.2 不会获得维护版本修正。

解决方法是让 CSPSystem 用户对安装WebTerminal所在命名空间的数据库具备读权限。

下面是所需的步骤:

1. 创建一个新的资源 “%DB_WEBTERMINAL”,并设置 “WEBTERMINAL” 数据库使用该资源,而非 “%DB_% DEFAULT”。

2. 创建一个名为 “% DB_WEBTERMINAL” 的角色,该角色能让角色持有者对 “% DB_WEBTERMINAL” 资源具有读写(RW)访问权限。

0 2
0 152
文章
· 二月 18, 2025 阅读大约需 2 分钟
第二十八章 T 开头的术语

第二十八章 T 开头的术语

以 T 开头的术语

表 (table)

InterSystems SQL

表是一种由表示特定实体的行和表示每个实体特定数据点的列组成的数据结构。

目标角色 (target role)

系统

在受保护的 IRIS 应用中,由应用程序授予给已经是其他角色(称为匹配角色)成员的用户的角色。如果用户拥有匹配角色,则在使用应用程序时,用户还可以被授予一个或多个额外的目标角色。

目标用户 (target user)

系统

0 0
0 192

中文社区的同学们大家好!

如你所知,从2022年9月5日-10月24日(北京时间),我们正在举办🏆InterSystems开发者社区中文版首届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章

截至目前,我们已收获了20余篇佳作yes

作为此次大赛重要奖项“专家提名奖”评比的重要部分,我们的专家评审团已组建成团!

2 0
0 192
文章
· 五月 7, 2022 阅读大约需 3 分钟
一个新库引发的血案

我们的一位客户五一期间向使用IRIS搭建的数据流推送一家三甲医院数年的历史数据,导致实施的同事们经历了一系列噩梦,包括但不限与:

1. 由于未通知实施团队有这样规模的数据推送,数据推送过程与全库备份任务重叠。尽管实例和数据流正常运行,但备份任务与数据流争抢IO,导致备份任务不能在预期时间内完成,实施童鞋五一加班处理问题。

2. 为了节省磁盘空间,服务器上部署了定期删除IRIS备份文件的任务,原本能够保持一周的全备+增量备份,但在本次数据暴增的情况下,新的备份尚未完成而旧的全备已被删除,导致问题发生时没有可用于恢复的备份。

3. 由于这次数据推送前未进行数据质量校验,推送的数据全部不合规,但已经历了较长的数据流进行处理全部入库;同时由于备份文件已被删除,无法通过恢复数据库的方法回滚,导致实施童鞋不得不逐条从生产环境三个库的数百张表中挑出问题数据逐一删除,从五一放假结束至今还未完成善后工作。大家可以设想一下,如果备份还在,那么恢复备份就可以了。

因此,我们希望再次提醒各位在前线奋斗的亲们:

1. 善待你的备份。尽管对于大型医院或医疗集团来说,两周的全备+增量备份策略下,备份文件会占据数个TB的存储空间。但在需要回滚时,这几个T的空间能救命。

3 1
0 172

开发者们大家好!

你可能已经注意到了在IRIS 2021 Global的名字是随机的。

如果你用DDL来创建类而且想给Global一个确定的名字,实际上是可以做的。

在CREATE Table 里使用 WITH %CLASSPARAMETER DEFAULTGLOBAL='^GLobalName' ,如文档。参考以下例子:

0 0
0 192
公告
· 一月 9, 2022
2021 年英文社区Top 问题
嘿,社区。
这里是2021年度开发社区问题摘要。 让我们来看看InterSystems开发人员提出的最受欢迎的问题。
统计
2021年提出了980 个问题
社区总共提出了5,699 问题
最多浏览问题
0 0
0 192
文章
· 二月 12, 2021 阅读大约需 2 分钟
第三十二章 Caché 变量大全 $ZJOB 变量

第三十二章 Caché 变量大全 $ZJOB 变量

包含JOB状态信息。

大纲

$ZJOB
$ZJ

描述

$ZJOB包含一个数字,其中每个位代表作业状态的一个特定方面。 $ZJOB返回一个整数,该整数由设置的状态位的总和组成。例如,如果$ZJOB = 5,则表示设置了1位和4位。

要测试单个$ZJOB位设置,可以使用整数除(\)和模(#)运算符。例如,$ZJOB\x#2,其中x是位号。下表显示了位的布局(按位的位置值)、其设置和含义:

0 1
0 172
文章
· 六月 10, 2024 阅读大约需 2 分钟
类定义中如何使用列式存储

列式存储是 InterSystems IRIS 提供的一项较新的技术。与传统的基于行的存储不同,它通过将数据存储在列而不是行中来优化查询处理,从而实现更快的访问和检索相关信息。

下面是使用SQL创建此类表的例子

1 0
0 191