#InterSystems IRIS

0 关注者 · 968 帖子

InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。

文章 he hf · 四月 24, 2023 2m read

SqlDbx是我们常用的数据库查询与操作工具,因其轻量且无须安装而无处不在,然而习惯了在Intersystems的CACHE和ENSEMBLE版本下使用SqlDbx在升级到IRIS版本后却无法使用了,为此进行了一系列尝试,并最终获得成功,形成本文攻略,分享给大家。

1、在SqlDbx的连接登录窗口,从DBMS Type中直接选择 “InterSystems CACHE”连接IRIS会报错,提示“通过IRISconnect失败”,说明“InterSystems CACHE”不再适用于IRIS。

2、考虑IRIS的ODBC支持,为此换一种思路,采用ODBC方式连接,此方式需要在ODBC中建立DSN。

3、从Intersystems官网https://intersystems-community.github.io/iris-driver-distribution/或github网站https://github.com/intersystems-community/iris-driver-distribution/tree/...下载InterSystems IRIS ODBC 32位驱动,注意一定要下载32位驱动(注:SqlDbx现只支持32位的ODBC)。

2
0 1878
文章 Jeff Liu · 二月 5, 2021 5m read

VSCode 是目前很流行的一款免费开发工具,IRIS也支持使用其进行连接和开发,相比Studio 只能在windows 环境使用,Vscode 可以跨平台使用。

我们传统的工具Studio 是连接代码服务器的形式,不能便捷的使用目前流行的有本地代码的版本控制工具(如git),但VSCode可以存在本地代码,并且能方便的使用各类存在本地代码的版本控制工具。

以下的内容会帮助大家来配置使用VSCode连接IRIS 进行开发。

4
3 1589
文章 he hf · 十月 8, 2022 6m read

        安装InterSystems IRIS数据库的ODBC驱动,在Windows系统中配置数据源后,可以使用Microsoft Visual Studio 开发工具 中的服务器资源管理器很方便地连接到InterSystems IRIS数据库服务器,利用数据库连接的可视化视图,可以非常方便快捷地进行连接到InterSystems IRIS数据库的应用开发。本文将展示一个利用以上方式实现的例子,开发工具为Microsoft Visual Studio 2019,开发语言为C#,10分钟快速开发实现一个连接到InterSystems IRIS数据库的C#应用,在本例子中,可以通过选择日期和科室,查询指定日期和科室的就诊日志。

1、在成功安装InterSystems IRIS数据库的ODBC驱动后,从Windows的“控制面板”中选择“管理工具”,在“管理工具”中选择“ODBC数据源”。

2、在ODBC数据源管理的“用户DSN”标签下,选择“添加”,在随后弹出的“创建新数据源”窗口中选择“InterSystems ODBC”,点击“完成”进入下一步。

3、在弹出的“InterSystems ODBC数据源设置”窗口中,为数据源命名,填写连接数据库的信息,访问用户名和密码,点击“测试连接”,成功后点击“OK”保存。

6
4 1539
文章 王喆 👀 · 十一月 17, 2022 5m read

       经过一段时间的学习和使用本文总结了一些使用VsCode开发的使用方法,本文偏向于应用但会对少量的我知晓的原理进行一部分解释。

参考教程链接:https://cn.community.intersystems.com/node/488611

VSCode下载:https://code.visualstudio.com/

  • 使用VSCode开发的优劣:

1 优势:

  1. 跨平台(Windows|MAC|Linux)开发调试远程服务端代码,而且可以快速导出COS代码(M语言也可以)。
  2. SQL辅助查询数据
  3. 快捷的代码调试方式,一种是直接在VSCode中调试,另一种是快速复制类名和方法名在Terminal中调试。
  4. 代码智能联想补全,类似其它语言,输入开头的前几个字符可以联想后面的。
  5. 快速跳转到方法定义(ctrl+鼠标左键 | F12)
  6. 主题图标多样化,可以使用默认的黑色,当然也可以使用和studio一样的样式,链接:https://cn.community.intersystems.com/node/516996

