全部时间
文章
· 九月 20, 2022 阅读大约需 2 分钟
在虚拟化环境中使用镜像的注意事项

在虚拟化环境中使用镜像,构成镜像的InterSystems IRIS实例被安装在虚拟主机上,创造了一个混合的高可用性解决方案,将镜像的优点与虚拟化的优点结合起来。镜像通过自动故障切换对计划内或计划外的故障提供即时响应,而虚拟化HA软件在计划外的机器或操作系统故障后自动重新启动承载镜像成员的虚拟机。这允许失败的成员迅速重新加入镜像,充当备份(或在必要时作为主机)。

当镜像被配置在虚拟化环境中时,请参考以下建议:

1 0
0 160
InterSystems 开发者社区汇聚了 25,761 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 九月 1, 2022 阅读大约需 5 分钟
第十九章 维护本地数据库(四)

第十九章 维护本地数据库(四)

压缩数据库中的全局变量

管理数据库空间的另一种方法是使用 ^DATABASE 例程压缩数据库中的全局变量。压缩全局变量将全局数据合并到更少的块中,从而增加数据库中的可用空间量。

在创建和更新全局变量时 IRIS 通常以将全局块填充到大约 70% 容量的方式分配数据。 (完全按整理顺序增长的全局可能会分配到接近 90%。)通常,允许 IRIS 自动管理全局块密度就足够了。然而,一些不连续的数据删除模式可能会显着降低平均全局块密度。

注意:要逐个全局地查看数据库中全局块的当前密度,可以运行完整性检查、并检查每个全局的数据级别输出。

压缩全局变量时,指定所需的全局块密度(默认为 90%),操作会尝试通过合并数据来尽可能接近此值——例如,将分布在三个块中的全局数据重新排列为两个。通常(但并非总是),压缩全局变量会显着增加数据库中可用的可用空间。 (如果指定的目标密度低于数据库当前的全局块密度,则数据库的大小不会增加。)

要压缩数据库中的全局变量,请使用以下过程:

0 0
0 160

此文章也是对问题 在不重建的情况下插入索引Inserting an index without reconstruction 的一种解释

在使用SQL语言对 InterSystems IRIS 中的表进行查询时,有时候会发现返回的结果与实际有出入,特别是使用count() 函数,或者select 查询时,返回的结果少于实际应返回的值。
这种情况往往是由于数据表格的索引值出了问题。

索引出问题的主要原因可能是:

  • 表中先有数据,后创建的索引定义,并且定义之后没有重新生成索引。
  • 对保存数据的global直接操作。如果是使用对象或者sql的方式操作数据,相应的索引都会自动更新,但是如果直接对global操作,则不会自动更新索引。
  • 对保存索引的global直接操作。

要解决或者要检查是不是索引引发的问题,可以使用%ValidateIndices()函数,它有两种方式使用

0 0
0 160
文章
· 三月 24, 2022 阅读大约需 3 分钟
创建REST 服务

REST是一种架构风格,而不是一种格式。尽管REST经常使用HTTP来传输消息,使用JSON来传递数据,但你也可以用XML或纯文本来传递数据。REST利用了现有的网络标准,如HTTP、URL、XML和JSON。

虽然它可以使用XML来描述数据,但它更常使用JSON,这是一个轻量级的数据封装器。

InterSystems REST服务

InterSystems REST服务由以下组件组成:

规范类(%REST.Spec的一个子类):这个类包含了REST服务的OpenAPI 2.0规范(Swagger)。InterSystems支持几个扩展属性,你可以在规范中使用。

调度类(%CSP.REST的一个子类):这个类负责接收HTTP请求并在实现类中调用合适的方法。

0 0
0 160
文章
· 七月 2, 2021 阅读大约需 5 分钟
第二十五章 添加和使用XSLT扩展函数

第二十五章 添加和使用XSLT扩展函数

自定义错误处理

当出现错误时,XSLT处理器(XalanSaxon)执行当前错误处理程序的error()方法,将消息作为参数发送到该方法。类似地,当发生致命错误或警告时,XSLT处理器会根据需要执行datalError()Warning()方法。

对于所有这三种方法,默认行为是将消息写入当前设备。

