本文介绍了 InterSystems 客户围绕 SDDC 和 HCI 解决方案的注意事项。

采用软件定义数据中心 (SDDC) 和超融合基础架构 (HCI) 解决方案的 InterSystems 客户需要重点关注的事项

越来越多的 IT 组织正在探究使用SDDC 和 HCI 解决方案的可行性。 这些解决方案看上去很有吸引力,其市场定位为跨异构数据中心和云基础设施可以使得 IT 管理更容易、投入的成本花费更少。 对于 IT 组织来说,潜在的好处是巨大的,许多 InterSystems 客户正在拥抱 SDDC、HCI 或两者兼有。

如果您正在考虑 SDDC 或 HCI 解决方案,请联系您的销售客户经理或销售工程师,安排与技术架构师的通话。 这对于确保成功非常重要。

00
0 0 28
文章
姚 鑫 · 三月 4, 2021 阅读大约需 11 分钟
第三章 SQL语言元素(二)

第三章 SQL语言元素(二)

算术运算符和函数

InterSystems SQL支持以下算术运算符:

  • + 加法操作符。
    例如,17+7 = 24

  • 减法运算符。
    例如,17-7等于10
    注意,这些字符中的一对是InterSystems SQL注释指示器。
    因此,要指定两个或多个减法操作符或负号,必须使用空格或圆括号。
    例如,17- -7或17-(-7)等于24

10
0 5 28
文章
Nicky Zhu · 一月 8, 2021 阅读大约需 3 分钟
InterSystems 数据平台容量计划和性能系列索引

索引

下文按顺序列出了数据平台上容量计划和性能系列中的所有帖子。 也列出了我的其他帖子。 我将随着该系列中新帖子的增加进行更新。


容量计划和性能系列

通常,每个帖子的内容都建立在上一个帖子的基础上,但您也可以直接浏览感兴趣的主题。

00
0 0 24
文章
Peng Qiao · 一月 8, 2021 阅读大约需 9 分钟
InterSystems IRIS 和 Caché 中的多模型数据并行处理

众所周知,InterSystems IRIS 提供了很多的工具来提升应用系统可伸缩性。尤其在提升数据并行处理能力方面,InterSystems 做了很多努力,例如在 SQL 查询中使用并行处理,以及在 IRIS中引入最具吸引力的特征:分片(sharding)。然而,许多成熟的开发成果最初是在 Caché中完成的,而且已经迁移到 IRIS 中。这些成熟的开发成果大都使用 DBMS(数据库管理系统)的多模型功能,实现在单独的数据库中共存不同的数据模型。例如, HIS qMS 数据库同时包含语义关系(电子病历)、传统关系(与 PACS 的交互)和层次数据模型(实验室数据以及与其他系统的集成)。这些数据模型大多是通过 SP.ARM 的 qWORD 工具(一种直接访问 Global的小型数据库管理系统)实现的。遗憾的是,由于查询未使用 IRIS SQL,无法利用并行查询处理的新功能进行扩展。

而且,随着数据库规模的不断增长,大型关系型数据库所固有的大多数问题开始出现在非关系型数据库中。这就是我们关注可用于扩展的并行数据处理技术的一个主要原因。

在本文中,我将围绕多年来在解决任务时用到的并行数据处理展开多方位讨论,而这些是我在大数据问题探讨中很少提到的。我将重点讨论数据库的技术改造,或者更确切地说,是数据库转换技术。

00
0 0 22
文章
Louis Lu · 一月 7, 2021 阅读大约需 4 分钟
创建“虚拟”的SOAP Web 服务