2 劣势:

  1. 无法导入导出XML文件
  2. 缺少一些Studio的常用功能:
    1. SOAP向导
    2. Java网关
    3. DT转换拖拽编写
    4. BP流程拖拽编写
  • 安装步骤

1官网安装Visual Studio Code编辑器

 https://code.visualstudio.com/Download

6
2 1420
文章 Qiao Peng · 三月 29, 2021 4m read

InterSystems IRIS/Caché的CDC

InterSystems IRIS/Caché未提供开箱即用的变更数据捕获(CDC)工具,而且由于其多模型建模能力和底层的多维存储模型,相对于关系型数据库的单一模型,针对于SQL的CDC在InterSystems IRIS/Caché上会更复杂一些。例如通过Journal日志记录的是底层持久化多维数组的数据变更,而不是SQL table的变更。

通常,在应用层面实现变更数据捕获是更灵活和简单的方式,例如通过设置触发器、类的DSTIME参数。但如果无法在应用层做CDC,可以考虑使用InterSystems IRIS/Caché的Journal和强大的开发能力获取数据变更。

这里介绍使用InterSystems IRIS/Caché的Reporting类型的异步镜像成员获取数据变更。

2
1 1372
文章 Frank Ma · 三月 2, 2022 2m read

如果你的嵌入式Python代码调用了 tkinter library库(它被很多图形制作库使用,包括matplotlib),你可能会得到这个错误:

<THROW> *%Exception.PythonException <CLASS DOES NOT EXIST> 230 ^^0^DO ##CLASS(User.Test).Test() 
<class '_tkinter.TclError'>: Can't find a usable init.tcl in the following directories:

c:/intersystems/irispy/lib/python/lib/tcl8.6
c:/intersystems/irispy/lib/tcl8.6
c:/intersystems/lib/tcl8.6
c:/intersystems/irispy/library
c:/intersystems/library
c:/intersystems/tcl8.6.9/library
c:/tcl8.6.9/library

下面是一个触发这个错误的代码样本:

Class User.Test
{

/// do ##class(User.Test).Test()
ClassMethod Test() [ Language = python ]
{
import matplotlib.pyplot as plt
import numpy as np

# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)

ax.set(xlabel='time (s)', ylabel='voltage (mV)')
ax.grid()

fig.savefig("test.png")
}

}
0
0 1274
文章 Michael Lei · 七月 6, 2021 16m read

供应商或内部团队要求说明如何为 VMware vSphere 上运行的_大型生产数据库_进行 CPU 容量规划。

总的来说,在调整大型生产数据库的 CPU 规模时,有几个简单的最佳做法可以遵循:

  • 为每个物理 CPU 核心规划一个 vCPU。
  • 考虑 NUMA 并按理想情况调整虚拟机规模,以使 CPU 和内存对于 NUMA 节点是本地的。
  • 合理调整虚拟机规模。 仅在需要时才添加 vCPU。

通常,这会引出几个常见问题:

  • 由于使用超线程技术,VMware 创建的虚拟机的 CPU 数量可以是物理 CPU 数量的两倍。 那不就是双倍容量吗? 创建的虚拟机不应该有尽可能多的 CPU 吗?
  • 什么是 NUMA 节点? 我应该在意 NUMA 吗?
  • 虚拟机应该合理调整规模,但我如何知道什么时候合理?

我以下面的示例回答这些问题。 但也要记住,最佳做法并不是一成不变的。 有时需要做出妥协。 例如,大型生产数据库虚拟机很可能不适合 NUMA 节点,但我们会看到,其实是没问题的。 最佳做法是指必须针对应用程序和环境进行评估和验证的准则。

0
0 1254
文章 聆严 周 · 九月 27, 2022 6m read

背景

Cache起源于没有SQL的1970时代,当时各种高级计算机语言才刚刚诞生,其中M语言较为独特,它的诞生就是为了在没有操作系统的机器上,进行数据存储。别忘了,Unix在1971年才发布。M语言别具一格地采用了Global多维数组,统一了复杂的内存操作和文件读写,使之成为了1970年代数据库的事实标准,特别是在医疗行业。而后Intersystems在1978年接过M语言的旗帜,在M语言上添加了SQL兼容层和ObjectScript层,前者顺应了时代的潮流,后者不仅为M语言提供了强大的OOP和各种便捷的语法糖,还让数据能以对象形式进行访问,让数据和代码更加紧密。

