搜索​​​​

清除过滤器
公告
Michael Lei · 一月 5

InterSystems 宣布 InterSystems IRIS、InterSystems IRIS for Health 和 HealthShare Health Connect 2024.3 正式发布

2024.3 版 InterSystems IRIS® 数据平台、InterSystems IRIS® for Health 和 HealthShare® Health Connect 现已正式发布 (GA)。 版本亮点 在此版本中,您可以期待一系列激动人心的更新,包括: 数据库和 WIJ 文件的扩展速度大大提高 能够通过 Visual Trace 重新发送消息 增强的规则管理器功能 向量搜索增强功能 等等。 请通过开发者社区分享您的反馈,与我们共同打造更好的产品。 文档 请访问以下链接了解所有亮点功能的详细信息: InterSystems IRIS 2024.3 文档、版本说明和升级检查核对清单。 InterSystems IRIS for Health 2024.3 文档、版本说明和升级检查核对清单。 Health Connect 2024.3 文档、版本说明和升级检查核对清单。 此外,请查看此版本的升级信息。 抢先体验计划 (EAP) 目前提供多个 EAP。 请查看此页面并注册您感兴趣的计划。 如何获取软件? 像往常一样,持续交付 (CD) 版本包含适用于所有受支持平台的经典安装包,以及 Docker 容器格式的容器镜像。 经典安装包 安装包可从 WRC 的 InterSystems IRIS、InterSystems IRIS for Health 和 Health Connect持续交付版本页面获取。此外,还可以在评估服务网站获取套件。 可用性和软件包信息 此版本提供适用于所有受支持平台的经典安装包,以及 Docker 容器格式的容器镜像。有关完整列表,请参阅“支持的平台”文档。 安装包和预览版密钥可从 WRC 的预览版下载网站或通过评估服务网站获取。 此持续交付版本的版本号为:2024.3.0.217.0。 容器镜像可通过 InterSystems 容器注册表获取。 容器带有 2024.3 或 latest-cd 标签。
文章
Michael Lei · 五月 26, 2021

Intersystems IRIS 安装手册

https://www.intersystems.com/isc-resources/wp-content/uploads/sites/24/InterSystems-IRIS%E6%95%B0%E6%8D%AE%E5%B9%B3%E5%8F%B0%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97-20200531.pdf 怎么访问不了呢,404 最新版安装指南请参考:Linux 系统IRIS安装总结 谢谢,我问下有虚拟机分区的部分,应该怎么分区呢 看您是什么操作系统,Linux的话可以用fdisk命令进行分区。
文章
Jingwei Wang · 六月 8, 2023

使用InterSystems Integrated ML