要自定义错误处理,请执行以下操作:

  • 对于XalanSaxon处理器,在创建%XML.XSLT.ErrorHandler的子类。在这个子类中,根据需要实现Error()FatealError()Warning()方法。

这些方法中的每一个都接受单个参数,即包含由XSLT处理器发送的消息的字符串。

这些方法不返回值。

0 0
0 160
文章
· 四月 20, 2023 阅读大约需 3 分钟
第三十四章 配置镜像 - 在镜像中激活日志加密

第三十四章 配置镜像 - 在镜像中激活日志加密

在镜像中激活日志加密

在镜像成员上激活日志加密时,请记住三个重要的注意事项:

  • 不能在故障转移成员和 DR 异步上激活日志文件加密,除非镜像需要 TLS 安全性。
  • 如果在主服务器上激活了日志加密,则必须在属于镜像的任何报告异步上激活它。此外,最佳做法是在备份和任何 DR 异步上激活日志加密,以便在发生故障转移或 DR 升级时日志加密将继续有效。
  • 故障转移成员和 DR 异步之间的日志加密要求在一个成员上用于日志加密的加密密钥在其他成员上被激活(尽管不一定用于日志加密),以便根据需要用于解密收到的日志文件。具体来说,

0 0
0 159
文章
· 二月 28, 2023 阅读大约需 1 分钟
【GS22 视频】如何让脑健康管理变得普惠?

这是InterSystems 2022年全球峰会上来自客户 Cognetivity Neuroscience 的分享。InterSystems IRIS 数据平台助力 Cognetivity Neurosciences 打造脑健康管理评估工具CognlCA。CognlCA 能够在正确的时间将数据提供给正确的人,推动脑健康评估、筛查和管理的节点前置,从而促进脑健康管理的普惠化。

1 0
0 159
文章
· 二月 28, 2023 阅读大约需 3 分钟
用一个命令设置您的 InterSystems FHIR 服务器

嗨,InterSystems 开发人员!

最近我更新了FHIR 开发模板,它发布了一个 IPM 包fhir-server ,使 InterSystems FHIR 服务器的设置成为一个微不足道的手动或自动或编程的程序,只需一条命令。

请参阅下文,了解如何从中受益。

TLDR

USER>zpm "install fhir-server"

以下所有详细信息。

1 0
0 159
文章
· 十二月 17, 2022 阅读大约需 3 分钟
第十六章 使用系统监视器 - 系统监视器默认值

第十六章 使用系统监视器 - 系统监视器默认值

系统监视器默认值

System Monitor 调用一组提供的可以扩充的类,在 %SYS 命名空间中运行,并在三个可以更改的默认设置下运行。

默认系统监视器组件

IRIS 提供了五个类,默认情况下在 %SYS 命名空间的系统监视器中配置。

Sensor classes:

  • SYS.Monitor.SystemSensors

系统传感器类获取传感器值传递给配置的订阅者类,包括系统监控订阅者(SYS.Monitor.SystemSubscriber)和健康监控订阅者(SYS.Monitor.Health.Control)。

0 0
0 159
文章
· 七月 21, 2022 阅读大约需 7 分钟
精华文章系列 DeepSee 的开发 - 第一部分 - Cube

创建一个透视表

  1. 在模型内容窗格中展开DiagD维度。
  2. 将Diagnoses拖放到行中,或者双击诊断。
  3. 将Patient Count(病人计数)拖放到Measure(度量)中,或双击病人数。
  4. 将 Avg Age(平均年龄) 拖至Measure(度量),或双击 "平均年龄"。
  5. 单击保存。 系统显示一个对话框,你可以指定透视表的名称。 保存透视表并给它一个名字。当你这样做时,你是在保存检索数据的基础查询,以及以你选择的方式显示数据所需的信息。你不是在保存数据。
  6. 对于文件夹,键入Test
0 0
0 159

InterSystems Production 监控是管理门户中的一个页面,用于显示当前运行的Production监控信息。我喜欢这个页面的样子,但这并不适合所有人。

2022年5月13日,我在开发者社区上看到这个帖子。

https://community.intersystems.com/post/creating-custom-monitoring-page

我同意马克的观点,Production监控很复杂。我想创建一个更漂亮干净的监控页面。

我开始着手制作一个利用类方法提供Production数据的 CSP(Cache Server Page)页面。