本文将简述多维数组、SQL、对象这3种数据操作方式,提供实例代码片段,并在运行效率、开发效率、管理效率、实用性方面讨论它们的优缺点。 为方便讨论,以学校与学生为例。对每种操作方法,都列举3种典型的用例,分别为,访问某特定ID的学生(即数据库ID索引)、访问某特定studentID的学生(即遍历唯一索引)、和访问某学校的所有人(即遍历非唯一索引)。

3
2 1242
文章 Jeff Liu · 一月 7, 2021 6m read

这次我想谈一谈不专门针对 InterSystems IRIS 的东西,不过如果你想使用 Docker,并且你工作环境是安装了 Windows 10 专业版或企业版的 PC 或笔记本电脑,那么我认为这个很重要。

你可能知道,容器技术基本上来自于 Linux 世界,如今在 Linux 主机上发挥出最大潜能。 那些平常使用 Windows 的人会看到,Microsoft 和 Docker 在过去的几年做出了重要的努力,让我们可以在 Windows 系统上以非常简单的方式运行基于 Linux 映像的容器... 但是生产系统不支持这种方式,这是个大问题,如果我们要将持久性数据保留在主机系统中的容器之外,这样做非常不可靠... 这主要是由于 Windows 和 Linux 文件系统之间的巨大差异导致的。 最终,_Docker for Windows 自身使用了一个小型 linux 虚拟机 (MobiLinux) 来运行容器... 此操作对于 Windows 用户是透明的,而且效果完美,只要你不需要你的数据库比容器存活的时间更长...

0
0 1216
文章 Jeff Liu · 一月 7, 2021 28m read

Google Cloud Platform (GCP) 为基础架构即服务 (IaaS) 提供功能丰富的环境,其作为云提供完备的功能,支持所有的 InterSystems 产品,包括最新的 InterSystems IRIS 数据平台。 与任何平台或部署模型一样,必须留心以确保考虑到环境的各个方面,例如性能、可用性、操作和管理程序。 本文将详细阐述所有这些方面。

0
0 1215
文章 Hao Ma · 一月 30, 2021 6m read

本文介绍InterSystems Web Gateway的安装和配置。

在2018以前的ISC产品中, InterSystems Web Gateway被称为CSP Gateway。, CSP是Cache'的页面技术。InterSystems的产品页面,Web服务等大多是CSP写成的。IRIS发布后CSP Gateway改名成Web Gateway, 但内部的配置文件,说明等等还到处可见CSP Gateway的叫法。在本文里不同的地方有这两个说法别奇怪,他们是一个东西。 IRIS通过它和外部Web服务器连接。 本文的内容适用任何ISC产品的部署,包括页面的选项Cache'. IRIS,HealthConnect, Ensemble等等。它的作用和表现是一样的。 无论您使用的是Cache',IRIS , HealthConnect还是HealthShare, 只有在生产环境中使用HTTP请求,基本上都需要使用Web Gateway。

如果需要更详细的内容,请参考在线文档:InterSystems Web Gateway

什么是Web Gateway

CSP是Cache' Server Page的缩写,如同JSP(Java Server Page)是Java的前端技术, CSP是InterSystems的前端技术。

0
3 1200
文章 Qiao Peng · 十二月 18, 2021 12m read

应用集成技术是市场上被广泛使用的,也是充斥着术语和概念的一个技术领域。集成平台、消息引擎、消息中间件、集成引擎、集成中间件、企业服务总线(ESB)、API网关、API管理… 很多概念与名词。到底它们是什么意思?有什么区别?哪种技术适合解决哪种集成问题?

业务集成的需求和技术的演进是紧随业务系统的软件架构发展而发展的。通过小结软件架构的发展,我们更容易梳理业务集成技术的演进、更容易看清楚各种集成架构的优势和未来发展方向。