在 Caché 中处理 SOAP 请求时,有时需要通过直接访问(有时是编辑)所发送的 XML(即 SOAP 请求和随后的 SOAP 响应)来调试错误。 如果要调试 Caché Web 服务,使用 SoapUI (https://www.soapui.org/) 之类的工具手动创建和控制 SOAP 请求通常很有用,这样可以很容易地在 Caché Web 服务上看到调整的效果。

但是如果已经有 Web 服务(可能不是 Caché),并且想要调试相关的 Caché Web 客户端该怎么办? 您可能已将 SOAP 响应 XML 保存在文件中(例如 Caché SOAP 日志),您需要一个“虚拟”Web 服务将其发送到 Caché Web 客户端,就像实际的 Web 服务一样操作。

由于我经常在技术支持的过程中需要调试客户的 Caché Web 客户端,我创建了这样一个“虚拟”的Web 服务 – 见下文:

00
0 0 21
文章
姚 鑫 · 二月 1, 2021 阅读大约需 2 分钟
第二十一章 Caché 变量大全 $USERNAME 变量

第二十一章 Caché 变量大全 $USERNAME 变量

包含当前进程的用户名。

大纲

$USERNAME

描述

$USERNAME包含当前进程的用户名。可以采用以下两种形式之一:

  • 当前用户的名称;例如:Mary。如果不允许多个安全域,则返回此值。
  • 当前用户的名称和系统地址;例如:Mary@jupiter。如果允许多个安全域,则返回此值。

要允许多个安全域,请转到管理门户,选择系统管理、安全、系统安全、系统范围安全参数。选中允许多个安全域复选框。对此设置的更改将应用于新调用的进程;更改它不会影响当前进程返回的值。

不能使用set命令或new命令修改此值。但是,新的$ROLES还会堆叠当前的$username值。

20
0 0 20
文章
Hao Ma · 一月 10, 2021 阅读大约需 15 分钟
APM – 监控 SQL 查询性能

自 Caché 2017 以后,SQL 引擎包含了一些新的统计信息。 这些统计信息记录了执行查询的次数以及运行查询所花费的时间。

对于想要对包含许多 SQL 语句的应用程序的性能进行监控和尝试优化的人来说,这是一座宝库,但访问数据并不像一些人希望的那么容易。

00
0 0 19

本文提供了一个参考架构,作为示例说明基于 InterSystems Technologies(适用于 CachéEnsembleHealthShareTrakCare 以及相关的嵌入式技术,例如 DeepSeeiKnowZen Zen Mojo)提供的强大性能和高可用性应用。
Azure 有两种用于创建和管理资源的不同部署模型:Azure Classic Azure Resource Manager 本文中的详细信息基于 Azure Resource Manager (ARM) 模型。

00
0 0 19
问题
haibao yun · 二月 4, 2021
DynamicArray 循环报错
ClassMethod TestArr()
{
    s arrRow = [1,2,3,4,5,6,7]
    s size = arrRow.%Size() - 1
    for i = 0 : 1 : size {
        s ii = (size / size) * i // 有size运算, 就报错
        w arrRow.%Get(ii), !
    }
    q ""
}

如上,cache循环中有 size 就报错, iris不报😂

00
0 1 18
文章
Nicky Zhu · 一月 10, 2021 阅读大约需 8 分钟
增强InterSystems IRIS DBMS的安全性

当您首次使用InterSystems IRIS时,通常只需安装最低安全级别的系统。您输入密码的次数会比较少,这样有利于快速了解和操作开发服务和Web应用程序。而且,最低的安全性有时更便于部署开发项目或解决方案。

然而,有时需要将项目移出开发环境,迁移到一个可能很不友好的互联网环境中。在部署到生产环境之前,需要使用最大的安全设置(即,完全锁定)对其进行测试。这就是我们在本文中将要讨论的内容。

如果想更全面地了解InterSystems Caché、Ensemble和IRIS中的DBMS安全性问题,请阅读我的另一篇文章《在生产环境中安装InterSystems Caché DBMS的相关建议》。

InterSystems IRIS中安全系统的设计概念是针对不同的类别(用户、角色、服务、资源、特权和应用程序)应用不同的安全设置。

image
可以为用户分配角色。用户和角色可以对资源(数据库、服务和应用程序)拥有不同的读、写和使用权限。用户和角色还可以对数据库中的SQL表拥有SQL权限。

00
0 0 18

 

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

获取Global和SQL表的对应关系

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

00
0 0 18
文章
姚 鑫 · 二月 3, 2021 阅读大约需 2 分钟
第二十三章 Caché 变量大全 $Y 变量

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

包含光标的当前垂直位置。

大纲

$Y

描述

$Y包含光标的当前垂直位置。当字符写入设备时,Caché会更新$Y以反映垂直光标位置。

输出的每个换行符(换行符)(ASCII 10)将$Y递增1。换页符(ASCII 12)将$Y重置为0。

$Y是16位无符号整数。当其值达到65536时,$Y换行为0。换句话说,如果$Y为65535,则下一个输出字符将其重置为0。

00
0 0 17
文章
Louis Lu · 一月 7, 2021 阅读大约需 2 分钟
RHEL V7.2 上的 Caché 进程故障

RHEL V7.2 上的 Caché 进程故障

InterSystems WRC 处理了几个有关进程错误引发的问题,这些问题可以归因于 Red Hat Linux 最近的一次更新。

RHEL V7.2 (systemd-219-19.el7.x86_64) 中实现的一个新功能可能导致操作系统 IPC(进程间通信)信号量在 非系统用户注销时被解除分配(系统用户,即 UID 编号小于 1000 的用户除外)。

00
0 0 17
文章
Peng Qiao · 一月 5, 2021 阅读大约需 4 分钟
增强型日志监视器

各位开发者们大家好!

 

此前,我向各位介绍了一个非常好用的运行分析监控面板,它能使消息处理过程中的关键指标可视化,例如入站/出站消息的数量和平均处理时间等。  

 

现在,我想用一项许多人已熟悉的工作流程,来展示一个增强型日志监视器——将警告信息作为Production中的消息来处理。我们可以通过创建路由规则来实现对告警消息的过滤和路由,并运用预先构建的组件(例如电子邮件适配器等)来发送粒度级别的通知。  

 

如你所知,监视和管理警告信息是确保任何应用程序平稳运行的关键。对诸如HealthShare和IRIS医疗版这样支撑医疗系统运转的一级应用程序和集成引擎来说对告警信息的处理更显得尤为重要。

 

10
0 0 17
文章
Peng Qiao · 一月 14, 2021 阅读大约需 7 分钟
使用类投影安装 Caché 应用程序

您好! 本文介绍另一种为基于 InterSystems Caché 的解决方案创建安装程序的简单方法。 主题将涵盖只需一项操作即可安装或从 Caché 中完全删除的应用程序。 如果您仍在编写需要执行多个步骤才能安装应用程序的安装说明,是时候将这个过程自动化了。

00
0 0 17
文章
Hao Ma · 一月 15, 2021 阅读大约需 5 分钟
ObjectScript错误管理

InterSystems编程语言的错误管理技术一直在发展。接下来,我们将展示几种不同的错误管理实现方式,以及为什么要使用TRY/THROW/CATCH机制。  

您可以点击这里阅读官方的错误处理建议。  

为了支持遗留应用程序,InterSystems不会废弃非推荐的错误管理方法。我们建议使用objectscriptQuality等工具来检测遗留的非推荐用例以及其他可能的问题和错误。  

20
0 0 17
文章
姚 鑫 · 二月 12, 2021 阅读大约需 2 分钟
第三十二章 Caché 变量大全 $ZJOB 变量

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

包含JOB状态信息。

大纲

$ZJOB
$ZJ

描述

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

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

00
0 1 17

 

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类型的异步镜像成员获取数据变更。

00
0 0 17
文章
姚 鑫 · 三月 5, 2021 阅读大约需 9 分钟
第四章 SQL标识符

第四章 标识符

标识符

标识符是SQL实体的名称,例如表、视图、列(字段)、模式、表别名、列别名、索引、存储过程、触发器或其他SQL实体。
标识符名称在其上下文中必须是唯一的;
例如,同一模式中的两个表或同一表中的两个字段不能具有相同的名称。
但是,不同模式中的两个表或不同表中的两个字段可以具有相同的名称。
在大多数情况下,相同的标识符名称可以用于不同类型的SQL实体;
例如,一个模式、该模式中的表以及该表中的字段都可以具有相同的名称,而不会产生冲突。
但是,同一个模式中的表和视图不能具有相同的名称。

InterSystems IRIS®数据平台SQL标识符遵循一组命名约定,根据标识符的使用,这可能会受到进一步的限制。
标识符不区分大小写。

标识符可以是简单标识符,也可以是分隔符。
InterSystems SQL默认支持简单标识符和分隔标识符。

简单标识符

简单标识符有以下语法:

00
0 1 16