我与马克分享了我的第一次尝试。他根据自己的想法定制了这个页面。我喜欢他对页面的布局,使其在视觉上更有吸引力。我把他的设计整合到我的应用程序Production监控中。

我看到马克对业务服务的显示进行了过滤,只显示需要注意的服务。他在页面的底部添加了服务器的名称和它的镜像状态。

0 0
0 159
文章
· 三月 6, 2022 阅读大约需 2 分钟
第七十三章 SQL函数 LCASE

第七十三章 SQL函数 LCASE

将字符串中的所有大写字母转换为小写字母的大小写转换函数。

大纲

LCASE(string-expression)

{fn LCASE(string-expression)}

参数

  • string-expression - 要将其字符转换为小写的字符串表达式。表达式可以是列名、字符串文字或另一个标量函数的结果,其中底层数据类型可以表示为任何字符类型(如CHARVARCHAR)。

描述

LCASE将大写字母转换为小写字母用于显示。
它对非字母字符没有影响。
它保留没有改变的标点符号以及前导和末尾的空格。

LCASE不强制将数字解释为字符串。
SQL将数字转换为规范形式,删除前导和后导零。
SQL不将数字字符串转换为规范形式。

LOWER函数也可以用来将大写字母转换为小写字母。

0 0
0 159
文章
· 七月 20, 2021 阅读大约需 6 分钟
关键字类定义,外键定义,索引定义,方法定义

第一章 类定义

描述类定义的结构。

介绍

一个类可以包含熟悉的类元素,如属性、方法和参数(在其他类语言中称为常量)。它还可以包含通常不在类中定义的项,包括触发器、查询和索引。

详细

类定义具有以下结构:

Import import_ppackage_list  
Include include_code  
IncludeGenerator include_generator_code  

/// description 
Class package.shortclassname Extends superclass_list [ class_keyword_list ] 
{  
    Class_members
}
  • import_package_list(可选)指定类从中导入的任何包的名称。会影响编译器解析短类名的方式。

如果指定了此选项,则它可以是单个包的名称,也可以是多个包的逗号分隔列表,用括号括起来。

0 0
0 159
文章
· 六月 12, 2021 阅读大约需 6 分钟
第五章 生成XML元素

第五章 生成XML元素

生成XML元素

如果使用RootElement()启动文档的根元素,则负责生成该根元素内的每个元素。有三个选择:

将对象生成为元素

可以从InterSystems IRIS对象生成输出作为元素。在本例中,使用object()方法,该方法写入支持XML的对象。输出包括该对象中包含的所有对象引用。可以指定此元素的名称,也可以使用在对象中定义的默认值。

只能在RootElement()EndRootElement()方法之间使用object()方法。

此示例为给定启用XML的类的所有已保存实例生成输出:

0 0
0 159
文章
· 五月 9, 2021 阅读大约需 6 分钟
第四章 多维存储的SQL和对象使用(一)

第四章 多维存储的SQL和对象使用(一)

本章介绍InterSystems IRIS®对象和SQL引擎如何利用多维存储(全局变量)来存储持久对象、关系表和索引。

尽管InterSystems IRIS对象和SQL引擎会自动提供和管理数据存储结构,但了解其工作原理的详细信息还是很有用的。

数据的对象视图和关系视图使用的存储结构是相同的。为简单起见,本章仅从对象角度介绍存储。

数据

每个使用%Storage.Persistent存储类(默认)的持久化类都可以使用多维存储(全局变量)的一个或多个节点在InterSystems IRIS数据库中存储其自身的实例。

每个持久化类都有一个存储定义,用于定义其属性如何存储在全局变量节点中。这个存储定义(称为“默认结构”)由类编译器自动管理。

0 0
0 159
文章
· 二月 5, 2021 阅读大约需 4 分钟
第二十五章 Caché 变量大全 $ZB 变量

第二十五章 Caché 变量大全 $ZB 变量

包含当前I / O设备的状态信息。

大纲

$ZB

描述

$ZB包含读取操作后特定于当前I / O设备的状态信息

  • 从终端,顺序文件或其他基于字符的I / O设备读取时,$ZB包含读取操作的终止字符。它可以是终止符(例如),如果读取操作不需要终止符,则可以是输入数据的最后一个字符;如果需要终止符但未收到终止符,则可以是空字符串(例如,如果读取操作超时)。
  • 从磁带等基于块的I / O设备读取数据时,$ZB包含I / O缓冲区中剩余的字节数。写入磁带时,$ZB还包含I / O缓冲区中的字节数。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