0
0 1167
文章 Hao Ma · 四月 19, 2022 26m read

本文档只是给您一个大致的概念,方便您了解IRIS安装的方方面面。并非官方安装手册或者安装建议。生产环境的安装请仔细研究并参照IRIS官方的安装文档

操作系统的选择

IRIS支持多种Linux系统。详细的列表请参见各个版本的支持列表,比如这个是最新的2021IRIS的支持列表。需要注意的是, CentOS只支持作为测试系统, 并不支持生产系统的安装。

官方文档是以Redhat为主介绍的IRIS安装, 这是IRIS在生产环境中最常用的Linux系统之一。另一个Ubantu, InterSystems提供的docker版本是安装在Ubantu上的。

我自己测试的时候喜欢使用CentOS, 所以后面有具体安装步骤中,使用的CentOS上的记录。

服务器的配置

对于生产系统,安装前需要一个硬件配置方案,这个方案通常是您的项目的实施部门根据用户需求提供的。

对于测试系统,只有一个最小的磁盘的要求:1.5G。无论是实体服务器, 虚拟服务器,或者docker container,根据您要测试的内容, 一切以方便为准。如果不做性能测试,我个人经常使用的CentOS虚拟机是2核CPU, 2G或4G内存,没有运行不流畅的问题。

磁盘分区

标准的Linux磁盘分区并不适合IRIS的生产运行。哪怕要创建一个尽量接近生产的测试环境,建议您安装软件前要有一个完整的磁盘分区规划。

0
1 1126
文章 Michael Lei · 四月 24, 2021 6m read

欢迎大家将相关的经验在这个讨论区分享。

板块 文章列表
征文大赛作品集锦

2022年首届InterSystems 技术征文大赛集锦

2023年第二届InterSystems 技术征文大赛集锦

官方文档

我司即将推出中文官方文档门户,欢迎大家把需要的官方文档发在评论区,我们会优先发布。谢谢!

1
3 1103
文章 聆严 周 · 九月 30, 2022 11m read

使用Prometheus监控Cache集群

Executive Summary

生产级别的Cache集群往往由多个Cache实例组成,而Cache自带的管理界面不能满足对整个集群的监控,因此在实际使用中,往往需要投入人力对实例进行性能巡检。即便如此,这种巡检模式实时性低、告警的漏报错报率高、对既往数据追溯能力差。针对Cache/IRIS集群管理的这一缺憾,本文提出以Prometheus监控Cache集群的方案,最终实现了对集群全实例监控指标的自动化采集,以及准实时监控数据展示和告警提示。

监控大屏3.主机实例监控

Prometheus及Grafana简介

Prometheus是一个开源的监控收集框架。它内置了一个数据收集服务、一个时序数据库、和一个Web UI管理界面。 Prometheus采用PULL模式拉取监控数据,使得它在众多监控解决方案中脱颖而出。这种PULL模式只需被监控对象暴露出符合Prometheus要求的接口即可,而无需配置监控服务器地址,也无需管理定时任务,对应用程序的侵入性极小。 Prometheus也有一个健全的生态。它提供各种管理接口API,如自动服务发现、告警、查询等接口,和已有开源软件互操作性好,也方便接入机构内部系统。其中Grafana是最重要的生态伙伴,它是一个开源的数据可视化工具,支持动态的更改数据源、灵活地配置报表、编写Prometheus查询语句、定义告警等。

8
0 1100
文章 Qiao Peng · 三月 29, 2021 8m read

一些熟悉SQL的用户希望用SQL表的方式获取InterSystems IRIS/Caché的变更数据。知道了Global和SQL表的对应关系,就可以知道是哪一张SQL表数据变化了,甚至通过SQL查询获取变更的数据。
下面介绍如何实现这种方式,和注意事项。

获取Global和SQL表的对应关系

通常InterSystems IRIS/Caché的持久化的对象模型(类)和SQL表之间有一一对应的关系;而持久化的对象模型和Global之间也有一一对应关系。建立Global和SQL表的对应关系,通常可以使用以下的SQL查询特定SQL schema下所有表对应的Global:

