搜索​​​​

清除过滤器
公告
Claire Zheng · 四月 7, 2021

InterSystems开发者社区新增“工作”版块

亲爱的开发者们! 现在你可以在InterSystems开发者社区找工作啦!在开发者社区发帖,你可以为自己找一份心仪的工作,也可以为你的公司寻找合适的人才! 那么,具体怎么操作呢? 在顶部菜单栏找到"职位" 版块: 在这里,你可以发现: 工作机会: 你可以找到需要InterSystems技术能力的工作机会; 求贤: 在这里,你可以发帖寻找具备InterSystems数据平台技术能力的优秀人选,在“所需技能”等相关描述中应包含对InterSystems技术的需求。 所以,如果你: 想为拥有InterSystems技术的人提供一个工作机会,或 拥有InterSystems技术能力,且正在寻找新的工作机会 就可以在社区发帖,当然,请在你发的帖子中加入相关tags: 工作机会 求职 以下是一份超简单的发帖攻略: 找到 职位 并点击 "新工作机会" 按钮,, 就可以创建相关帖子。 欢迎你尝试这个新功能,在这里找到合适的员工,在这里找到心仪的工作😉 如果有任何疑问,跟帖讨论与我们联系吧! Precautionary measures: InterSystems 不保证招聘信息及其他在本网站发布信息的准确性 InterSystems 对因本网站所公布的信息而造成的任何损失概不负责,请直接与招聘人员或申请人确认内容及条件 更多内容,请查看 InterSystems开发者社区行为准则.
公告
Claire Zheng · 三月 17, 2021

InterSystems编程大赛: 开发者工具

亲爱的社区开发者们,大家好! 我们很高兴地宣布,新一轮InterSystems开发者竞赛开启了! 🏆 InterSystems 编程大赛:开发者工具 🏆 请提交具有如下特性的应用程序——能够加速开发、贡献更多高质量代码、帮助用户测试、部署、支持或监控基于InterSystems IRIS的解决方案。 时间: 2021年3月29日- 4月25日 Total prize: $8,500 奖项设置 1. 专家提名奖(Experts Nomination)- 获奖者由我们特别挑选的专家团选出: 🥇 第一名 - $4,000 🥈 第二名 - $2,000 🥉 第三名 - $1,000 2. 社区提名奖(Community Nomination)- 获得总投票数最多的应用: 🥇 第一名 - $750 🥈 第二名 - $500 🥉 第三名 - $250 如果同时多位参赛者获得同样的票数,均被视为优胜者,将平分奖金 谁可以参加? 任何开发者社区的成员均可参加,InterSystems内部员工除外。还没有账号?现在来建一个! 👥 开发者可以组团 创建一个协作应用程序,组团限定人数为2-5人。 请注意,要在您的README文件中标注您的团队成员——社区用户profile. 参赛时间安排 🛠 3月29日 - 4月18日: 应用开发、提交阶段(在此期间,您可以持续编辑自己的项目) ✅ 4月19日 - 25日: 投票阶段 🎉 4月26日: 宣布优胜者! 主题 💡 InterSystems IRIS开发者工具 💡 此次竞赛中,我们希望您提交的应用程序能够改善IRIS开发者的使用体验,贡献更多qualitative code,并帮助用户测试、部署、支持或监控基于InterSystems IRIS的解决方案。 以下是参赛须知 有效应用程序:100%全新的Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。 应用程序的类型应匹配: UI框架, IDE, 数据库管理, 监控, 部署工具等等 应用程序需要在 IRIS Community Edition 或 IRIS for Health Community Edition 或 IRIS Advanced Analytics Community Edition 上运行。 应用程序应该开源并在GitHub上发布。 应用程序的README文件需要包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。 应用程序的源代码应该以UDL(而非XML)格式提交, 举例说明。 上述要求可能会按需修订。 资源助力 示例程序: iris-rad-studio - RAD for UI cmPurgeBackup - backup tool errors-global-analytics - errors visualization objectscript-openapi-definition - open API generator Test Coverage Tool - test coverage helper and many more. 我们建议您从以下模板开始: objectscript-docker模板 rest-api-contest模板 native-api-contest模板 iris-fhir模板 iris-fullstack模板 iris-interoperability模板 iris-analytics模板 如何将您的APP提交给大赛: 如何在InterSystems Open Exchange上发布应用程序 如何把参赛APP提交给大赛 参赛评比 我们已制定全新投票规则,欢迎关注! 期待您的精彩提交!加入我们的编程马拉松,赢取大奖! ❗️ 点击此处,查看 官方竞赛条款解读.❗️ 最新竞赛启动啦!欢迎大家积极参赛!✿✿ヽ(°▽°)ノ✿(*^▽^*) Pls invite your customers to join. Thx! @Li.Yan @Lu.Wang @Jun.Qian @Peng.Qiao @Louis.Lu @Hao.Ma @Lin.Zhu @Jieliang.Liu 今天就可以开始提交作品啦!
公告
Claire Zheng · 四月 13, 2021

InterSystems IRIS平台入驻AWS Quick Start

Hi 社区开发者们,告诉大家一个好消息!InterSystems IRIS®数据平台已入驻AWS Quick Start,今后可在AWS上快速部署高可用的生产环境。 基于AWS和InterSystems在安全性和高可用性方面的最佳实践,InterSystems IRIS Quick Start模板能够提供可靠、可重复的自动化参考部署,简化IRIS关键任务环境的构建过程。 这些加速器将数百个手动步骤简化为几步,因此用户可以在几分钟内快速、经济有效地在自己的AWS账户中安装InterSystems IRIS,从而更快地获得洞察和价值。 InterSystems数据平台副总裁Scott Gnau表示:“InterSystems IRIS入驻AWS Quick Start后,可为用户提供优化的、预配置的数据平台,帮助其近乎实时地部署安全、高可用的生产环境。InterSystems IRIS和AWS Quick Start的强强联合可以加快实现价值的速度,用户可专注于利用其中的深刻洞见。在目前日益激烈的竞争环境中,这两点非常重要。” 作为这个最新产品的一部分,我们还将为通过Quick Start部署InterSystems IRIS平台的用户提供一份指南,以介绍架构并提供部署指导。 作为一个全面的、云优先的数据平台,InterSystems IRIS无需集成多种技术,因此可减少代码、系统资源和维护流程,并提高投资回报率。
文章
Michael Lei · 四月 14, 2021

通过 InterSystems IRIS 实现分布式人工智能

