文章 Michael Lei · 五月 17, 2022 阅读大约需 3 分钟 InterSystems 最佳实践系列之使用Doker和配置文件模版来部署Sharded 集群 在这篇文章中,我们将使用docker和 参数配置文件模版 这一新特性来运行IRIS集群且轻松配置好。 在 UNIX® 和 Linux 上,您可以使用声明式参数配置合并文件来修改默认的 iris.cpf。合并文件是一个部分 CPF,在实例启动时为任何数量的参数设置所需的值。CPF 合并操作对每个实例只起一次作用。 我们的集群架构非常简单,它将由一个主节点(Node1)和两个数据节点(检查所有可用角色)组成。不幸的是,docker-compose不能部署到几个服务器上(尽管它可以部署到远程主机上),所以这对本地开发分片的数据模型、测试等很有用。如果是生产的InterSystems IRIS集群部署,你应该使用ICM云管理器或IKO K8S调度器。 #Docker #分片 #新手 #InterSystems IRIS Open Exchange app 0 0 0 52
文章 姚 鑫 · 五月 4, 2023 阅读大约需 4 分钟 第四十八章 管理镜像 - 将备份降级为 DR 异步 第四十八章 管理镜像 - 将备份降级为 DR 异步 除了将 DR 异步提升为故障转移成员外,还可以执行相反的操作 — 将不是当前主要成员的故障转移成员降级为 DR 异步,这样镜像就只剩下一个故障转移镜像。当不希望故障转移成员响应镜像配置中的临时更改时,这在计划中断情况下很有用。例如: #InterSystems IRIS 0 0 0 52
公告 jieliang liu · 五月 21, 2021 Java业务主机现在已经不再使用 随着InterSystems IRIS 2020.1和InterSystems IRIS for Health 2020.1中PEX的发布,客户有了比Java Business Host更好的方式来构建Java的产品。PEX为构建互操作性组件提供了一套完整的API,并有Java和.NET两种版本。 #Java #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 51
文章 Jingwei Wang · 二月 15 阅读大约需 4 分钟 使用嵌入式 Python 和 OpenAI API 在 IRIS 中进行数据标签 大型语言模型(例如 OpenAI 的 GPT-4)的发明和普及掀起了一波创新解决方案浪潮,这些解决方案可以利用大量非结构化数据,在此之前,人工处理这些数据是不切实际的,甚至是不可能的。此类应用程序可能包括数据检索(请参阅 Don Woodlock 的 ML301 课程,了解检索增强生成的精彩介绍)、情感分析,甚至完全自主的 AI 代理等! 在本文中,我想演示如何使用 IRIS 的嵌入式 Python 功能直接与 Python OpenAI 库交互,方法是构建一个简单的数据标记应用程序,该应用程序将自动为我们插入IRIS 表中的记录分配关键字。然后,这些关键字可用于搜索和分类数据,以及用于数据分析目的。我将使用客户对产品的评论作为示例用例。 ##嵌入式 Python #AI #API #ObjectScript #Python #分析 #非结构化数据 #InterSystems IRIS 0 0 0 49
文章 姚 鑫 · 六月 6, 2023 阅读大约需 5 分钟 第二十七章 开发Productions - ObjectScript Productions - 定义业务流程 - 关键原则 第二十七章 开发Productions - ObjectScript Productions - 定义业务流程 - 关键原则 关键原则 在开发业务流程时,请考虑以下关键原则: 有时希望使响应对象成为传入请求对象的修改版本,分阶段进行修改可能很有用。但是,不要修改传入的请求对象。而是将其复制到上下文变量(或者,对于自定义业务流程,将数据复制到局部变量)。然后修改副本。 同步发送消息时要小心(只能在自定义业务流程中或 BPL 中的 <code>中执行)。 当业务流程A同步调用业务流程B时,流程A不会继续,直到收到响应。如果进程 A 需要完成对其他进程 (B) 的调用才能完成自身,并且如果这些进程共享参与者作业池,则如果没有空闲的参与者作业来处理被调用的业务流程,则参与者池可能会陷入死锁( B). 发生这种情况是因为在被调用业务流程返回之前,调用业务流程无法完成并释放参与者作业,但被调用业务流程无法执行,因为没有空闲的参与者作业来执行它。 #InterSystems IRIS 0 0 0 49
文章 Jingwei Wang · 五月 4, 2022 阅读大约需 5 分钟 IntegratedML 演练 InterSystems IRIS IntegratedML功能用于使用AutoML技术获得机器学习的预测结果和概率。AutoML是一种机器学习技术,用于选择更好的机器学习算法/模型基于已有数据(用于训练AutoML模型的数据)来预测状态、数字和结果。你不需要一个数据科学家,因为AutoML会测试最常见的机器学习算法,并根据分析的数据特征选择更好的算法给你。在这篇文章中可以看到更多管乐IntegratedML的信息。 InterSystems IRIS有一个内置的AutoML引擎,但也允许你使用H2O和DataRobot。在这篇文章中,我将向你展示使用InterSystems AutoML引擎的每个步骤。 第1步 - 下载样例应用程序做练习 1. 转到 https://openexchange.intersystems.com/package/Health-Dataset 2. Clone/git 将 Repo拉到任何本地目录中 #IntegratedML #InterSystems IRIS Open Exchange app 0 0 0 49
文章 姚 鑫 · 五月 30, 2023 阅读大约需 3 分钟 第二十章 开发Productions - ObjectScript Productions - 指定设置的默认值 第二十章 开发Productions - ObjectScript Productions - 指定设置的默认值 当定义业务主机类(可能还有适配器类)时,应该考虑如何控制这些项目的任何设置的默认值。 IRIS 可以从三个来源之一获取设置的默认值: - production定义。 - 为 IRIS 实例定义的值,但存储在production定义之外。有关信息,请参阅配置制作中的定义制作默认值。 - 主机类中定义的属性的默认值。在这种情况下,默认值由 InitialExpression 属性关键字确定。 某些设置取决于环境,例如 TCP/IP 地址或文件路径;通常,将这些设置配置为在生产之外提供它们的源,而其他设置(例如 ReplyCodeActions)是设计决策,并且很可能开发应用程序以从生产定义中检索这些设置。 可以开发作品,使配置设置来自不同的来源。主要目的是更轻松地将制作从一个 IRIS 实例转移到另一个实例,例如从测试转移到现场。 #InterSystems IRIS 0 0 0 48
文章 Michael Lei · 九月 18, 2023 阅读大约需 6 分钟 开发者作品展示--几乎实现的向量支持 如今,关于大语言模型、人工智能等的消息不绝于耳。向量数据库是其中的一部分,并且已经有非IRIS的技术实现了向量数据库。 为什么是向量? 相似性搜索:向量可以进行高效的相似性搜索,例如在数据集中查找最相似的项目或文档。传统的关系数据库是为精确匹配搜索而设计的,不适合图像或文本相似性搜索等任务。 灵活性:向量表示形式用途广泛,可以从各种数据类型派生,例如文本(通过 Word2Vec、BERT 等嵌入)、图像(通过深度学习模型)等。 跨模态搜索:向量可以跨不同数据模态进行搜索。例如,给定图像的向量表示,人们可以在多模式数据库中搜索相似的图像或相关文本。 还有许多其他原因。 因此,对于这次 pyhon 竞赛,我决定尝试实现这种支持。不幸的是我没能及时完成它,下面我将解释原因。 ##嵌入式 Python #Docker #Git #GitHub #JDBC #ObjectScript #ODBC #Python #SQL #InterSystems IRIS Open Exchange app 0 0 0 48
文章 姚 鑫 · 四月 8, 2023 阅读大约需 3 分钟 第二十二章 配置镜像 - 镜像配置指导原则 第二十二章 配置镜像 - 镜像配置指导原则 为了提供强大、经济的HA解决方案,镜像设计为可适应各种系统配置和体系结构。但是,建议遵循以下一般配置准则: #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 48
文章 姚 鑫 · 六月 25, 2023 阅读大约需 2 分钟 第三十九章 ObjectScript Productions - Defining Business Metrics - 以编程方式设置和获取值 第三十九章 开发Productions - ObjectScript Productions - Defining Business Metrics - 以编程方式设置和获取值 以编程方式设置和获取值 在某些情况下,可能需要以编程方式访问指标属性。例如,可能希望业务流程直接读取或设置度量属性。为此,请在新选项卡中使用 Ens.BusinessMetricOpens 的 GetMetric() 和 SetMetric() 类方法。 使用 GetMetric() 方法 GetMetric() 类方法从业务指标缓存中读取指定指标属性的当前值。按如下方式调用此方法: #InterSystems IRIS 0 0 0 47
文章 姚 鑫 · 二月 15, 2021 阅读大约需 3 分钟 第三十五章 Caché 变量大全 $ZNSPACE 变量 第三十五章 Caché 变量大全 $ZNSPACE 变量 包含当前命名空间名称。 大纲 $ZNSPACE 描述 $ZNSPACE包含当前命名空间的名称。通过设置$ZNSPACE,可以更改当前名称空间。 要获取当前命名空间名称,请执行以下操作: DHC-APP>SET ns=$ZNSPACE DHC-APP>WRITE ns DHC-APP 还可以通过调用%SYSTEM.SYS类的Namespace()方法来获取当前命名空间的名称,如下所示: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 47
文章 Louis Lu · 八月 30, 2023 阅读大约需 1 分钟 使用代码获取数据库剩余空间 大家可以通过InterSystems IRIS 管理门户SMP查看当前数据库剩余空间,路径是 Management Portal: System Operation > Database 当然大家也可以通过下面的代码查看数据库的可用磁盘空间: #InterSystems IRIS 0 0 0 46
问题 chaolong huang · 一月 30 压缩和截断 想请教一下压缩和截断操作的区别?会影响业务运行吗? #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 46
文章 姚 鑫 · 二月 8, 2021 阅读大约需 1 分钟 第二十八章 Caché 变量大全 $ZEOS 变量 第二十八章 Caché 变量大全 $ZEOS 变量 读取压缩流时包含流结束状态。 大纲 $ZEOS 大纲 $Zeos包含一个布尔值,该值指示是否已接收并处理传入(压缩)流的末尾。如果$Zeos=1,则已接收到压缩数据流的流结束。仅当流压缩/解压缩处于活动状态(/GZIP=1)时,$ZOS值才有意义。可以通过从OPEN或USE命令发出/GZIP命令关键字来激活流压缩/解压缩。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 45
公告 Michael Lei · 四月 29, 2022 欢迎给我们提供创意! 我们很高兴向您介绍我们新的反馈门户网站--InterSystems Ideas! 我们的目标是改善我们的反馈机制,使您可以建议我们的产品如何发展以满足您的业务挑战。在开发者社区提问是与您的同行就特定的代码问题进行互动的好方法,而我们的客户支持网站WRC则一如既往地是解决实时问题的方法。 #工具 #InterSystems IRIS 0 0 0 44
文章 姚 鑫 · 二月 7, 2021 阅读大约需 2 分钟 第二十七章 Caché 变量大全 $ZEOF 变量 第二十七章 Caché 变量大全 $ZEOF 变量 包含指示是否已到达文件末尾的标志。 大纲 $ZEOF 描述 在每次顺序文件读取之后,Caché设置$ZEOF特殊变量以指示是否已到达文件末尾。提供此特殊变量是为了与使用$ZC设备状态检查的MSM例程兼容。 Caché将$ZEOF设置为上次使用的设备的文件状态。例如,如果从顺序文件读取,然后写入主设备,则Caché会将$ZEOF从顺序文件的文件结束状态重置为主设备状态。因此,应该在顺序文件读取之后立即检查$ZEOF值(如果需要,将其复制到变量)。 Caché将$ZEOF设置为下列值: - –1 文件结束 - 0 不在文件末尾 要使用此功能,必须对顺序文件禁用<ENDOFFILE>错误。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 44
问题 hs c · 九月 26, 2022 How to obtain the user's operation permission on the database How to obtain the user's operation permission on the database, How to obtain the user's operation permission on the class #InterSystems IRIS 0 1 0 43
文章 Hao Ma · 三月 19 阅读大约需 3 分钟 IRIS/Caché SQL优化经验分享 - SQL优化器使用的统计数据 上个帖子写了TuneTable的执行, 提到了SQL优化器使用的那些统计数据, 这里逐一的介绍一下这些统计项。了解它们看懂和分析SQL执行计划的基础。 如果您不需要做单个查询的优化工作,可以调过这部分内容。 表的统计项 Extent Size: 表的大小,也就是记录数。在执行多表关联(JOIN)的查询时,SQL优化器会根据Extent Size值,从数据量最小的表来开始执行查询。 您还需要了解:表创建的时候Extent Size会获得一个初始值,而之后的插入修改数据并不自动修改这个值。而只有执行TuneTable才会修改这个。 这也就是为什么没有执行过TuneTable的数据库SQL性能好不了的原因。下图中的Patient表,可以看出有1,000,000记录 #SQL #新手 #InterSystems IRIS 0 0 0 43
公告 Claire Zheng · 十一月 15, 2023 InterSystems Java 编程大赛 Hi 开发者们, 我们非常高兴地邀请大家参加新的 InterSystems 在线编程竞赛,重点关注 Java 及其衍生产品! 🏆 InterSystems Java 编程大赛🏆 时间: 2023年11月13日至12月3日(美国东部时间) 奖金池: 14,000 美元 #Java #活动 #竞赛 #InterSystems IRIS #IRIS竞赛 #Open Exchange 0 0 0 43
文章 Michael Lei · 十月 10, 2022 阅读大约需 2 分钟 如何在 CI/CD 里管理InterSystems API Manager (IAM)/ Kong API GATEWAY 配置? Kong提供了一个开源的配置管理工具(用Go语言编写),称为decK(即声明式Kong,declarative Kong)。 #InterSystems API管理器(IAM) #持续交付 #持续集成 #提示和技巧 #InterSystems IRIS #InterSystems IRIS for Health #其他 0 0 0 43
文章 姚 鑫 · 二月 17, 2021 阅读大约需 1 分钟 第三十七章 Caché 变量大全 $ZPARENT 变量 第三十七章 Caché 变量大全 $ZPARENT 变量 包含当前进程的父进程的ID。 大纲 $ZPARENT $ZP 描述 $ZPARENT包含使用JOB命令创建当前进程的父进程的ID。如果当前进程不是使用JOB命令创建的,则$ZPARENT包含0(零)。 不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。 第三十八章 Caché 变量大全 $ZPI 变量 包含pi的值。 大纲 $ZPI 描述 $zpi包含数值常量Pi到小数点后18位的值(3.141592653589793238)。 该值经常用于三角函数,例如正弦函数$ZSIN。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 41
文章 姚 鑫 · 六月 8, 2023 阅读大约需 2 分钟 第二十九章 开发Productions - ObjectScript Productions - 定义业务操作 - 定义消息处理程序方法 第二十九章 开发Productions - ObjectScript Productions - 定义业务操作 - 定义消息处理程序方法 定义消息处理程序方法 当创建业务操作类时,通常最大的任务是编写用于此适配器的消息处理程序,即接收生产消息的方法,然后调用适配器的方法以便与生产之外的目标进行通信。 每个消息处理程序方法都应具有以下签名: Method Sample(pReq As RequestClass, Output pResp As ResponseClass) As %Status 这里Sample是方法名,RequestClass是请求消息类名,ResponseClass是响应消息类名。 通常,该方法应执行以下部分或全部操作: #InterSystems IRIS 0 0 0 41
文章 Claire Zheng · 三月 28 阅读大约需 3 分钟 InterSystems通过矢量搜索扩展了InterSystems IRIS数据平台,支持下一代人工智能应用 2024年3月26日,InterSystems数据平台全球主管Scott Gnau发文,宣布InterSystems IRIS数据平台新增了矢量搜索(vector search)功能。 本文作者为Scott Gnau,InterSystems数据平台全球主管。 #AI #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 40
文章 Louis Lu · 十月 19, 2023 阅读大约需 1 分钟 获取数据库缓存(global buffer)使用的大小 使用(^GLOBUFF )可以获取到使用的数据库缓存global buff的大小, 可以直接执行这个命令或者通过代码的方式获取结果 下面是执行命令的方式: #InterSystems IRIS 0 0 0 39
文章 姚 鑫 · 六月 4, 2023 阅读大约需 4 分钟 第二十四章 开发Productions - ObjectScript Productions - 定义业务服务 第二十四章 开发Productions - ObjectScript Productions - 定义业务服务 本页介绍如何定义业务服务类。 提示: IRIS®提供使用特定入站适配器的专用业务服务类,其中之一可能适合需要。如果是这样,则不需要编程。有关部分列表,请参阅 Introducing Interoperability Productions 中的连接选项。 介绍 业务服务负责接受来自外部应用程序的请求到 IRIS。下图显示了它是如何工作的: 请注意,此图仅显示数据的输入流,而不是可选响应。 业务服务负责以下活动: #InterSystems IRIS 0 0 0 38
文章 Louis Lu · 十月 19, 2023 阅读大约需 3 分钟 如何紧凑/维护变化频繁表的位图索引 对于经常进行插入、删除操作的表,位图索引的存储往往会变得不那么高效。 例如,下面定义的表,经常进行大数量的删除操作 (TRUNCATE TABLE) #InterSystems IRIS 0 0 0 37
文章 Louis Lu · 四月 15, 2021 阅读大约需 4 分钟 2020线上峰会 —— 第2天数据平台专题会议精彩回顾 我们刚刚结束了第二天的专题会议,会议内容精彩纷呈!虽然大家无法同时观看多个平行会议,但是线上会议有一个优势,那就是您可以根据自己的需要回看错过的内容! #2020线上峰会 #InterSystems IRIS #InterSystems IRIS for Health #全球峰会 0 0 0 37
文章 Hao Ma · 三月 18 阅读大约需 4 分钟 IRIS/Caché SQL优化经验分享 - Tune Table TuneTable(调整表)收集数据库中表的统计信息,用来为SQL引擎制定最优的执行计划。在其他数据库产品里,这个动作被称为“gather stats job"或者类似的名字,相比较TuneTable不是那么直白,但作用是一样的。 TuneTable是否要人工执行 一定要。 在IRIS 2023版本, 第一次加入了TuneTable的自动执行功能,在此之前的所有IRIS/Caché版本, 如果没有人工执行TuneTable, SQL引擎无法保证给出最好的查询计划。 即使是IRIS2023有了自动执行功能,也还需要人工执行TuneTable的操作,后面解释。 #SQL #新手 #InterSystems IRIS 1 0 0 36
文章 Hao Ma · 三月 19 阅读大约需 2 分钟 IRIS/Caché SQL优化经验分享 IRIS/Caché查询慢,主要原因有以下几个: 应用是一个事务型的数据库, 数据模型的设计不适合某些复杂的分析查询 这是慢的原因,不是慢的离谱的原因。数据模型是产品设计的范畴, 这里不讨论, 本文只讨论优化。 历史原因,有些表的索引不够优化 虽然还是设计问题,但可以在实施中或者维护中给出优化方案。 产品运行中的问题造成的查询效率下降 IRIS/Caché数据平台的一个特点是允许跳过SQL约束,对底层数据的直接修改。坏的代码或者应用可能破坏表数据和表索引的约束,造成SQL性能的下降。维护人员应该知道怎么避免,和处理这样的问题。 维护工作缺乏造成 比如Tune Table(调整表), 这是必须做的工作,但可惜很有些项目没有执行过。 #SQL #新手 #InterSystems IRIS 0 0 0 34
问题 huang YG · 二月 27 InterSystems IRIS Internal Failure 02/21/24-18:32:48:515 (7568) 3 InterSystems IRIS Internal Failure Access Violation (0xC0000005) occurred at 00007FFF3DE9C4E8 Process = 00001D90 Thread = 0000203C Exception Count=1 b_msyslog=0 b_DumpVar=0 b_DumpVar2=0 b_GRelease=0 b_GRelease2=0 b_DeqRes=0 b_DeqRes2=0 Job Type = CSP server ContextFlags = 0010005F Registers: RAX=00007FFF3DE9C4E8 RBX=000000C2E5554800 RCX=000000C2E7AFFC00 RDX=000000C2E7B00000 RSI=00000000FFFFFFC0 RDI=00000000000003FF RSP=000000C25CEBD2F8 RBP=0000000000000000 R8 =0000000000000001 R9 =00007FFF3DE60000 R10=000000C2E7AFFC00 R11=000000C2E7AFFC00 #CSP #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 33