SELECT CC.SqlQualifiedNameQ SQLTable, CS.parent Class, CS.DataLocation 
FROM %Dictionary.CompiledStorage CS, %Dictionary.CompiledClass CC
WHERE CS.parent = CC.ID 
AND CC.SqlSchemaName= <schemaname>

其中<schemaname>是SQL的Schema名称; 返回字段SQLTable是SQL表名、Class是对象类名、DataLocation是保存数据的Global名称。

0
1 1086
文章 Qiao Peng · 三月 17, 2024 12m read

近来生成式大语言模型掀起了革命性的AI浪潮。生成式大语言模型是什么原理?我们怎么在业务中利用它?

一. 大语言模型的工作原理

生成式大语言模型是生成式人工智能底层的机器学习模型,是一种用于自然语言处理的深度学习模型。

人工智能、机器学习与大语言模型的关系如下图:

1.1 为什么我们称之为大语言模型?

大语言模型的“大”体现在多个方面:

  • 首先,模型尺寸巨大,尤其是它的参数数量。例如GPT3有1750亿的参数;
  • 其次,大语言模型是在巨大的算力基础上,基于海量语料进行训练的。例如Meta的Llama 2 的训练数据达到了两万亿个词(token);
  • 再次,大语言模型是为解决通用问题,而非特定问题构建的。

1.2 大语言模型是怎么训练的?

大语言模型是事先训练好的模型。

训练时,大语言模型基于各种语料 - 人类知识库(例如Wikipedia)、公共数据集、网络爬虫数据,让模型进行“填空”练习,并经过人工编辑和“校对” 训练出来的,需要成千上万的GPU建立集群进行训练。根据Meta的信息,其Llama 2 的训练数据达到了两万亿个token,上下文长度为4096,对话上也是使用100万人类标记的数据微调。

运行时,训练产生的大语言模型可以在小的多的硬件上运行。

1.3 大语言模型的机器学习算法

冰冻三尺,非一日之寒;滴水穿石,非一日之功。生成式大语言模型能够落地经历了相当漫长的技术积累与进步。

0
0 1023
文章 Qiao Peng · 六月 8, 2022 7m read

01

智慧医院的本质

什么是智慧医院?

国家卫健委提出建设智慧医院的目的是要不断增强人民群众的获得感,要求医院的流程更便捷、服务更高效、管理更精细,主要聚焦于三大领域,面向医务人员的智慧医疗、面向患者的智慧服务以及面向管理的智慧管理。

如果从技术角度进行高度抽象,我们把智慧医院的本质浓缩为一点,就是为智慧的科学决策以及基于科学决策的业务执行闭环。在现实世界里,我们要从真实业务(调查研究)中获得决策依据,同时还要有决策的方法,把决策应用在现实世界上,来影响和改变现实世界。

02

科学决策的三个阶段

第一个时代是人工决策时代。我们医疗行业就是望闻问切,我们能拿到的数据非常有限,所以属于一个数据饥渴的时代。我们通过有限的数据来进行决策,非常容易落入我们经常批判的“三拍”型决策,“拍脑袋决策、拍胸脯保证、拍屁股走人”。显然这个决策效率不是很高。

人工决策时代:“数据稀缺”时代的决策

第二个时代是信息化时代。我们有了很多数据,能够把部分现实世界来进行数字化表达,我们也通过信息辅助人工决策进行智能决策,例如通过药品知识库推动合理用药,通过人工智辅助影像判断等等。

然而我们依旧面临着很多数据问题。首先是数据还不够完整,经常无法获取需要的数据,数据模型也不能完全表达医院的实际业务;其次,我们也还是会遇到很多数据来源问题(我们常常不知道该信任哪一份数据)、数据的关联性、实时性等问题。

0
0 975
文章 Michael Lei · 九月 15, 2022 5m read

Spring Boot 是最常用来创建 REST API 和微服务的 Java 框架。 它可用于部署 Web 应用程序、可执行 Web 应用程序或桌面自包含应用程序,其中应用程序和其他依赖项打包在一起。 Spring Boot 允许执行许多功能,请参见:

注:要了解有关 SpringBoot 的信息,请参见官方网站 - https://spring.io/quickstart

要创建具有一个或多个微服务的 Web api 应用程序,可以使用 Spring IDE for Eclipse/VSCode,并使用向导配置上述将在应用程序中使用的技术,请参见:

您可以选择技术并创建项目。 所有技术都将通过 maven 导入。 它就像一个可视化的 zpm。

所创建的项目有一个类用于为应用程序提供支持,其中包含所有所需内容(Web 和应用程序服务器,以及所有依赖项、微服务概念)。

此项目的完整源代码在以下 open exchange 项目中: https://openexchange.intersystems.com/package/springboot-iris-crud

首先要配置 IRIS JDBC 驱动程序和 IRIS Hibernate 支持,为此,请将 jar 文件复制到 resources 文件夹,请参见:

打开 pom.

0
0 949
问题 liu yangyang · 三月 29, 2022

主要问题: 默认安装后,有没有默认用户名,密码?远程jdbc连接报错,麻烦解答一下,谢谢 [InterSystems IRIS JDBC] Communication link failure: Access Denied [08S01][461] Access Denied

创建用户: addgroup iris useradd -g iris -d "/home/iris" -m -s "/bin/bash" iris passwd iris

安装过程: root@baec-ThinkPad-E480:/data/IRIS_Community-2021.2.0.651.0-lnxubuntu1804x64# ./irisinstall

Your system type is 'Ubuntu LTS (x64)'.

Enter instance name : IRIS

Enter a destination directory for the new instance. Directory: /data

Select installation type.

1
0 940
文章 姚 鑫 · 三月 30, 2021 9m read

第十四章 使用SQL Shell界面(一)

执行SQL的其他方式

可以使用$SYSTEM.SQL.Execute() 方法从Terminal命令行执行一行SQL代码,而无需调用SQL Shell。以下示例显示如何在终端提示下使用此方法:

DHC-APP>SET result=$SYSTEM.SQL.Execute("SELECT TOP 5 name,dob,ssn FROM Sample.Person")
 
DHC-APP>DO result.%Display()
Name    DOB     SSN
yaoxin  54536   111-11-1117
xiaoli          111-11-1111
姚鑫    63189   111-11-1112
姚鑫    63189   111-11-1113
姚鑫    50066   111-11-1114
 
5 Rows(s) Affected

如果SQL语句包含错误,则Execute()方法成功完成;否则,该方法无效。 %Display()方法返回错误信息,例如:

USER>DO result.%Display()

[SQLCODE: <-29>:<Field not found in the applicable tables>]
[%msg: < Field 'GAME' not found in the applicable tables^ SELECT TOP ? game ,>]
0 Rows Affected
USER>
0
0 937
文章 Hao Ma · 四月 18, 2021 5m read

IRIS相比Caché在部署上的一个进步是支持docker。即便不是云部署, 使用docker也带来非常多的便利。 尤其是在开发测试环节,由于docker的使用更便捷,除非要模拟客户的环境或者做规定的性能测试,我在测试中基本已经不再使用本机的实例或者虚机。IRIS的联机文档有详细的IRIS docker安装使用指导,本文只是一个简单的,快速上手的在测试环境安装IRIS docker的简单步骤,尤其适合初学者。

注意Windows上docker可能会遇到这样那样的问题,因此通常还是推荐在Linux或者Mac OS上使用。正式的生产环境的IRIS docker container也是不支持Windows系统的。

Referrence

##1. 在操作系统上安装Docker环境

Docker官方文档的安装步骤非常清晰,我按照上面的步骤在MAC和CentOS上安装docker从来没有出现过问题。

0
1 919
文章 姚 鑫 · 四月 6, 2021 13m read

第十八章 定义和使用存储过程

本章介绍如何在IntersystemsIRIS®数据平台上定义和使用Intersystems SQL中的存储过程。它讨论了以下内容:

  • 存储过程类型的概述
  • 如何定义存储过程
  • 如何使用存储过程如
  • 何列出存储过程及其参数。