**什么是分布式人工智能 (DAI)?** 试图找到一个“无懈可击”的定义是徒劳的:这个术语似乎有些“超前”。 但是,我们仍然可以从语义上分析该术语本身,推导出分布式人工智能也是人工智能(请参见我们为提出一个“实用”定义所做的[努力](https://www.linkedin.com/pulse/ai-robotization-intersystems-iris-data-platform-sergey-lukyanchikov/)),只是它分布在多台没有聚合在一起(既不在数据方面,也不通过应用程序聚合,原则上不提供对特定计算机的访问)的计算机上。 即,在理想情况下,分布式人工智能的安排方式是:参与该“分布”的任何计算机都不能直接访问其他计算机的数据和应用程序,唯一的替代方案是通过“透明的”消息传递来传输数据样本和可执行脚本。 与该理想情况的任何偏差都会导致出现“部分分布式人工智能”- 一个示例是通过中央应用程序服务器分发数据, 或者其反向操作。 不管怎样,我们都会得到一组“联合”模型(即,在各自数据源上训练的模型,或者按自己的算法训练的模型,或者同时以这两种方式训练的模型)。 **“面向大众”的分布式人工智能方案** 我们不会讨论边缘计算、机密数据操作员、分散的移动搜索,或者类似的引人入胜但又不是最有意识和最广泛应用(目前不是)的方案。 我们将更“贴近于生活”,例如,如果考虑以下方案(其详细演示应该可以在此处观看):一家公司运行一个生产级 AI/ML 解决方案,其运行质量正在由一名外部数据科学家(即,不是该公司员工的专家)系统地进行检查。 由于种种原因,该公司无法授予数据科学家访问该解决方案的权限,但可以按照时间表或在特定事件(例如,解决方案终止一个或多个模型的训练会话)后向其发送所需表中的记录样本。 我们据此假定,该数据科学家拥有某个版本的 AI/ML 机制,且这些机制已经集成在公司正在运行的生产级解决方案中,而且数据科学家本人很可能正在开发、改进和调整这些机制,以适应该具体公司的具体用例。 将这些机制部署到正在运行的解决方案中、监控机制的运行以及其他生命周期方面的工作由一名数据工程师(公司员工)负责。 我们在[这篇文章](https://www.linkedin.com/pulse/intersystems-iris-all-purpose-universal-platform-aiml-lukyanchikov/)中提供了一个在 InterSystems IRIS 平台上部署生产级 AI/ML 解决方案的示例,该解决方案可自主处理来自设备的数据流。 上一段提供的链接下的演示中也运行了相同的解决方案。 您可以使用我们的仓库 Convergent Analytics 中的内容(免费且无时间限制,请访问 Links to Required Downloads 和 Root Resources 部分)在 InterSystems IRIS 上构建您自己的解决方案原型。 通过这样的方案,我们可获得“分布程度”如何的人工智能? 在我们看来,此方案相当接近理想情况,因为数据科学家与公司的数据和算法均保持“切割”(只是传输了有限的样本,但在某个时间点前很重要;而且数据科学家自己的“样本”永远不会与作为实时生产级解决方案的一部分部署和运行的“活跃”机制 100% 同步),他完全不能访问公司的 IT 基础架构。 因此,数据科学家的作用变为在他的本地计算资源上部分重放该公司生产级 AI/ML 解决方案的运行片段,获得可接受置信级别的运行质量评估,并向公司返回反馈(在我们的具体方案中,以“审核”结果表示,可能还加上该公司解决方案涉及的 AI/ML 机制的改进版本)。 _图 1 分布式人工智能方案表示_ 我们知道,在人类执行人工智能项目交换的过程中,不一定需要表示和传输反馈,这源于有关现代方法的出版物以及已有的分布式人工智能实现经验。 但是,InterSystems IRIS 平台的优势在于,它允许同样高效地开发和启动“混合”(人类和机器串联)且完全自动化的人工智能用例,因此,我们将继续根据上述“混合”示例进行分析,同时为读者留下自行阐述其完全自动化的可能性。 **如何在 InterSystems IRIS 平台上运行具体的分布式人工智能方案** 本文上一节提到的带有方案演示的视频介绍对作为实时 AI/ML 平台的 InterSystems IRIS 进行了总体概述,并解释了其对 DevOps 宏机制的支持。 在演示中,没有明确覆盖负责定期将训练数据集传输给外部数据科学家的“公司侧”业务流程,因此,我们将从该业务流程及其步骤的简介开始。 发送方业务流程的一个主要“引擎”是 while 循环(使用 InterSystems IRIS 可视业务流程编辑器实现,该编辑器基于平台解释的 BPL 表示法),负责将训练数据集系统地发送给外部数据科学家。 该“引擎”内部执行以下操作(参见下图,跳过数据一致性操作): _图 2“发送方”业务流程的主要部分_ (a) 负载分析器 – 将训练数据集表中的当前记录集加载到业务流程中,并基于它在 Python 会话中形成一个数据框架。 调用操作会触发对 InterSystems IRIS DBMS 的 SQL 查询,并触发对 Python 接口的调用以将 SQL 结果传输给它,以便形成数据框架; (b) Azure 分析器 – 另一个调用操作,触发对 Python 接口的调用,以向其传输一组 Azure ML SDK for Python 指令,从而在 Azure 中构建所需的基础架构,并在该基础架构上部署前一个操作中形成的数据框架数据; 作为执行上述业务流程操作的结果,我们在 Azure 中获得一个存储对象(一个 .csv 文件),其中包含公司的生产级解决方案用于模型训练的最近数据集的导出: _图 3 训练数据集“到达”Azure ML_ 这样,发送方业务流程的主要部分已经结束,但是我们还需要再执行一个操作,同时请记住,我们在 Azure ML 中创建的任何计算资源都是可计费的(参见下图,跳过数据一致性操作): _图 4“发送方”业务流程的最后部分_ (c) 资源清理 – 触发对 Python 接口的调用,以向其传输一组 Azure ML SDK for Python 指令,从 Azure 中删除上一个操作中构建的计算基础架构。 数据科学家所需的数据已经传输完毕(数据集现在在 Azure 中),因此我们可以继续启动将访问数据集的“外部”业务流程,运行至少一次替代模型训练(从算法上讲,替代模型不同于作为生产级解决方案一部分运行的模型),并向数据科学家返回得到的模型质量指标及可视化,从而表示有关公司生产级解决方案运行效率的“审核结果”。 我们现在看一下接收方业务流程:与发送方业务流程(在包含公司自主 AI/ML 解决方案的其他业务流程中运行)不同,它不需要 while 循环,而是包含与在 Azure ML 和 IntegratedML(InterSystems IRIS 中用于自动 ML 框架的加速器)中训练替代模型有关的一系列操作,并将训练结果提取到 InterSystems IRIS 中(该平台也被认为在数据科学家处本地安装): _图 5“接收方”业务流程_ (a) 导入 Python 模块 – 触发对 Python 接口的调用,以向其传输一组指令,导入进一步操作所需的 Python 模块; (b) 设置 AUDITOR 参数 – 触发对 Python 接口的调用,以向其传输一组指令,为进一步操作所需的变量指定默认值; (c) Azure ML 审核 –(我们将跳过任何对 Python 接口触发的进一步引用)将“审核任务”提交到 Azure ML; (d) 解释 Azure ML – 将发送方业务流程传输到 Azure ML 的数据与 Azure ML 的“审核”结果一起获取到本地 Python 会话中(此外,在 Python 会话中创建“审核”结果的可视化); (e) 流式传输到 IRIS – 将发送方业务流程传输到 Azure ML 的数据与 Azure ML 的“审核”结果一起从本地 Python 会话中提取到 IRIS 中的业务流程变量; (f) 填充 IRIS – 将发送方业务流程传输到 Azure ML 的数据与 Azure ML 的“审核”结果一起从 IRIS 中的业务流程变量写入 IRIS 中的表; (g) IntegratedML 审核 – 使用 IntegratedML 加速器“审核”从 Azure ML 接收的数据以及上一个操作中写入 IRIS 的 Azure ML“审核”结果(在此特定情况下,该加速器处理 H2O auto-ML 框架); (h) 对 Python 进行查询 – 将数据和 IntegratedML“审核”结果传输到 Python 会话中; (i) 解释 IntegratedML – 在 Python 会话中,创建 IntegratedML“审核”结果的可视化; (j) 资源清理 – 从 Azure 中删除先前的操作中创建的计算基础架构。 _图 6 Azure ML“审核”结果的可视化_ _图 7 IntegratedML“审核”结果的可视化_ **分布式人工智能一般如何在 InterSystems IRIS 平台上实现** InterSystems IRIS 平台实现分布式人工智能有三种基本方法: ·       根据用户定义的规则和算法,直接交换人工智能项目,并对其进行本地和中央处理 ·       人工智能项目处理委托给专门的框架(例如:TensorFlow、PyTorch),交换的编排和各个准备步骤由用户在 InterSystems IRIS 的本地和中央实例上配置 ·       人工智能项目的交换和处理都通过云提供商(Azure、AWS、GCP)来完成,本地和中央实例只向云提供商发送输入数据并接收最终结果 _图 8 在 InterSystems IRIS 平台上实现分布式人工智能的基本方法_ 这些基本方法可以修改/组合使用:尤其是,在本文的上一节(“审核”)所描述的具体方案中,使用了第三种方法“以云为中心”,将“审核员”部分划分到云端,而在数据科学家一侧执行本地部分(作为“中央实例”)。 目前,在我们生活的现实中,“分布式人工智能”学科的理论和应用要素正在不断积累,但还没有形成“规范形式”,这使得创新实现具有巨大潜力。 我们的专家团队密切关注分布式人工智能作为一门学科的发展,并为其在 InterSystems IRIS 平台上的实现设计加速器。 我们乐于分享我们的内容,并帮助每一个认为这里讨论的领域有用的人开始分布式人工智能机制的原型设计。 您可以使用以下电子邮件地址联系我们的 AI/ML 专家团队 – MLToolkit@intersystems.com。
文章
Michael Lei · 五月 24, 2021

InterSystems 数据平台和性能 – 第 1 篇

您的应用程序已部署,一切运行正常。 很好,击个掌! 然后电话突然响个不停 – 用户投诉应用程序有时很“慢”。 这是什么意思? 有时? 您有哪些工具,查找和解决这个缓慢问题应查看哪些统计数据? 您的系统基础架构是否能承担用户负载的任务? 在投入生产之前,应该询问哪些基础架构设计问题? 如何自信地为新硬件规划容量,而不会过度规定? 如何停止电话铃声? 如何一开始就不让它响? * * * [本系列其他帖子的列表](https://cn.community.intersystems.com/post/intersystems-数据平台的容量规划和性能系列文章) * * * ## 这将是一次旅程 这是本系列的第一个帖子,本系列将探讨可用于对系统性能进行监视、审查和故障排除的工具和指标,以及影响性能的系统和架构设计注意事项。 在旅程中,我们将朝多个方向前进,了解 Caché、操作系统、硬件、虚拟化以及根据评论中的反馈变为热门的其他方面的性能。 我们将关注反馈循环,其中性能数据提供了一个视角,通过它可查看已部署的应用程序和基础架构的优势和局限性,然后形成反馈以实现更好的设计和容量计划。 不言而喻,您应该不断检查性能指标,但不幸的是,如果客户只是查看数据,他们会多次对长期可见的性能问题感到惊讶。 但问题当然是 - 什么数据? 我们将从收集一些基本的 Caché 和系统指标来开始这一旅程,这样我们可以对您的系统当前的运行状况有一个感觉。 在以后的帖子中,我们将深入了解主要指标的含义。 有多个可用于系统监视的选项 – 来自 Caché 内部和外部,我们将在本系列中探讨其中的许多选项。  首先,我们将了解我最喜欢的用于连续收集数据的必备工具 ^pButtons,它已经安装在每个 Caché 系统上。 为确保您拥有最新的 pButtons 副本,请查看以下帖子: ## 收集系统性能指标 - ^pButtons Caché 的 pButtons 实用工具可根据其创建的日志文件生成可读的 HTML 性能报告。 pButtons 输出的性能指标可以被轻松提取、绘图和审核。  pButtons html 文件中收集的数据包括: * Caché 设置:配置、驱动器映射等。 * mgstat:Caché 性能指标 - 大多数的值是每秒平均数。 * Unix:vmstat 和 iostat:操作系统资源和性能指标。 * Windows:性能监视器:Windows 资源和性能指标。 * 其他有用的指标。 pButtons 数据收集对系统性能的影响非常小,这些指标已经由系统收集,pButtons 只是将它们打包以便归档和传输。  要保存基准以进行趋势分析和故障排除,好的做法是在一个完整的业务周期内每天收集 24 小时 pButtons(午夜到午夜)。 一个业务周期可能是一个月或更长时间,例如,从月末处理中捕获数据。 如果没有任何其他外部性能监视或收集,则可以全年运行 pButtons。  应注意以下关键点: * 将日志目录更改为远离生产数据的位置,以存储累积的输出文件,避免出现磁盘满的问题! * 定期运行操作系统脚本或以其他方式压缩和存档 pButtons 文件,这在 Windows 上尤其重要,因为文件可能很大。 * 定期审核数据! 如果出现需要立即分析的问题,可以预览(立即收集)pButtons 数据,同时继续存储指标,以便在当天运行结束时进行收集。 有关 pButtons 的更多信息(包括预览、停止运行和添加自定义数据收集),请参见最新的 Caché 文档中的 _Caché 监视指南_:  http://docs.intersystems.com 可以将 pButtons HTML 文件数据分离并提取(例如提取为 CSV 文件),以通过脚本或简单的剪切和粘贴将其处理成图形或进行其他分析。 我们以后将在下一个帖子中看到图表输出的例子。 当然,如果您有紧急的性能问题,请联系 WRC。 ### 计划 24 小时 pButtons 数据收集 ^pButtons 可以手动从终端提示符启动,也可以按计划启动。 要计划每天 24 小时收集: 1. 启动 Caché 终端,切换到 %SYS 命名空间,然后手动运行一次 pButtons 以设置 pButtons 文件结构: %SYS>d ^pButtons Current log directory: /db/backup/benchout/pButtonsOut/ Available profiles: 1 12hours - 12 hour run sampling every 10 seconds 2 24hours - 24 hour run sampling every 10 seconds 3 30mins - 30 minute run sampling every 1 second 4 4hours - 4 hour run sampling every 5 seconds 5 8hours - 8 hour run sampling every 10 seconds 6 test - A 5 minute TEST run sampling every 30 seconds 选择选项 6 test - 5 minute TEST run sampling every 30 seconds。 请注意,您的编号可能有所不同,但 test 应该是显而易见的。 在运行期间,运行 Collect^pButtons(如下所示),您将看到包括 runid 在内的信息。 在此例中为“20160303\_1851\_test”。 %SYS>d Collect^pButtons Current Performance runs: <strong>20160303_1851_test</strong> ready in 6 minutes 48 seconds nothing available to collect at the moment. %SYS> 注意到这个 5 分钟运行还剩 6 分 48 秒吗? pButtons 为所有运行增加了 2 分钟宽限期,以便有时间将日志收集和整理成 html 格式。  2. 重要!更改 pButtons 日志输出目录 – 默认的输出位置为 <缓存安装路径>/mgr 文件夹。 例如,在 unix 上,日志目录的路径可能如下所示: do setlogdir^pButtons("/somewhere_with_lots_of_space/perflogs/") 确保 Caché 有该目录的写权限,并且有足够的磁盘空间用于累积输出文件。 3. 运行以下命令以创建一个新的 24 小时配置文件,间隔为 30 秒: write $$addprofile^pButtons("<strong>My_24hours_30sec</strong>","24 hours 30 sec interval",30,2880) 检查该配置文件是否已添加到 pButtons: %SYS>d ^pButtons Current log directory: /db/backup/benchout/pButtonsOut/ Available profiles: 1 12hours - 12 hour run sampling every 10 seconds 2 24hours - 24 hour run sampling every 10 seconds 3 30mins - 30 minute run sampling every 1 second 4 4hours - 4 hour run sampling every 5 seconds 5 8hours - 8 hour run sampling every 10 seconds 6 My_24hours_30sec- 24 hours 30 sec interval 7 test - A 5 minute TEST run sampling every 30 seconds select profile number to run: 注意:您可以更改收集间隔 – 30 秒对于例行监视是可以的。 对于例行 24 小时运行,我不会选择低于 5 秒的间隔 (…”,5,17280),因为 pButtons 在每个间隔都会收集数据,而导致输出文件变得非常大。 如果您要对一天中的某个特定时间进行故障排除,并需要更细化的数据,请使用默认的配置文件之一,或创建一个新的自定义配置文件,取较短的时间段,例如 1 小时,间隔为 5 秒 (...",5,720)。 多个 pButtons 可以同时运行,因此可以同时运行一个间隔为 5 秒的短 pButtons 和一个 24 小时 pButtons。 4. 提示 对于 UNIX 站点,可审查磁盘命令。 “iostat”命令使用的默认参数可能未包括磁盘响应时间。 首先显示当前配置了哪些磁盘命令: %SYS>zw ^pButtons("cmds","disk") ^pButtons("cmds","disk")=2 ^pButtons("cmds","disk",1)=$lb("iostat","iostat ","interval"," ","count"," > ") ^pButtons("cmds","disk",2)=$lb("sar -d","sar -d ","interval"," ","count"," > ") 要收集磁盘统计数据,请使用适合您的 UNIX 安装版的命令来编辑语法。 注意尾部空格。 以下是一些示例: LINUX: set $li(^pButtons("cmds","disk",1),2)="iostat -xt " AIX: set $li(^pButtons("cmds","disk",1),2)="iostat -sadD " VxFS: set ^pButtons("cmds","disk",3)=$lb("vxstat","vxstat -g DISKGROUP -i ","interval"," -c ","count"," > ") 您可以同时运行 iostat 和 sar 命令来创建非常大的 pButtons html 文件。 对于定期的性能审查,我通常只使用 iostat。 要仅配置一个命令: set ^pButtons("cmds","disk")=1 有关配置 pButtons 的更多详细信息,请参见在线文档。 5. 在 Management Portal > System Operation > Task Manager 中安排 pButtons 在午夜启动: Namespace: %SYS Task Type: RunLegacyTask ExecuteCode: Do run^pButtons("My_24hours_30sec") Task Priority: Normal User: superuser How often: Once daily at 00:00:01 ### 收集 pButtons 数据 最新版的 InterSystems 数据平台中随附的 pButtons 包括自动收集功能。 要手动收集数据并整理成一个 html 文件,请在 %SYS 命名空间中运行以下命令以生成未完成的 pButtons html 输出文件: do Collect^pButtons 该 html 文件将位于您在步骤 2 设置的日志目录中(如果您未设置,就**现在去设置!**)。 否则默认位置为 <Caché 安装目录/mgr> 文件将命名为 <主机名\_实例\_名称\_日期\_时间\_配置文件名.html>,例如 vsan-tc-db1\_H2015\_20160218\_0255_test.html ### Windows 性能监视器注意事项 如果操作系统是 Windows,则可以使用 Windows 性能监视器 (perfmon) 收集数据,与所收集的其他指标同步。 在 pButtons 的旧版 Caché 发行版中,需要手动配置 Windows perfmon。 如果帖子评论有需求,我将写一篇帖子介绍如何创建 perfmon 模板来定义要监视的性能计数器,并安排与 pButtons 相同的运行期间和间隔。 ### 总结 我们从本帖开始收集一些要研究的数据。 在本周晚些时候,我将开始研究一些样本数据及其含义。 您可以使用您在自己的系统上收集的数据。 到时见。
文章
Michael Lei · 五月 24, 2021

InterSystems 数据平台和性能 – 如何更新 pButtons

。之前我展示了如何运行 pButtons 来收集我们在下列帖子中研究的性能指标。 - [第 1 部分 - 入门:收集指标。](https://cn.community.intersystems.com/post/intersystems-数据平台和性能-–-第-1-篇) - [第 2 部分 - 研究收集的指标。](https://cn.community.intersystems.com/post/intersystems-数据平台和性能-–-第-2篇) ## 更新:2020 年 5 月。 _自四年前写下本帖以来,我们已从 Caché 迁移到 IRIS。 有关 pButton (Caché) 和 SystemPerformance (IRIS) 文档的更新链接,请参见评论。 另请注意如何将系统更新到最新版本的性能工具。_ pButtons 与 Caché 5 及更高版本兼容,并已包含在最近的 InterSystems 数据平台分发版(HealthShare、Ensemble 和 Caché)中。 本帖旨在提醒您下载并安装最新版的 pButttons。 最新版本始终可以通过 ftp 下载。 ftp.intersystems.com/pub/performance 您需要下载以下文件: pButtons_package.zip 解压 .zip 文件后,请查看 `readme.txt` 文件,以确保为您的 Caché 版本安装正确的文件。 要检查您现在已安装哪个版本,可以运行: %SYS>write $$version^pButtons() 备注 1: - 当前版本的 pButtons 需要一个许可证单元才能运行,将来的发行版将满足此要求。 - 此 pButtons 发行版的版本已更改。 — 之前的 pButtons 版本为 1.16c — 新发行版为版本 5。 备注 2: - pButtons 版本 5 还更正了版本 1.16a 引入的一个问题,该问题可能导致收集时间非常长。 版本 1.16a 包含在 Caché 2015.1.0 中。 如果您有 pButtons 版本 1.16a 至 1.16c,则应该从 ftp 站点下载 pButtons 版本 5。 有关 pButtons 的更多详细信息,请参见下载的文件以及在线 Caché 文档。
文章
Louis Lu · 四月 15, 2021

基于InterSystems IRIS 的数据运维DataOps

InterSystems IRIS 下使用 DataOps ![](/sites/default/files/inline/images/images/image(1392).png) Gartner 对 DataOps 的定义是:“DataOps 是一种协作式的数据管理方法,侧重于改善整个组织中数据管理者和数据消费者之间数据流的沟通、整合与自动化。 DataOps 的目标是创建可预测的数据、数据模型和相关项目的交付和变更管理,从而更快地交付价值。 DataOps 采取特殊技术手段和相应治理水平自动化数据交付的设计、部署和管理,以元数据提高动态环境中数据的易用性和价值。” 2014 年 6 月 19 日,InformationWeek 特约编辑 Lenny Liebmann 发表于 IBM Big Data & Analytics Hub 的题为“3 reasons why DataOps is essential for big data success”的文章中首次提出 DataOps 这一概念。 DataOps 一词后被 Andy Palmer 推广到 Tamr。 DataOps 是“数据运营”的专属名称。 2017 年对 DataOps 来说是意义重大的一年,生态系统取得巨大发展,分析师覆盖范围进一步扩张,关键字搜索量以及调查、出版物和开源项目数均有所提升。 Gartner 在 2018 年的 Hype Cycle for Data Management 中添加了 DataOps 。 (资料来源:) DataOps 宣言确立了以下 DataOps 原则:()   1. **持续满足客户需求**:我们的首要任务是在几分钟到几周内及尽早并持续交付有价值的内容给客户,并以此满足客户的需求。 2. **有价值工作的分析**:我们认为评价工作效率的主要度量指标是,提交了多少深度分析的内容、产出多少高准确度的数据以及在顶层框架和系统中贡献了多少。 3. **拥抱变化**:我们并不抗拒客户需求的变化,事实上,我们欣然接受这些变化,并以此产生竞争优势。 我们相信,与客户直接交谈是最高效、最实用、最敏捷的沟通方式。 4. 这是一项团队运动:分析团队将始终具有各种角色、技能、偏好工具和头衔。 多元化的背景和意见可以提高创新力和生产力。 5. **日常互动**:客户、分析团队和运营必须每天都在整个项目中协同工作。 6. **自发组织**:我们相信,最好的分析见解、算法、架构、需求和设计都来自于自发组织的团队。 7. **减少英雄主义**:对于分析的深度和广度,需求正在加速扩大,我们认为分析团队应尽力减少英雄主义,创建可持续且可扩展的数据分析团队和流程。 8. **反思**:分析团队应定期根据客户、自身和运营统计提供的反馈意见开展自我反思,优化运营绩效。 9. **分析即代码**:分析团队使用各种工具对数据进行访问、集成、建模和可视化。 从根本上讲,每种工具都会生成代码和配置,这些都会对数据进行操作,从而为进一步理解数据提供帮助。 10. **编排**:从头到尾编排数据、工具、代码、环境以配合分析团队的工作,这是分析成功的关键因素。 11. 使其可复现:结果需要可复现,我们对所有内容进行版本控制:包括数据、底层硬件、软件配置以及特定于工具链中各工具的代码和配置。 12. **一次性的工作环境**:我们认为,必须为分析团队成员提供易于创建、隔离、安全并能反映其生产环境的一次性工作环境,从而最大程度地降低分析团队的实验成本。 13. **简洁性**:我们认为,持续关注卓越的技术和良好的设计不仅可以提高敏捷性,也可以提高简洁性,特别是突出显示未完成的工作量。 14. **分析即生产**:分析管道类似于精益生产线。 我们认为,DataOps 的一个基本概念是注重过程思维,提升分析及生产的效率。 15. **质量至上**:分析管道在基础上应该有能力自动检测代码、配置和数据中的异常 (jidoka) 与安全问题,并应向操作员提供持续反馈以避免错误 (poka yoke)。 16. **监视质量和性能**:我们的目标是对性能、安全和质量措施进行持续监视,及时发现意外变化并生成运营统计信息。 17. **重用**:我们认为,提升分析及生产效率的一个基本方面是避免个人或团队重复以前的工作。 18. **缩短周期时间**:从将客户需求转化为分析思路,到在开发中创建、并作为可重复生产的流程发布,再到最后的重构和重用产品,我们应尽全力将这一周期耗费的时间和精力降到最低。 当您分析这些原则时,也许会发现 InterSystems IRIS 能够在某些方面起到作用: * 持续满足客户需求:您可以通过冲刺或迭代创建新的短集成产品、编排、IRIS 多维数据集、报告、BI 可视化和 ML 模型。 * 有价值工作的分析:IRIS 帮助您提供高质量的数据(在持久化类中使用production、适配器和类方法),并使您能够在 IRIS BI 数据透视表(分析设计器)和 IRIS NLP(文本分析)中进行数据探索。 * 自组织:IRIS 简化了自组织,借助统一的数据平台,您只需一个工具即可收集、处理、分析和发布见解。 * 反思:您可以通过此用户门户与用户互动并收集反馈,以改进交付的产品。 * 分析即代码:在 IRIS 数据模型中,多维数据集、仪表板都是代码,具有版本控制和治理功能。 * 编排:IRIS 数据平台可在单个工具中编排数据的引入、扩充、分析工作、数据可视化和 ML。 * 使其可复现:IRIS 支持使用 Docker、Kubernetes (IKO) 和 DevOps 复现结果。 * 一次性环境:IRIS 支持为集成、数据模型、BI 多维数据集和可视化创建 Docker 一次性环境。 * 简洁性:IRIS 数据多维数据集的创建非常简单,无需创建 ETL 脚本,分析器、多维数据集、仪表板的创建均实现可视化和网络化,并且可由用户而不仅是开发者团队完成。 同时,IntegratedML 允许在没有源代码开发的情况下针对常见场景创建 ML。 * 监视质量和性能:IRIS 使用 SAM 监视性能并具有 Web 管理门户。 * 重用:在 IRIS 中,DataOps 项目是类,这些类默认可扩展、可重用。 * 缩短周期时间:用户可以通过自助服务创建仪表板、分析、报告,以及发布和共享工作。 ODSC () 指出以下 DataOps 策略: InterSystems IRIS 对以上几点均有所帮助: * 自助服务配置:用户可以创建和发布多维数据集与仪表板。 * 共享、标记、注解:用户门户可用于共享仪表板,IRIS Analytical Web Portal 允许用户创建、记录、整理到文件夹并标记您的工作。 * 扩充:BPL 可用于扩充数据。 * 准备:BPL、DTL、适配器和 ObjectScript 逻辑可以帮助准备数据。 * 数据市场:数据资产可以发布到 REST API 并通过 IRIS API Manager 获利。 * 数据目录:IRIS 中的数据被组织成类,这些类被存储在类目录系统 (%Dictonary) 中 * 配置文件与分类:可在用户门户和管理门户中为分析项目创建组、文件夹。 * 质量:IRIS 具有实用工具类,可生成示例数据和进行单元测试。 * 沿袭:在 IRIS 中,所有数据资产都相互连接,您可以从数据模型构建多维数据集,再从多维数据集构建仪表板,所有数据资产均可由数据管理者(IRIS 权限系统)控制。 * 掌控:通过管理门户,您可以掌控分析项目的各个方面。 * 数据库数据、文件数据、SaaS API、流:IRIS 为多模型,支持持久性以及数据和文本分析 (NLP)。 以 IRIS API Manager 支持 SaaS API,以 Integration Adapters 和 PEX(带有 Kafka)与 Streams 结合使用。 * 应用程序、BI 工具、分析沙盒:通过 IRIS,您可以使用您喜欢的语言(Java、Python、.NET、Node.js、ObjectScript)创建 DataOps 应用。 虽然 IRIS 是 BI 工具,但是在这个工具中,您可以将连接器与 Power BI 或 MDX 桥结合使用,将 IRIS 作为分析沙盒。 参见我反映 IRIS 和 DataOps 的汇总: ![](/sites/default/files/inline/images/images/image(1392).png)  
文章
Michael Lei · 五月 12, 2021

InterSystems 数据平台和性能 – 第 2篇

部分 在上个帖子中,我们安排了使用 pButtons 进行 24 小时的性能指标收集。 在本帖中,我们将研究几个收集到的关键指标,以及它们与底层系统硬件的关系。 我们还将开始探索 Caché(或任一 InterSystems 数据平台)指标与系统指标之间的关系。 以及如何使用这些指标来了解系统的每日节拍率并诊断性能问题。 [本系列其他帖子的列表](https://cn.community.intersystems.com/post/intersystems-数据平台的容量规划和性能系列文章) ***2016 年 10 月编辑...*** *[用于将 pButtons 数据提取到 .csv 文件的脚本示例。](https://cn.community.intersystems.com/post/将-pbuttons-数据提取到-csv-文件以便绘制图表)* ***2018 年 3 月编辑...*** 图片消失,重新添加它们。 # 硬件食物群 ![硬件食物群](https://community.intersystems.com/sites/default/files/inline/images/foodgroups_0.png "硬件食物群") 您将会看到,随着本系列帖子的不断深入,影响性能的服务器组件可以逐项列出: - CPU - 内存 - 存储 IO - 网络 IO 如果这些组件中的任何一个承受压力,那么系统性能和用户体验很可能会受到影响。 这些组件也都相互关联,对一个组件进行更改可能会影响另一个组件,有时会产生意外的后果。 我见过这样一个例子:修复某个存储阵列中的 IO 瓶颈使 CPU 的使用率跳增至 100%,导致用户体验更差,原因是系统突然可以做更多工作,但没有 CPU 资源来为增加的用户活动和吞吐量提供服务。 我们还将了解 Caché 系统活动如何直接影响服务器组件。 如果存储 IO 资源有限,那么可以做出的积极改变是增加系统内存,并增加 __Caché global 缓冲区__的内存,从而降低__系统存储读取 IO__(但可能会增加 CPU 使用率!)。 要定期监视或在用户报告问题时要检查的一个最明显的系统指标是 CPU 使用率。 在 Linux 或 AIX 中查看 _top_ 或 _nmon_,或在 Windows 中查看_性能监视器_。 由于大多数系统管理员会定期查看 CPU 数据,特别是当数据以图形方式呈现时,快速浏览一下就可以很好地了解系统当前的运行状况 - 正常情况或出现活动激增,后者可能是异常情况或表示出现问题。 在本帖中,我们将快速查看 CPU 指标,但会重点关注 Caché 指标,我们首先将查看 _mgstat_ 数据,了解以图形方式表示的数据如何让系统运行状况一目了然。 # mgstat 简介 mgstat 是 pButtons 中包含并在其中运行的一个 Caché 命令。 mgstat 是一个非常好的工具,可收集基本性能指标,帮助您了解系统运行状况。 我们将查看从 24 小时 pButtons 收集的 mgstat 数据,但是,如果您希望捕获 pButtons 之外的数据,也可以根据需要以交互方式运行 mgstat,或者从 Caché 终端将其作为后台作业运行。 要从 %SYS 命名空间按需运行 mgstat,一般格式是: do mgstat(sample_time,number_of_samples,"/file_path/file.csv",page_length) 例如,运行一小时后台作业,采样周期为 5 秒,然后输出为 csv 文件: job ^mgstat(5,720,"/data/mgstat_todays_date_and_time.csv") 要显示到屏幕,但丢弃几个列,则输入 dsp132。 给您留个作业,去查看一下输出以了解差异。 do dsp132^mgstat(5,720,"",60) > mgstat 中的列的详细信息可以在最新的 Caché 文档([InterSystems 在线文档](https://docs.intersystems.com))中的 _Caché 监视指南_中找到 # 查看 mgstat 数据 pButtons 已设计为整理成一个 HTML 文件,以便导航和打包发送给 WRC 支持专家来诊断性能问题。 不过,当您自己运行 pButtons 并想以图形方式显示数据时,可以再次将其拆分为 csv 文件以处理成图形,例如可以使用 Excel、通过命令行脚本或简单的剪切和粘贴来完成。 在本帖中,我们将深入研究几个 mgstat 指标,来说明即使是快速浏览数据,也能让您感觉到系统是否运行良好,或者是否存在会影响用户体验的现有或潜在问题。 ## Gloref 和 CPU 下图显示了一个以高事务处理速率运行医院应用程序的站点的数据库服务器 CPU 使用率。 注意活动的高峰期在上午,此时有许多门诊病人,而在午餐时间,活动大幅下降,在下午和晚上则逐渐消失。 此例中的数据来自于 Windows 性能监视器 _(_Total)\% Processor Time_ - 图形的形状符合工作日的情况 - 没有异常的峰值或低谷,所以对这个站点来说是正常的。 通过对您的站点执行相同分析,您可以开始获取“正常”情况的基准。 如果出现大的尖峰,尤其是延长的尖峰,可能说明出现了问题。将来会有一个帖子以 CPU 为重点。 ![CPU 时间](https://community.intersystems.com/sites/default/files/inline/images/cpu_time.png "CPU 时间") 作为参考,该数据库服务器是具有两个 E5-2670 8 核处理器的戴尔 R720,服务器的内存为 128 GB,global 缓冲区为 48 GB。 下图显示了来自 mgstat 的更多数据 — 与 CPU 图形同一天的 Gloref(Global 引用数)或数据库访问量。 Gloref 指示正在发生的工作量,代表当前工作负载;虽然 global 引用会消耗 CPU 时间,但由于 Caché 使用 global 内存缓冲池的方式,这些引用并不始终消耗物理读取等其他系统资源。 ![Global 引用数](https://community.intersystems.com/sites/default/files/inline/images/glorefs_0.png "Global 引用数") 在典型的 Caché 应用程序中,Gloref 与 CPU 使用率之间有非常强的相关性。 > 这些 CPU 数据和 gloref 数据所展示出的另一方面是_减少 gloref 将降低 CPU 使用率_,从而可以在核心数较少的服务器上部署或在现有系统上进一步扩展。 还可以通过提高应用程序效率来减少 global 引用,我们将在以后的帖子中重新讨论这个概念。 ## PhyRds 和 Rdratio 根据 mgstat 数据 _PhyRds_(物理读取数)和 _Rdratio_(读取比)绘制的图形的形状也可以深入了解系统性能的预期水平,帮助您制定容量计划。 我们将在以后的帖子中深入探讨 Caché 的存储 IO。 _PhyRds_ 只是从磁盘到 Caché 数据库的物理读取 IOPS,您应该看到逻辑磁盘和物理磁盘的操作系统指标中反映了相同的值。 注意,查看操作系统 IOPS 可能还会显示来自非 Caché 应用程序的 IOPS。 不考虑预期的 IOPS 就调整存储大小会导致灾难,您需要了解系统在高峰时段的 IOPS 是多少,才能制定适当的容量计划。 下图显示了午夜零点到 15:30 之间的 _PhyRds_。 ![物理读取数](https://community.intersystems.com/sites/default/files/inline/images/phyrds.png "物理读取数") 注意 05:30 到 10:00 之间的读取数激增。 其他较短的峰值在 11:00 以及 14:00 之前。 您认为这些峰值是由什么引起的? 您的服务器有这些类型的峰值吗? _Rdratio_ 更有趣一点,它是逻辑块读取数与物理块读取数的比值。 也就是内存中的 global 缓冲区(逻辑)的读取次数与磁盘的读取次数之比,后者的读取速度要慢几个数量级。 _Rdratio_ 高是好事情,但长时间降至接近于零就不好了。 ![读取比](https://community.intersystems.com/sites/default/files/inline/images/rdratio.png "读取比") 注意读取数高的同时,_Rdratio_ 降至接近于零。 我曾被要求调查过这个站点,当时 IT 部门接到用户电话,报告系统长时间运行缓慢。 当我被要求查看系统时,这种情况已在几个星期内看似随机地出现。 > _**由于 pButtons 已设定为每天 24 小时运行,因此可以相对简单地回溯几周的数据,以查看与支持电话相关的高 _PhyRds_ 和低 _Rdratio_ 的模式。*** 经过进一步分析后,原因追溯到一名新的轮班员工身上,他当时运行了多个报告,输入了“错误”参数,加上写得不好的查询,并且没有适当的索引,导致数据库读取数很高。 这就解释了看似随机的缓慢。 由于这些长时间运行的报告将数据读取到 global 缓冲区中,结果是交互用户的数据从物理存储中获取,而不是从内存以及用于为读取提供服务的存储中获取。 监视 _PhyRds_ 和 _Rdratio_ 将让您了解系统的节拍率,也许还可以追踪不良报告或查询。 高 _PhyRds_ 可能有合理的原因 - 也许必须在某个时间运行报告。 使用现代 64 位操作系统和具有大容量物理内存的服务器,您应该能够将生产系统上的 _PhyRds_ 降到最低。 > 如果您在系统上看到高 _PhyRds_,可以考虑以下几种策略: - 通过增加数据库 (global) 缓冲区(和系统内存)的数量来提高性能。 - 可以将长时间运行的报告或提取移出办公时间。 - 可以在单独的影子服务器或异步镜像上运行长时间运行的只读报告、批处理作业或数据提取,以最大限度地降低对交互用户的影响,并减少对 CPU 和 IOPS 等系统资源的使用。 通常,低 _PhyRds_ 是好事情,这也是我们在确定系统规模时的目标。 然而,如果您的 _PhyRds_ 较低,而用户正在抱怨性能,仍然可以进行一些检查以确保存储不是瓶颈 - 读数低的原因可能是系统无法再提供服务。 我们将在以后的帖子中进一步探讨存储。 # 总结 在本帖中,我们研究了将 pButtons 中收集的指标图形化如何让运行状况检查可以一目了然地进行。 在接下来的帖子中,我将深入探讨系统和 Caché 指标之间的关系,以及如何利用这些指标来规划未来。
公告
Michael Lei · 三月 8, 2023

技术征文大赛:InterSystems IRIS 教程

你好社区, 在上次激烈的编程比赛之后,我们很高兴宣布下一场 InterSystems 技术文章写作比赛! ✍️技术文章竞赛:InterSystems IRIS 教程✍️ 写一篇可以被视为 InterSystems IRIS 教程的文章 任何级别的程序员:3月1日至3月31日初级/中级/高级。 🎁 人人有奖:参加比赛的每位作者都可获得一份特别奖品包! 🏆 主要奖品:共有6个奖品可供选择。 奖品 1. InterSystems技术论文大赛人人有奖!任何在比赛期间写文章的会员都将获得特别奖品: 🎁 品牌有机帆布手提袋 🎁 Moleskine 内衬笔记本 2. 专家奖——文章将由 InterSystems 专家评判: 🥇 第一名:Mars Pro 蓝牙音箱 / AirPods Max 🥈 第二名:带无线充电盒的 Apple AirPods Pro / JBL Pulse 4 灯光秀音箱 🥉 第三名:适用于 iPad 的妙控键盘保护套 / Bose Soundlink 微型蓝牙音箱 或者作为替代方案,任何获胜者都可以从比他自己的奖品级别低的奖品中选择一个奖品。 3.开发者社区奖——点赞数最多的文章。获胜者将可以选择以下奖品之一: 🎁 iPad 妙控键盘保护套 🎁 Bose Soundlink 微型蓝牙扬声器 笔记: 作者每个类别只能获得一次(作者总共将获得 2 个奖项:一个专家奖,一个社区奖) 如果出现平局,则专家对平局文章的投票数将被视为打破平局的标准。 谁可以参加? 任何开发人员社区成员,InterSystems 员工除外。 创建一个帐户! 比赛期间 📝 3月1日-3月31日:文章发表及投票时间。 在此期间发表一篇文章。 DC 成员可以通过 Likes 为已发表的文章投票——在社区奖中投票。 注意:您越早发表文章,您收集专家和社区投票的时间就越多。 有什么要求? ❗️凡是在比赛期间所写的文章,满足以下要求,将自动进入比赛: 文章必须是有关 InterSystems IRIS 主题的教程*。它可以适用于初学者、中级或高级开发人员。 文章必须是英文的。 文章必须是 100% 新的(它可以是现有文章的延续)。 该文章不能是已在其他社区发表的文章的翻译。 文章必须包含Tutorial 标签。 文章大小:最少 400 字(链接和代码不计入字数限制)。 同一作者最多允许 3 个条目。 允许发表关于同一主题但具有来自不同作者的不同示例的文章。 * 教程提供开发人员可以遵循以完成特定任务或一组任务的分步说明。 🎯 额外奖励 这次我们决定增加额外的奖金来帮助您赢得奖品!请欢迎: 奖金 标称 细节 话题奖 5个 如果您的文章与建议主题列表(如下所列)中的主题相关,您将获得 5 票专家票的奖励(相对于专家选择的第一名 = 3 票) 。 视频奖 3个 文章内容的呈现形式:除了发布文章外,还制作一个解释性视频。 讨论奖 1个 包含最有用讨论的文章,由 InterSystems 专家决定。只有 1 篇文章将获得此奖金。 翻译奖金 1个 在任何区域社区上发布您文章的翻译。 了解更多。 注意:每篇文章只能投一票。 新会员奖励 3个 如果您没有参加过之前的比赛,您的文章将获得 3 票专家票。 拟议主题 以下是建议的主题列表,这些主题将为您的文章提供额外的奖励: ✔️ 从 C# 使用 IRIS✔️ 从 Java 使用 IRIS✔️ 从 Python 使用 IRIS✔️ 使用嵌入式 Python✔️ 使用 Python API✔️ 使用嵌入式 SQL✔️ 使用 ODBC/JDBC✔️ 使用 %Query/%SQLQuery✔️ 使用索引✔️ 使用触发器✔️ 使用 JSON✔️ 使用 XML✔️ 使用休息✔️ 使用容器✔️ 使用 kubernetes 注意:允许来自不同作者的同一主题的文章。 ➡️ 加入InterSystems Discord讨论规则、话题和奖金。 所以, 是时候展示你的写作技巧了!祝你好运✨ 重要提示:奖品的交付因国家/地区而异,其中一些可能无法交付。可以从@Liubka.Zelenskaia 索取有限制的国家/地区列表 欢迎关注中文社区成员 @ 王喆 的作品:Develop IRIS using SSH (​​​​​​https://community.intersystems.com/node/537756)
文章
Claire Zheng · 五月 11, 2023

【视频】InterSystems 2023CHITEC之旅完美收官!

2023年4月14日-16日,2023 CHITEC在合肥圆满举办!此次盛会期间,创新的数据技术提供商InterSystems通过展位展示、主题研讨会、分论坛演讲等方式,全方位多角度展示了“加速评测,助力公立医院高效建设互联互通平台和数据中心”的能力,吸引了众多参会嘉宾。
文章
Claire Zheng · 三月 29, 2022

什么是卓越?——InterSystems全球副总裁John Paladino

卓越是什么?是思维方式,理念,还是结果? 在InterSystems,我们用行动来定义卓越。卓越意味着设立非常高的标准并超越它;卓越意味着不管是最小的姿态,还是最大的努力都同等重要;卓越意味着积极主动,即使是在客户还不清楚的情况下也努力去了解客户真正需要的东西,在客户提问之前就准备好相应的解决方案;卓越意味着着眼未来,分析潜在趋势,发现机会并有效协同,将一个个创意转化成为可行动的计划。 卓越是驱动我们与像您一样珍贵的合作伙伴一起支持起全世界最核心的关键应用。卓越是我们为何和如何能持续解决问题,成为客户可信赖的合作伙伴,以及成为支撑最重要的关键系统背后的力量。我们全力追求卓越,为客户更好地解决问题。但是不要仅仅向我们提出问题,我们也非常欢迎您的创意和目标,让我们一起来实现它们!
文章
jieliang liu · 四月 8, 2022

Kettle 中使用JDBC链接 InterSystems IRIS

使用 JDBC 链接 InterSystems : ​将IRIS jdbc 驱动拷贝到 安装文件夹/lib 下 ​自定义链接URL: jdbc:IRIS://ipAddress:superserverPort/namespace ​​自定义驱动器类名称: com.intersystems.jdbc.IRISDriver 然后就可以像其他关系型数据库使用的方式来使用Kettle。
文章
Lilian Huang · 六月 23, 2022

InterSystems 许可证信息和查询支持Tips

InterSystems许可证是指InterSystems发放的电子或纸质版的产品许可证,内容包括许可证订购日期、产品描述等。 激活码/License Key是InterSystems随许可证发放的许可软件激活码。通常情况下,客户收到的是电子许可证。 以下是一些许可证,激活码/License key常见咨询问题参考: 收到电子许可证后,如何获取纸质版许可证? 纸质版许可证或是安装介质盘,可通过合作伙伴或是致电原厂核验许可证信息后获取。 如需申请WRC支持,需要 申请准备: WRC账号,如无请通过WRC联络信息申请WRC账号 故障问题描述 许可证或激活码/License key 最终客户名称 WRC全球响应中心联络信息: 电话: +86 400-601-9890 邮件: support@intersystems.com 网站1(国内用户): https://wrc.intersystems.cn/ 网站2:https://wrc.intersystems.com 如何查询您的授权文件客户名和授权密钥? 方法1: 使用管理门户 以管理员身份登录到系统管理门户,进入菜单:系统管理>软件许可颁发>软件许授权码 (或英文菜单:System Administartion>Licensing>License Key) 记录客户名和授权密钥: 方法2 :使用命令行 执行命令: w $System.License.CKEY(),并拷贝输出内容 USER>w $System.License.CKEY() Cache Key display: Based on the active key file 'c:\intersystems\cache\mgr\cache.key' LicenseCapacity = Cache 2017.1, Enterprise:100, Concurrent User CustomerName = *** OrderNumber = 54321 ExpirationDate = 11/30/2022 AuthorizationKey = ******************************************************** MachineID = 方法3 :查看授权文件 使用文本编辑器查看您收到的授权文件。如果您不知道授权文件保存在哪里,可以到服务器的<InterSystems产品安装目录>/mgr/ 下找到cache.key (Cache’/Ensemble/旧版HealthConnect) 或iris.key (IRIS/新版HealthConnect)。 如何查询您的许可证产品类型和版本 方法1 :使用管理门户 任意身份登录到管理门户,点击菜单“关于”,记录版本信息。 方法2 :使用命令行 执行命令: w $ZV,并拷贝输出内容 USER>w $ZV Cache for Windows (x86-64) 2017.1.1 (Build 111U) Wed May 17 2017 15:34:56 EDT 备注:其他许可证任何问题,欢迎咨询:GCDPSales@intersystems.com。
公告
Tingting Jiang · 六月 21, 2022

InterSystems热招职位(2):Technical Specialist(Implementation)

InterSystems正在招聘Technical Specialist(Implementation),欢迎您的自荐、推荐。请将简历投递至Belinda.Glasson@intersystems.com,愿您的加入给我们带来新的活力,我们也将为您提供广阔的发展空间! (由于岗位职能要求,职位说明以英文形式发布。) Location:Beijing Job Title:Technical Specialist Department:Implementation Reporting to:Program Director What We Do Matters Why are we here? To ensure that our customers have reliable access to the right information at the right time—information they can share and use to draw insights, leading to better decisions. Job Summary The Technical Specialist will be required to perform custom development tasks and provide support for InterSystems TrakCare and related products. The Technical Specialist will be responsible for site specific software support and development activities and to ensure that the software satisfies project specifications and is delivered and deployed in line with project requirements. The Technical Specialist must be available to visit client sites (e.g. hospitals/laboratories) and implementation partners for technical support and/or to provide technical training. International travel may be required. Key Responsibilities of the Role Liaise with client or business analyst in regard to ongoing support or enhancement requests. Liaise with other InterSystems support and implementation team members to analyze problems and specify, document, test, and manage deployment of fixes for product functions or custom enhancements. Liaise with client or business analyst on any requests for new or modified reports. Advise and assist TrakCare Project Managers during implementation. Manage the resolution of any outstanding acceptance issues before and after project go-live. Develop custom/site specific software such as JavaScript, user defined functions, interfaces, reports, extracts, data migration scripts and conversions. Provide technical support for custom development i.e. JavaScript, user defined functions, interfaces, reports, extracts, data migration scripts and conversions. Provide support on the data dictionary. Provide advice and best practices to Clients for technical areas such as networks, configurations, architectures, custom development, etc. Provide technical support for troubleshooting and performance analysis for reports, stored procedures, interfaces, conversions, data migration scripts and user defined functions. Monitoring and responding to Technical Team calls on the TRC problem management system. Support and testing of all TrakCare related utilities, e.g. patching tool, print service etc. Production of training materials for technical courses such as system custom development or reporting. Production of technical documentation such as reference materials, installation instructions, user guides, knowledge-base articles and how-tos. Responsible for participating in on-site technical training if required. Responsible for participating in on-site technical implementations if required. Responsible for participating in the on call 24 hour roster service. Assistance in researching new development or report writing using InterSystems technologies and 3rd party products. Other duties may be directed by the Company from time to time. Experience and Qualifications Graduate IT qualifications highly desirable. Experience in an application development/programming position or a position providing technical support including analysis of program code. Knowledge of web orientated languages, including SQL, HTML, JavaScript. Proficient and knowledgeable in one or more of the following programming languages or equivalent: Java, C#, C, C++, Pascal, Perl, Python, Ruby, JavaScript, VisualBasic, Cache' Object Script, M (MUMPS). Experience with data analysis and database methodologies. Experience with Microsoft Office. Be able to design and write technical documents. Well versed in Internet / Intranet concepts including web development and web servers. Experienced in customer focused support or implementation. Proven ability to lead and deliver results as required within specific time frames. Good presentation and communication skills. Ability to conduct training and develop training materials. Ability to work within a team in a cross cultural environment. Available for out of office hours work and willing to travel. Keen to learn new technologies and new applications. Education and Training Degree in Computer Science or Information Technology
文章
Lilian Huang · 六月 14, 2022

[首次使用InterSystems IRIS] 互操作性: Message消息

这篇文章是上一篇文章的延续https://cn.community.intersystems.com/post/首次使用intersystems-iris-互操作性-一个production是什么? 在上一篇文章:https://cn.community.intersystems.com/post/首次使用intersystems-iris-互操作性-一个production是什么? 我们查验了什么是Production. 我们运行了示例代码,并在Visual Trace 页面查验了如何将流动消息的内容引入进Production中。 本文将回顾消息messages的概念和定义,和消息如何在系统集成所需的开发内容中用于组件之间发送和接收数据。 Production生产http://[https://cn.community.intersystems.com/post/首次使用intersystems-iris-互操作性-一个production是什么? Message消息 Components组件 Business Services业务服务 Business Processes业务流程 Business Operations业务操作 在创建 一个Message消息之前,让我们回顾一个案例研究。 一家公司经营着一个购物网站,并且正在为了适应季节而改变显示的产品信息顺序。 然而,有些商品无论季节如何都卖得很好,而有些商品在想不到的时间卖的很好,这与当前要更改顺序的显示规则不符。<br />因此,我们研究了更改显示商品顺序规则的可能性是匹配当天的温度而不是季节。 这就使得在购买商品时测量当时的温度变的很有必要。 由于一个外部的Web API可以查看天气信息,我们计划在商品购买时收集当时的天气信息并在将其录入数据库。 从本案例中,您可以看到以下内容: 从外部收到的信息是“购买的产品名称和城市名称” 从IRIS发送到外部系统以请求处理的信息是“城市名称”。该过程的结果是输入进的城市 “天气信息” 通过本案例研究,我们将执行系统集成所需的组件,在此之前,要运行这些组件,需要发送和接收messages消息,这些消息是中继转发数据,要使用这些messages消息,需要定义消息类。 一个消息类的设计需要考虑应该发送和接收哪些信息(即,messages消息),以使组件运行。 在此过程中,我们需要以下两类信息: A) 要获取天气信息时发送给外部Web API 的城市名称。 B) 记录在数据库中的天气信息和购买的产品名称。 A)中的城市名称和B)中的购买产品名称可以被包含进输入给IRIS的信息中。 B) 中的天气信息可以从外部Web API的响应信息中检索。 下面的图表就是考虑了从可用数据中发送和接收每个组件所需的信息。 黄色方框的第一行描述消息类别名,第二行之后说明为属性设置。 在示例代码中,我们有以下三种类型的messages消息: Start.Request(请求消息) 它用于发送购买的产品名称和城市,以获取天气信息。 Start.Response(响应消息) 它们用于返回操作的结果(天气信息)。 Start.InsertRequest(请求信息) 用于发送天气信息和购买产品的名称,以便在数据库系统注册。 The messages are specified in a superclass, Request message, and Response message are derived from Ens.Request and Ens.Response, respectively. The following is an example of the definition of the Request message Start.Request. messages 消息在超类别中指定,请求消息和响应消息派生自Ens.Request and Ens.Response,分别作出回应。 以下是Start.Request的定义示例: 以下是响应消息的一个示例, 请求消息, 将请求输入和数据库注册的请求信息发送至如下: (我们计划将天气信息属性设置在Start.Response中,获取天气信息后再返回。) 如果要在Studio中创建,您也可以使用Wizard创建消息。 参考)在Studio中创建响应类的步骤。 总结关键的点在于消息设计的思路“应该发送和接收哪些信息(i.e., messages)”以使组建运行。 一旦消息类实现后(驱动每个组件的信息是什么),下一步即是为组件创建类别。 原文请参考:https://community.intersystems.com/post/intersystems-iris-first-time-interoperability-message written by Mihoko Iijima