0 0
0 159
文章
· 十月 9, 2024 阅读大约需 2 分钟
在 IRIS 中使用 Foreign Table(外部表)

Foreign Table 的概念

Foreign Table 是 IRIS SQL 中一种特殊类型的表。它不代表 IRIS 本地全局管理的数据,而是投射出来的,由 “外部服务器 ”管理的外部数据。从 SQL 的角度来看,外部表与普通表一样,可以在查询中使用,没有任何特定限制。

在数据编织中可以帮助整合不同的来源的数据,以支持各种应用、分析并提供智能洞察力。

1 0
0 158
文章
· 五月 15, 2024 阅读大约需 4 分钟
IRIS/Caché SQL优化经验分享 - 优化关键字

SQL查询优化器一般情况下能给出最好的查询计划,但不是所有情况都这样,所以InterSystems SQL还提供了一个方式, 也就是在查询语句里加入optimize-option keyword(优化关键字), 用来人工的修改查询计划。

比如下面的查询:

SELECT AVG(SaleAmt) FROM %PARALLEL User.AllSales GROUP BY Region

其中的%PARALLEL, 就是最常用的优化关键字, 它强制SQL优化器使用多进程并行处理这个SQL。

您可以这样理解: 如果查询优化器足够聪明,那么绝大多数情况下,根本就不需要优化关键字来人工干预。因此,您也一定不奇怪在不同的IRIS/Caché版本中, 关键字的表现可能不一样。越新的版本,应该是越少用到。比如上面的%PARALLEL, 在Caché的大多数版本中, 在查询中加上它一般都能提高查询速度,而在IRIS中,尤其是2023版本以后, 同样的SQL查询语句,很大的可能查询优化器已经自动使用多进程并行查询了,不再需要用户人工干预了。

因此,先总结有关优化关键字的要点:

0 0
0 158
问题
· 二月 27, 2024
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
0 1
0 157
文章
· 三月 24, 2023 阅读大约需 2 分钟
第七章 镜像架构和规划 - 报告异步

第七章 镜像架构和规划 - 报告异步

报告异步

报告异步镜像成员出于数据挖掘和商业智能等目的维护所选数据库的只读或读写副本,并且不能提升为故障转移成员。一个报告异步最多可以属于 10 个镜像,允许它作为一个全面的企业范围数据仓库,将来自不同位置的相关数据库集合在一起。

连接到多个镜像的单个报告异步成员

单一故障转移镜像配置

镜像还可以由单个故障转移成员和一个或多个异步成员组成。此配置不提供高可用性,但可以解决其他需求。例如,具有单个故障转移成员、至少一个 DR 异步成员和一定数量的报告异步成员的镜像可以在支持数据收集和仓储的同时提供数据安全和灾难恢复。为了提供高可用性,故障转移成员可以位于操作系统级别的故障转移集群或其他一些高可用性配置中。

0 0
0 158
文章
· 三月 22, 2023 阅读大约需 2 分钟
第五章 镜像概述

第五章 镜像概述

传统的高可用性和数据复制解决方案通常需要在基础架构、部署、配置、软件许可和规划方面进行大量资本投资。 IRIS® 数据库镜像旨在为两个 IRIS 实例之间快速、可靠、强大的自动故障转移提供经济的解决方案,从而提供有效的企业高可用性解决方案。

依赖共享资源(如共享磁盘)的传统可用性解决方案通常容易出现与该共享资源相关的单点故障。镜像通过在主镜像成员和备份镜像成员上维护独立的资源来降低这种风险。此外,通过利用逻辑数据复制,镜像避免了与基于 SAN 的复制等物理复制技术相关的风险,包括无序更新和结转损坏。

将分布式缓存与镜像相结合可提供更高级别的可用性;具有镜像数据服务器的分布式缓存集群中的应用程序服务器将镜像故障转移视为数据服务器重启,允许处理在新的主服务器上继续不间断,这大大减少了工作流和用户中断。在不同的数据中心配置两个故障转移镜像成员可提供额外的冗余并防止发生灾难性事件。

1 0
0 158