概述

SQL例程是可执行的代码单元,可以由SQL查询处理器调用。 SQL例程有两种类型:功能和存储过程。从支持FunctionName()语法的任何SQL语句中调用函数。存储过程只能由CALL语句调用。函数接受某些输入定向参数并返回单个结果值。存储过程接受某些输入,输入输出和输出参数。存储过程可以是用户定义的函数,返回单个值。 CALL语句也可以调用函数。

与大多数关系数据库系统一样,Intersystems Iris允许创建SQL存储过程。存储过程(SP)提供存储在数据库中的可调用可调用的程序,并且可以在SQL上下文中调用(例如,通过使用呼叫语句或通过ODBC或JDBC)。

与关系数据库不同,Intersystems Iris使可以将存储过程定义为类的方法。实际上,存储过程只不过是SQL可用的类方法。在存储过程中,可以使用基于对象的全系列Intersystems的功能。

  • 可以通过查询数据库将存储过程定义为返回单个结果集数据集的查询。
  • 可以将存储过程定义为可以用作用户定义函数的函数过程,返回单个值。
0
0 875
文章 Michael Lei · 十一月 25, 2021 8m read

关于 "智慧医院 "的真正内涵,有很多误解在流传。术语 "智慧Smart "已经成为 "自动化 " "数字设备 "的同义词。然而,事实是,增加技术、设备和传感器并不一定能使建筑或者医院变得'智慧'。而且,在某些情况下,数字创新被强加于医院,而没有真正考虑到其效果。

这种情况导致了一系列的复杂性和矛盾。例如,一方面,人们对医院采用数字技术的期望越来越高,但另一方面,人们越来越担心数字医疗解决方案正在创造更多离散的、孤岛的生态系统。同样,尽管医院面临着实现实时医疗系统的更大压力,但往往受制于其运营模式的孤岛性质或围绕各种医疗信息系统的互操作性问题。

这些相互冲突的压力表明,需要一种更协同、更集成、更综合、更全面的数字化转型方法--一种将系统整合在一起并从各个角度考虑影响的方法。

智慧医院数字孪生的出现,证明了这一技术为解决这些日益严峻的挑战提供了可行的手段。

在过去的几年里,数字孪生已经有了很大的发展,成为一项值得期待的技术。然而,尽管数字孪生被炒得沸沸扬扬,但对于数字孪生是什么(不是什么)以及它是否能实现其承诺,仍然存在相当大的困惑。像许多新技术一样,数字孪生正在 "幻觉破灭 "中挣扎并且在某些情况下被错误地描述。

在本文中,我们将通过回答这六个关键问题来正面解决这种困惑。

1
0 872
文章 Michael Lei · 五月 12, 2021 17m read

在本帖中,我将展示使用_外部备份_来备份 Caché 的策略,以及与基于快照的解决方案集成的示例。 如今,大多数解决方案部署在基于 VMware 的 Linux 上,因此许多帖子都以展示解决方案如何集成 VMware 快照技术为例。

Caché 备份 - 包括电池?

Caché 安装后即包含 Caché 在线备份,可提供不间断的 Caché 数据库备份。 但随着系统规模的扩大,您应该考虑更高效的备份解决方案。 集成了快照技术的_外部备份_是推荐的系统(包括 Caché 数据库)备份解决方案。

外部备份有特殊注意事项吗?

外部备份的在线文档包含了全部详细信息。 一个关键考虑事项是:

“为确保快照的完整性,Caché 提供了在创建快照时冻结数据库写操作的方法。 在创建快照期间,只冻结对数据库文件的物理写入,从而允许用户进程继续在内存中不间断地执行更新。”

还需要注意的是,虚拟化系统上的部分快照过程会导致正在备份的虚拟机短暂暂停,这段时间通常称为关闭时间。 该时间通常不到一秒,因此不会被用户注意到,也不会影响系统运行,但在某些情况下,关闭时间可能较长。 如果关闭时间长于 Caché 数据库镜像的 QoS 超时时间,那么备份节点将认为主节点出现故障,并将进行故障转移。 在本帖的后面部分,我将说明在需要对镜像 QoS 超时时间进行更改时如何查看关闭时间。