数据分集 (测试数据可以在网上下载 https://catalog.data.gov/dataset/) 1. 创建训练集,80%用于训练集。 CREATE TABLE DataMining.DiabetesTraining AS SELECT top 641 Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin,BMI, Age, Outcome from DataMining.DSTable order by ID 2. 创建测试集,20%用于测试集。 CREATE TABLE DataMining.DiabetesTest AS SELECT top 127 Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin, BMI,Age, Outcome from DataMining.DSTable order by ID DESC Integrated ML 1. 创建ML配置 此步骤用来配置Provider 及不同Provider所使用的配置参数。 InterSystems IRIS提供三种Provider,AutoML、H2O和DataRobot,本实验使用默认Provider - AutoML ,所以可以忽略创建ML配置步骤。如果想尝试开源工具H2O,可以在此实验完成后,按照扩展实验手册进行配置。 2. ML配置 SET ML CONFIGURATION %AutoML 此步骤是用来确定选用的Provider,AutoML是系统自带的Provider。 3. 建模 CREATE MODEL DiabetesModel PREDICTING (Outcome) FROM DataMining.DiabetesTraining DiabetesModel 为模型名称 (模型名称可随意设置)。 DataMining.DiabetesTraining 为糖尿病患者预测模型的训练数据集。 Outcome 为要预测的结果的列名。 4. 训练模型 TRAIN MODEL DiabetesModel DiabetesModel为模型名称。 5. 验证模型 VALIDATE MODEL DiabetesModel FROM DataMining.DiabetesTest DataMining.DiabetesTest为糖尿病患者预测模型的测试集。 6. 查看模型信息 SELECT * FROM INFORMATION_SCHEMA.ML_TRAINED_MODELS 在返回的数据PROVIDER列中,可以或者 在返回的数据MODEL_INFO列中,可以获得ModelType 算法名称, Package 机器学习处理包, ProblemType 算法类型等结果。 6. 查看验证结果 SELECT * FROM INFORMATION_SCHEMA.ML_VALIDATION_METRICS 可以获得Accuracy,Precision,Recall 和 F-Measure 计算结果。 现在,你可以通过Accuracy,Precision,Recall 和 F-Measure 来分析你的模型训练结果。如果训练模型准确率较低,可以重新训练数据集。 7. 查看测试集的预测结果和真实结果 SELECT PREDICT(DiabetesModel) AS PredictedDiabetes, Outcome AS ActualDiabetes FROM DataMining.DiabetesTest 8. 删除模型 DROP MODEL DiabetesModel

#InterSystems IRIS BI (DeepSee)

28 帖子3 关注者
公告
Michael Lei · 十月 26, 2021

InterSystems IRIS和InterSystems IRIS for Health的完整套装版本供开发人员使用!

InterSystems很高兴地宣布一个全新的 开发者下载网站 提供InterSystems IRIS社区版和InterSystems IRIS for Health社区版的完整配套版本。 这些都是免费提供给应用开发者使用的。 你可以选择直接从 InterSystems开发者社区 直接 下载 InterSystems IRIS. 这些实例包括一个免费的内置13个月的许可证。 它们限制在10GB的用户数据,将在8个核心的机器上运行,支持5个并发连接,并支持应用开发。可用的平台。RedHat, Ubuntu, SUSE, Windows和macOS InterSystems IRIS 和 InterSystems IRIS for Health医疗版也可以从Docker Hub获得容器版. 请在这里查看如何开始,访问我们网站上的InterSystems IRIS 数据平台或InterSystems IRIS for Health 医疗版,了解更多关于我们的产品,并访问 开发者资源页面深入了解开发。 如果您之前注册了InterSystems登录账户(如开发者社区或WRC),您可以使用这些账户来访问开发者下载网站 。
文章
Jeff Liu · 一月 7, 2021

InterSystems 最佳实践系列之--从持久类和序列类生成 Swagger 规范

最近,我需要从持久类和序列类生成一个 Swagger 规范,所以我发布了我的代码(它并不完整 - 你仍然需要处理应用程序的细节,但这是一个开始)。 代码[在这里](https://github.com/eduard93/Utils/blob/master/Utils/YAML.cls.xml)。 假设你有下面的类:   类 Class REST.Test.Person Extends %Persistent { /// 人的名字。 Property Name As %String [ Required ]; /// 人的社会安全号。 这通过模式匹配进行验证。 Property SSN As %String [ Required ]; /// 人的出生日期。 Property DOB As %Date; /// 人的家庭地址。 这里使用一个嵌入对象。 Property Home As Address; /// 人的办公室地址。 这里使用一个嵌入对象。 Property Office As Address; /// 人的配偶。 这是对另一个持久对象的引用。 Property Spouse As Person; /// 代表人喜欢的颜色的字符串集合。 Property FavoriteColors As list Of %String; /// 代表人喜欢的颜色的字符串集合。 Property FavoriteNumbers As array Of %Integer; /// 人的年龄。<br> /// 这是一个经过计算的字段,其值来自于 <property>DOB</property>。 Property Age As %Integer; } Class REST.Test.Address Extends %SerialObject { /// 街道地址。 Property Street As %String(MAXLEN = 80); /// 城市名称。 Property City As %String(MAXLEN = 80); /// 2 个字母的州名缩写。 Property State As %String(MAXLEN = 2); /// 5 位美国 地区改进计划 (ZIP) 编码。 Property Zip As %String(MAXLEN = 5); } 你可以通过以下代码自动生成此 Swagger 定义: REST.Test.Person: type: "object" properties: Age: type: "integer" DOB: type: "string" FavoriteColors: type: "array" items: type: "string" FavoriteNumbers: type: "object" Home: $ref: "#/definitions/REST.Test.Address" Name: type: "string" Office: $ref: "#/definitions/REST.Test.Address" SSN: type: "string" Spouse: $ref: "#/definitions/REST.Test.Person" REST.Test.Address: type: "object" properties: City: type: "string" State: type: "string" Street: type: "string" Zip: type: "string" 主方法:Utils.YAML:GenerateClasses 测试运行:do ##class(Utils.YAML).Test()
文章
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é 指标之间的关系,以及如何利用这些指标来规划未来。
文章
Claire Zheng · 七月 8, 2021

2021 CHITEC | InterSystems IRIS医疗版互联互通套件:六大能力助力医院互联互通建设

2021年7月9日-11日,2021(16th) 中国卫生信息技术/健康医疗大数据应用交流大会暨软硬件与健康医疗产品展览会(CHITEC)在武汉国际博览中心(湖北省武汉市汉阳区鹦鹉大道619号)盛大召开,欢迎莅临InterSystems展位A6-16,了解备受瞩目的InterSystems IRIS医疗版互联互通套件。 InterSystems致力于部署、创建互联互通医疗解决方案,为医院数字化转型提供技术支持。针对医院信息互联互通标准化成熟度测评指标要求,InterSystems IRIS 医疗版互联互通套件从安全管理、监控、数据管理、互联互通文档、互联互通服务、集成与交换六大方面助力医院互联互通建设,以满足医疗机构内部标准化的要求,使医院可基于信息平台提供较为完善的临床决策支持、闭环管理,实现丰富的人工智能和大数据应用,实现丰富的跨机构的业务协同和互联互通应用。 如果您希望进一步了解详细信息,欢迎莅临展位(A6-16),或通过下方二维码联系小助手,添加时注明“CHITEC预约沟通”,确认您的专属预约沟通时段,如果您完成预约并与专家实现现场沟通,将有机会获得神秘礼品! InterSystems IRIS医疗版互联互通套件具备如下优点: 专——专注医疗领域40余年,针对中国医疗信息化市场量身定制,遵循国家卫生信息标准,公立医院互联互通标准化成熟度测评需求的基石;加强健康数据标准应用,提高数据质量;全——全面支持2020最新版医院互联互通标准化成熟度测评规定的文档、监控、服务、Schema 等组件;快——卓越的互操作性助力医疗机构快速落地互联互通标准化成熟度测评标准化改造;省——有效缩短实施周期,降低实施成本,超高性能有效降低硬件成本;稳——稳定高效,连续多年支持超百家大型公立医院海量数据稳定运行。主流 PC 服务器单实例下,支持日消息吞吐量可达 27亿;目前已知支持国内公立医院日消息吞吐量高达1200万/天(非集群);强——功能强大,该套件具备持久化数据能力,可全面助力医院快速实现创新型数据应用,包括数据库管理、敏捷开发、 API 管理、FHIR资源仓库、分布式扩展、一体化机器学习、自适应分析等;广——广泛专业的本土化生态合作伙伴,具备丰富的互联互通成熟度测评经验与强大的落地能力。 截至2020 年,InterSystems已助力中南大学湘雅医院(五级乙等)、河南省人民医院(五级乙等)、安徽省立医院(五级乙等)、武汉中心医院(五级乙等)、四川大学华西第二医院(五级乙等)、深圳市宝安区妇幼保健院(五级乙等)、广州医科大学附属第二医院(五级乙等)、吉林大学中日联谊医院(五级乙等)、浙江大学医学院附属第四医院(五级乙等)、北京协和医院(四级甲等)等一百余家医院通过互联互通标准化成熟度测评,在全国大型医院中市场份额最高。 2021 CHITEC (7月9日-11日)期间,转发这篇文章到微信朋友圈,可以到InterSystems展位领取小礼品哦~
公告
Claire Zheng · 一月 20, 2021

InterSystems IRIS支持基于ARM的AWS Graviton2处理器

去年,AWS推出了基于ARM架构的AWS Graviton处理器第一代Amazon EC2 A1实例。在2019年AWS re:Invent 大会上,亚马逊宣布了第二代AWS Graviton2处理器和相关的Amazon EC2 M6g实例。相比前一代基于Intel Xeon的M5实例,Amazon EC2 M6g实例的性价比提升幅度高达40%。基于AWS Gravity 2的M6g实例现已推出预览版,InterSystems借此机会利用InterSystems IRIS数据平台对其性能进行了评估。InterSystems很高兴地宣布,我们取得了令人印象深刻的结果,并在2020年实现支持基于ARM架构的AWS Graviton2处理器的Amazon EC2实例! 我们测试了两种不同的工作负载,它们代表着InterSystems IRIS客户群体的常见用例。第一个工作负载是基于InterSystems IRIS数据平台的金融应用程序的纯数据接收。第二个是基于InterSystems IRIS医疗版的医疗互操作性工作负载。我们对比了Amazon EC2 M6g和M5在每种工作负载下的性能表现。 工作负载#1:InterSystems IRIS数据平台上的数据接收吞吐量 我们测试了相同的工作负载,以便在InterSystems IRIS上模拟纽约证交所在两节点分片集群上运行的数据处理(下单/成交)。该基准测试比较了m5.2xlarge和基于AWS Graviton2的m6g.2xlarge Amazon EC2实例之间的性能表现。每个实例均具有8个vCPU和32GB RAM,唯一的配置差异是处理器和AMI操作系统镜像。所对比的系统配置具有相同的EBS卷、iops、VPC配置和IRIS参数(例如全局缓冲区),且均使用了InterSystems IRIS的预发布版本IRIS-2020.1.0L.188.0-lnxrharm64和IRIS-2020.1.0L.188.0-lnxrh64。 结果显示,m5.2xlarge系统平均每秒处理9.8万条记录,而m6g.2xlarge每秒处理大约12万条记录。在相同数量的vCPU上,后者的性能提高了20%以上! 工作负载#2:InterSystems IRIS 医疗版上的医疗互操作性吞吐量 我们测试了相同的工作负载,以便在InterSystems IRIS医疗版互操作性技术框架上模拟HL7消息接收、路由和转换。该基准测试对m5.2xlarge和m6g.2xlarge(均具有8个vCPU和32GB RAM)进行了比较。除处理器以外,二者其余配置完全相同,且均在InterSystems IRIS(2020.1)的预发布版本上进行测试。我们同样针对基于第一代AWS Graviton处理器的A1实例进行了测试,以展示AWS Graviton2在性能上的飞跃。结果如下: 左侧轴是衡量此工作负载性能的主要指标,即应用程序每秒处理的消息数。x轴表示基准驱动向应用程序传输的不断增加的消息。从左向右,应用的工作负载不断增加,首先将入站接口的数量增加到16个,然后在保持稳定的情况下增加每秒消息数量。上图中的列则表示在右侧轴上测得的CPU利用率,当CPU利用率接近100%时,可以看到每种实例的最大容量。 正如大家所看到的,基于AWS Graviton2的M6g实例是线性扩展,并且在高工作负载下明显优于M5实例。在相同的工作负载下,M6g实例保持较低的CPU利用率,并在M5实例达到CPU最大利用率后仍可以继续扩展。与相同大小的M5实例相比,M6g实例的消息吞吐量最终提高了约28%。AWS Graviton2处理器以显著优势胜出! 性价比 通过比较基于AWS Graviton2的M6g和相同大小的M5实例,可以发现前者除了明显的性能提升外,还具有价格优势——与当前的Amazon EC2 M5实例相比,Amazon EC2 M6g实例的成本降低了20%: m5.2xlarge按需:每小时0.384美元 m6g.2xlarge按需:每小时0.308美元 结论 InterSystems致力于为客户提供选择平台的自由。我们很高兴地看到,AWS Graviton2处理器将为InterSystems IRIS客户带来显著的性能提升,并为客户降低成本。我们相信这些综合优势将推动ARM平台在IRIS客户中的广泛应用,我们很高兴可以为此提供支持! 更多资源 https://aws.amazon.com/ec2/graviton/ https://aws.amazon.com/ec2/instance-types/m6/ https://www.intersystems.com/products/intersystems-iris/ 注:本文为译文,欢迎点击查看原文,原文由Steven LeBlanc撰写 @LU.WANG @na.liu 这个版本的IRIS 我们能发货吗?
文章
Claire Zheng · 一月 21, 2021

【视频】IRIS数据库在医疗行业发展(1):InterSystems IRIS架构

这是“IRIS数据库在医疗行业发展”系列课程的第一讲,InterSystems中国技术总监乔鹏为您介绍InterSystems IRIS架构。InterSystems IRIS数据平台是全球首款且唯一一款专门设计用于从医疗数据中提取价值的数据平台。
文章
Claire Zheng · 一月 21, 2021

【视频】IRIS数据库在医疗行业发展(2):InterSystems IRIS分析能力

这是“IRIS数据库在医疗行业发展”系列课程的第二讲,InterSystems中国技术总监乔鹏为您介绍InterSystems IRIS强大的分析能力。InterSystems IRIS数据平台是全球首款且唯一一款专门设计用于从医疗数据中提取价值的数据平台。
文章
Claire Zheng · 一月 21, 2021

【视频】IRIS数据库在医疗行业发展(3):InterSystems IRIS独立组件

这是“IRIS数据库在医疗行业发展”系列课程的第三讲,InterSystems中国技术总监乔鹏为您介绍InterSystems IRIS独立组件。InterSystems IRIS数据平台是全球首款且唯一一款专门设计用于从医疗数据中提取价值的数据平台。
文章
Claire Zheng · 二月 1, 2021

如何在 InterSystems Open Exchange 上发布应用程序?

大家好! 如您所知,我们发布了 InterSystems Open Exchange — 面向 InterSystems 数据平台上的解决方案和工具的市场! 但是如何在 OE 上发布应用程序? 在开始前,我先回答几个基本问题。 谁可以发布? 基本上,每个人都可以。 您可以使用您的 InterSystems 开发者社区帐户或 WRC 帐户登录 Open Exchange。 什么是应用程序? Open Exchange 应用程序是使用任何 InterSystems 数据平台产品(Caché、Ensemble、HealthShare、InterSystems IRIS 或 InterSystems IRIS for Health)开发的解决方案、工具、互操作性适配器或接口。 或者该工具或解决方案应该有助于 InterSystems 数据平台上的开发、测试、部署或管理解决方案。 什么是 Open Exchange 的应用程序? 实际上,它是应用程序条目的名称、描述和链接集:下载页面、文档、代码仓库(如果有)、许可证等。 让我用我个人的示例来介绍这个过程。 将应用程序提交到 Open Exchange 为了说明这个过程,我在 ObjectScript for InterSystems IRIS 上开发了一个出色的应用程序,并希望将其与开发者社区分享:Ideal ObjectScript。 它演示了 ObjectScript 编码准则在各种 ObjectScript 用例中的理想用法。 有一些必需字段需要出现在每个 Open Exchange 应用程序上。 1. 名称 - 对于 Open Exchange 唯一的应用程序名称 2. 描述 - 应用程序的描述。 该字段支持 markdown。 3. 产品 URL - 应用程序下载页面的链接。 4. 许可证 - 显示应用程序许可证的页面的链接。 5. InterSystems 数据平台 - 应用程序面向的 InterSystems 数据平台集。 其余所有字段都是可选的。 那么,让我们来提交我的应用程序。 名称: Ideal ObjectScript 描述: Ideal ObjectScript 演示了 InterSystems ObjectScript 编码准则在各种 ObjectScript 用例中的理想用法。 产品URL: https://github.com/evshvarov/ideal_objectscript/releases/tag/1.0 - 应用程序的 Github 发行版部分中 1.0 版本的链接。 许可证URL: https://github.com/evshvarov/ideal_objectscript/blob/1.0/LICENSE - 应用程序的 LICENSE 文件的链接。 InterSystems数据平台: 该应用程序支持 InterSystems IRIS、Caché 和 Ensemble - 这是我自己测试过该应用程序的 InterSystems 产品列表。 这样,我们就可以提交应用程序了。 应用程序版本 在点击“Send For Approval”(发送以供批准)后,您需要提供应用程序的版本和版本说明。 我们使用 Semver 进行版本控制。 版本说明将发布在 Open Exchange 新闻、DC 社交媒体和应用程序的版本历史部分中。 在该应用程序进入批准工作流程后(结果是审批通过并自动在 OpEx 上发布,或者提供一些关于如何更正应用程序描述和链接的建议)。 输入 其他参数 图片 URL 在您的应用程序的图片图标上放置一个 URL,以使其显示在图块上。 您可以省略此参数,将显示标准 OpEx 图标。 Github URL 如果您的应用程序有 Github 仓库,则放置它的链接。 我们在 Open Exchange 上与 Github 进行了整合,因此,如果您引入指向应用程序的 Github 仓库的链接,Open Exchange 将自动显示来自 Github 的描述(Readme.md 中列出的所有内容)。 例如, 查看 Ideal ObjectScript 页面如何 显示在Open Exchange上。 社区文章URL 当然,您可以在开发者社区上用精彩的文章介绍您的应用程序,所以在这里放上文章的 URL! 如您所见,这个过程非常简单! 期待在 Open Exchange 上看到您的 InterSystems 数据平台应用程序! 敬请期待!
文章
Michael Lei · 六月 15, 2021

InterSystems 最佳实践之--LVM PE 条带化使超融合存储吞吐量最大化

本帖概述了通过为 InterSystems 数据平台(InterSystems IRIS、Caché 和 Ensemble)上的数据库磁盘创建 LVM 物理盘区 (PE) 条带来实现低延迟存储 IO 的最佳实践配置,并提供了有用链接。 一致的低延迟存储是获得最佳数据库应用程序性能的关键。 例如,对于在 Linux 上运行的应用程序,经常在数据库磁盘中使用逻辑卷管理器 (LVM) ,因为它能够扩展卷和文件系统,或者为在线备份创建快照。 对于数据库应用程序,在使用 LVM PE 条带化逻辑卷的情况下,并行写入还可提高数据 I/O 的效率,从而有助于提高大规模连续读取和写入的性能。 ---- 本帖重点介绍在 HCI 中使用 LVM PE 条带,也受到了社区中发布的[软件定义的数据中心 (SDDC) 和超融合基础架构 (HCI) – InterSystems 客户的重要注意事项](https://community.intersystems.com/post/software-defined-data-centers-sddc-and-hyper-converged-infrastructure-hci-%E2%80%93-important "SDDC whitepaper")白皮书的启发。 该白皮书推荐“对 Linux 虚拟机使用 LVM PE 条带化,从而将 IO 分布在多个磁盘组”以及“对于 Linux 虚拟机上的所有数据库和写入映像日志 (WIJ) 文件使用异步 IO 及 rtkaio 库”。 本帖提供了这些要求和示例的一些上下文信息。 ---- __注:__ > 目前有多个超融合、融合和软件定义的供应商平台,我在本帖中不会提供每个平台的详细说明,而是以__在 VMware ESXi 和 vSAN 上运行的 Red Hat Enterprise Linux (RHEL) 7.4 上的 InterSystems IRIS 或 Caché __的配置作为示例进行说明。 不过,其他解决方案的基本过程是相似的,特别是在 InterSystems IRIS 或 Caché 和操作系统层面。 如果您不确定如何将这些说明转换到其他平台,请联系各供应商的支持人员,了解他们的最佳实践。 InterSystems 技术专家还可以直接向客户和供应商或通过社区提供建议。 还需要注意的是,本帖中关于 LVM PE 条带化的指南既适用于 HCI,也适用于“传统”存储。 ---- ## 是否必须使用 LVM 条带化? 对于磁盘阵列等传统存储,简短的答案是“否”。 对数据库磁盘运行 LVM 条带化卷并不是必需的,尤其是使用现代全闪存阵列的情况下;如果性能尚可,并且您没有 LVM 需求,则无需改动。 但是,如上文所述,建议在 Nutanix 和 VMware VSAN 等超聚合和存储解决方案上的数据库磁盘中使用 LVM 条带,以便在 IO 操作中可以使用更多主机节点和磁盘组。 ## 为什么对数据平台使用 LVM 条带? 特别建议 HCI 上的数据库磁盘使用 LVM 条带,以降低某些架构功能的性能开销,例如减轻写入守护进程 (WD) 对数据库写入和日志写入的影响。 使用 LVM 条带将数据库突发写入分散到更多磁盘设备和多个磁盘组。  此外,本帖还将说明如何增加大规模 IO 写入映像日志 (WIJ) 的并行性,从而减少对其他 IO 的延迟影响。 > 注意:在本帖中,当我提到“磁盘”时,我指的是 NVMe、Optane、SATA 或 SAS SSD,或者任何其他闪存设备。 ## vSAN 存储架构概述 HCI 存储(例如在 vSAN 上运行 ESXi 时)使用两个磁盘层:一个缓存层和一个容量层。 对于全闪存架构__(必须使用全闪存,不要使用旋转磁盘!)__,所有写入操作都在缓存层进行,随后数据最终会转移到容量层。 读取来自容量层(也可能来自缓存层上的缓存)。 HCI 集群中的每个主机都可以有一个或多个磁盘组。 在使用磁盘组的情况下(例如使用 VSAN 时),每个磁盘组都由一个缓存磁盘和多个容量磁盘组成。 例如,缓存磁盘是单个 NVMe 磁盘,容量磁盘是三个或更多写密集型 SAS SSD 磁盘。 有关 HCI(包括 vSAN 磁盘组)的更多详细信息,请参见社区上的帖子“[超融合基础架构 (HCI)](https://community.intersystems.com/post/intersystems-data-platforms-and-performance-%E2%80%93-part-8-hyper-converged-infrastructure-capacity "HCI")”或联系您的 HCI 供应商。 ## LVM 条带化逻辑卷概述 [Red Hat 支持](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/lv_overview "Red Hat support")网站上提供了很好的 Linux LVM 概述,[其他地方,例如这里的面向系统管理员的教程也非常好](https://sysadmincasts.com/episodes/27-lvm-linear-vs-striped-logical-volumes "Striped")。 ## 数据平台存储 IO 了解 InterSystems 数据平台生成的 IO 类型很重要。 [社区中提供了存储 IO 模式](https://community.intersystems.com/post/data-platforms-and-performance-part-6-cach%C3%A9-storage-io-profile "Storage IO")的概述。 ---- # 创建 LVM PE 条带的过程 ## 先决条件和步骤 在我们深入讨论该过程之前,您还应该记住,其他变数也可能影响存储性能。 仅创建 LVM 条带并不能保证实现最佳性能,还必须考虑存储类型,以及整个 IO 路径,包括 IO 队列和队列深度。 本示例适用于 VMware,您还应该阅读 [InterSystems IRIS VMware 最佳实践指南](https://community.intersystems.com/post/intersystems-data-platforms-and-performance-%E2%80%93-part-9-intersystems-iris-vmware-best-practice "VMware best practice guide"),并应用其中的建议。 尤其是存储方面的注意事项,例如跨 PVSCSI 控制器分离存储 IO 类型。 ### 概述 以下示例展示了在 VMware ESXi 和 VSAN 6.7 上运行的 Red Hat Enterprise Linux (RHEL) 7.4 上使用 InterSystems IRIS 或 Caché 的最佳实践。 下文介绍以下步骤: 1. ESXi 配置 2. RHEL 配置 3. Caché/InterSystems IRIS 配置 ---- ## 1. ESXi 配置 ### a) 创建 VMDK 磁盘 必须按照 [InterSystems IRIS VMware 最佳实践指南](https://community.intersystems.com/post/intersystems-data-platforms-and-performance-%E2%80%93-part-9-intersystems-iris-vmware-best-practice "VMware best practice guide")创建磁盘;数据库、日志和 WIJ 在不同的 PVSCI 设备上。 创建的 VMDK 数量取决于您的规模调整要求。 在本示例中,数据库文件系统将由四个 255 GB VMDK 磁盘组成,这些磁盘将一起条带化,为数据库文件系统创建一个 900GB 逻辑磁盘。 #### 步骤: 1. 在添加 VMDK 前关闭虚拟机。 2. 在 vCenter 控制台中创建多个磁盘 (VMDK),每个磁盘为 255GB,单个 LVM 条带中的所有磁盘都必须与同一个 PVSCSI 控制器关联。 3. 启动虚拟机。 在启动过程中,将在操作系统中创建新磁盘,例如 `/dev/sdi` 等。 > __为什么创建多个 255 GB VMDK?__在 vSAN 中,存储组件以 256 GB 区块为单位创建,我们将 VMDK 大小保持在恰好低于 256 GB,是为了强制使组件位于不同的磁盘组上。 从而实施另一个层面的条带化(在我的测试中是这样,但我不保证 vSAN 实际也是如此)。 注意:在创建过程中,vSAN 将磁盘组件分布到所有主机和磁盘组,以确保可用性。 例如,在允许的故障数 (FTT) 设置为 2 的情况下,每个磁盘组件有三个副本,加上两个小的见证组件,全部都在不同的主机上。 如果磁盘组、主机或网络发生故障,应用程序将使用其余磁盘组件继续运行,而不会丢失数据。 我们对这个过程可能多虑了! 在 vSAN 等 HCI 解决方案中,无法控制组成 VMDK 的组件在某个时间点位于哪个物理磁盘上。 事实上,由于维护、重新同步或重建的原因,随着时间的推移,VMDK 可能会移动到不同的磁盘组或主机上。 这是正常的。 ---- ## 2. RHEL 配置 ### a) 确认对于每个磁盘设备,RHEL IO 调度器都为 NOOP。 最佳实践是使用 ESXi 内核的调度器。 有关设置调度器的更多信息,请参见 [Red Hat 知识库文章](https://access.redhat.com/solutions/109223 "Setting noop")。 我们建议在启动时为所有设备设置该选项。 要验证是否已正确设置调度器,可以显示磁盘设备(例如,在本例中为 `/dev/sdi`)的当前设置,如下所示: [root@db1 ~]# cat /sys/block/sdi/queue/scheduler [noop] deadline cfq 您可以看到 noop 已启用,因为它放在方括号中突出显示。 ### b) 创建条带化的 LVM 和 XFS 文件系统 现在,我们准备在 RHEL 中创建 LVM 条带和数据库文件系统。 以下是所涉及步骤的示例,请注意,对于您的环境,需要替换虚构的名称 vgmydb、lvmydb01 和路径 /mydb/db。 #### 步骤 **1.** 使用 `vgcreate` 命令创建带有新磁盘设备的卷组。 vgcreate -s 4M 例如,如果创建磁盘 /dev/sdh、/dev/sdi、/dev/sdj 和 /dev/sdk: vgcreate -s 4M vgmydb /dev/sd[h-k] **2.** 使用 `lvcreate` 命令创建条带化逻辑卷。 建议至少四个磁盘。 从 4MB 条带开始,但是对于非常大的逻辑卷,系统可能会提示您选择更大的大小,如 16M。 lvcreate -n -L -i -I 4MB 例如,要创建带有 4 个条带的 900GB 磁盘,且条带大小为 4 MB: lvcreate -n lvmydb01 -L 900G -i 4 -I 4M vgmydb **3.** 使用 `mkfs` 命令创建数据库文件系统。 mkfs.xfs -K 例如: mkfs.xfs -K /dev/vgmydb/lvmydb01 **4.** 创建文件系统挂载点,例如: mkdir /mydb/db **5.** 编辑 `/etc/fstab` 以添加以下挂载条目并挂载文件系统。 例如: /dev/mapper/vgmydb-lvmydb01 /mydb/db xfs defaults 0 0 **6.** 挂载新的文件系统。 mount /mydb/db ---- ## 3. Caché/InterSystems IRIS 配置 本节我们将配置: - 异步和直接 IO,以实现数据库和 WIJ 的最佳写入性能。 这也为数据库读取操作启用了直接 IO。 > 注意:由于直接 IO 会绕过文件系统缓存,因此在配置直接 IO 后,操作系统文件复制操作(包括 Caché 在线备份)将非常慢。 为提高 **RHEL** 上的 WIJ 的性能并实现最低延迟(SuSE 9 及更高版本不支持),并减少对其他 IO 的影响,我们还将配置: - 将 `rtkaio` 库用于使用 Caché 的 RHEL 系统。 **注意:IRIS 不需要这个库。** > 注:对于 Linux 上版本号以 2017.1.0. 开头的 Caché、Ensemble 和 HealthShare 发行版 (仅当备份或异步镜像成员配置为使用 rtkaio 时),必须应用 [ RJF264,可通过 InterSystems 全球响应中心 (WRC) 的特别分发获取](https://www.intersystems.com/support-learning/support/product-news-alerts/support-alert/alert-linux-defects-can-corrupt-mirror-copies-journal-files/ "RJF264 from WRC")。   #### 步骤 步骤为: 1. 关闭 Caché 2. 编辑 `/cache.cpf` 文件 3. 重启 Caché 在 cache.cpf 文件中,将以下三行添加到 `[config]` 部分的顶部,其他行保持不变,如下例所示: [config] wduseasyncio=1 asyncwij=8 对于 RHEL Caché(不是 IRIS),还要将以下内容添加到 `[config]` 部分: LibPath=/lib64/rtkaio/ 注意:当 Caché 重新启动后,这些行将在 `[config]` 部分中按字母顺序排序。 ---- ## 总结 本帖给出了创建 900GB LVM PE 条带和为 vSAN 上的数据库磁盘创建文件系统的示例。 为了通过 LVM 条带获得最佳性能,您还学习了如何配置 Caché/InterSystems IRI 来为数据库写入和 WiJ 启用异步 IO。