0
0 844
文章 Jingwei Wang · 十一月 2, 2021 4m read

InterSystems 技术概要

技术概要(First Look)是为用户提供InterSystems IRIS的关键技术和选项的实践经验的简短文档,其中涉及到的许多技术都可以在免费的评估实例上体验所有这些技术都可以在已授权的InterSystems IRIS实例上完成。

部署

技术概要:InterSystems 云管理器(First Look: InterSystems Cloud Manager)

介绍InterSystems 云管理器,为您展示如何利用它在公有云上部署InterSystems产品。

技术概要: 容器中的InterSystems 产品(First Look: InterSystems Products in Containers)

介绍Docker容器和在容器中运行InterSystems产品。

InterSystems IRIS 基础:安装(InterSystems IRIS Basics: Installation

指导用户完成InterSystems IRIS的单实例安装,以便与其它技术概要(First Looks)一起使用。

架构

技术概要:使用InterSystems分布式缓存扩展系统的用户容量

介绍了使用由ECP支持的分布式缓存来扩展用户容量。

1
1 825
文章 Hao Ma · 一月 4, 2023 4m read

本文章是一个系列,主要目的是介绍给IRIS,Caché的终端用户如何方便的监控您的系统。

InterSystems系统的监控很难吗?需要学习很多技术吗? 我的答案是还好。

关于Caché和IRIS监控,无论是那部分内容,在InterSystems的在线文档或者开发者论坛,其实都能找到相关的说明和方案。但问题是太多,太杂乱,没有一个“操作维护手册”的东西。结果是,如果您是一个新手的InterSystems产品的维护工程师或者管理员,您要花很多的时间在大量的文档里找答案。

还有一个问题是文档中很多章节的内容又太深,包含了一些开发人员才关心的内容,这是Caché或者IRIS的特性造成的,因为它首先是一个开发平台。结果是,对于管理员,很多文档的很不友好。

因此,我要写的这个文章的的目的是这样的:

  • 简单。只介绍管理维护人员需要的内容。只介绍和监控相关的内容。其他比如备份恢复,扩容,修改配置等等基本不涉及。

  • 易学。文章的期待读者是系统管理员,因此不需要您有编程能力或者InterSystems编程语言的基础。我系统对您的每个日常工作和关注的主题,给出最容易实现的操作步骤。

  • 对读者的要求低,您只需要了解基本的Caché操作,包括

  • Caché的用户维护界面

    • 操作终端(Terminal)的操作
  • 基本的Caché命令的格式

让我们进入主题。有几个要点要先交代一下。

0
0 815
文章 Lele Yang · 三月 31, 2023 4m read

《WebGateway系列(4): 配置HTTPS访问IRIS的Web服务》中介绍了在Web服务器中配置SSL/TLS以实现从客户端浏览器到Web服务器之间的安全连接,从Web服务器到IRIS之间是否也可以通过配置SSL/TLS建立起安全连接呢?尤其是在Web服务器与IRIS没有安装在同一台Server上的情况下,这段连接的安全性也是需要考虑的。答案是肯定的,接下来我们就来介绍下配置Web Gateway使用SSL/TLS连接到IRIS的基本步骤。

1.首先,我们先准备一下所需要的证书。通讯的双方为Web Gateway 和 IRIS Super Server, 双方都需要准备好各自的证书和key。IRIS自带的Public Key Infrastructure(PKI)功能内置了OpenSSL,可以用来生成服务器端及客户端的证书和key。在使用此功能时,IRIS可以同时作为CA Server和CA Client,作为CA Server时可以生成自签名的证书,可以批准CA Client的证书申请并将证书下发给CA Client。

1)配置本地证书颁发机构服务器,生成sever端的证书和key。

2)配置本地证书颁发机构客户端,如下

3)将证书签名请求提交到证书颁发机构服务器

4)进程未决证书签名请求

发放证书。

至此,Client以及Server端证书和key都已准备完成。

1
0 813