文章 Tianyu wu · 三月 3, 2021 1m read

这是我们团队参加的第一届InterStstems编程竞赛! 快来看看投票给我们!

超额预订管理系统结合了酒店业的独特条件,例如房价,订购渠道,客户需求等。 本系统使用机器学习算法(例如:KNN / ES-RNN ...)来准确预测酒店的每日未入住和入住率,并进一步与收益结合以找到最佳的最大客房销售量,从而精准增加酒店的边际收益。

移步欣赏作品点击如下连接

https://github.com/BroadCastAir/hotel_api    &      https://github.com/BroadCastAir/Hotel_OverBooking_Sys

投票给我们点击:  Check the related application on InterSystems Open Exchange

4
0 175
文章 jingqi LIu · 三月 3, 2021 1m read

在InterSystems IRIS中使用ObjectScript构建REST API。

开发的API可以遵循OPEN API规范,可以使用Docker和VSCode开发,可以部署为ZPM模块,同时也可用作酒店超售系统的Data API。

什么是酒店超售管理系统?

超售管理系统结合了酒店的独特条件,例如房价,订购渠道,客户需求等。系统使用机器学习算法(例如:KNN / ES-RNN ...)来准确预测酒店的每日未入住和入住率,并进一步与收益方程式结合以找到最佳的最大客房销售量,从而可以大大增加酒店的边际收益。

来看看我们的Repo!

https://github.com/BroadCastAir/hotel_api

https://github.com/BroadCastAir/Hotel_OverBooking_Sys

 

投票支持我们的应用程序!

InterSystems IRIS不仅在医疗保健行业,在零售和酒店业中也具有广阔的发展前景。

 

5
0 334
文章 姚 鑫 · 三月 1, 2021 7m read

第二章 InterSystems SQL基础

本章概述了InterSystems SQL的特性,特别是那些SQL标准未涵盖的特性,或者与InterSystems IRIS®数据平台统一数据架构相关的特性。 本教程假定读者具备SQL知识,并不是为介绍SQL概念或语法而设计的。

本章讨论以下主题:

  • 查询
  • 权限
  • 数据显示选项
  • 数据排序类型
  • 执行SQL

在InterSystems SQL中,数据显示在表中。每个表都包含许多列。一个表可以包含零个或多个数据值行。以下术语大体上等效:

数据术语关系数据库术语InterSystems IRIS术语
数据库架构
数据库persistent class(持久类)
字段属性
记录

表有两种基本类型:基表(包含数据,通常简称为表)和视图(基于一个或多个表提供逻辑视图)。

模式与架构

SQL模式提供了一种将相关表,视图,存储过程和缓存查询的集合进行分组的方法。模式的使用有助于防止表级别的命名冲突,因为表,视图或存储过程的名称在其模式内必须唯一。应用程序可以在多个架构中指定表。

SQL模式与持久性类包相对应。通常,模式与其相应的程序包具有相同的名称,但是由于不同的模式命名约定或故意指定了不同的名称,因此这些名称可能有所不同。模式到程序包的映射在SQL到类名的转换中有进一步描述。

2
0 287
文章 姚 鑫 · 三月 4, 2021 9m read

第三章 SQL语言元素(一)

命令和关键字

InterSystems SQL命令(也称为SQL语句)以关键字开头,后跟一个或多个参数。其中一些参数可能是子句或函数,由它们自己的关键字标识。

  • InterSystems SQL命令没有命令终止符,除非在特殊情况下(例如SQL过程代码或触发代码),在这种情况下,SQL命令以单个分号(;)终止。否则,InterSystems SQL命令不需要或接受分号命令终止符。在InterSystems SQL中指定分号命令终止符会导致SQLCODE -25错误。 TSQL的InterSystemsIRIS®数据平台实现(Transact-SQL)接受但不需要分号命令终止符。在将SQL代码导入Inter Systems SQL时,会去除分号命令终止符。
  • InterSystems SQL命令没有空格限制。如果命令项之间用空格隔开,则至少需要一个空格。 如果命令项之间用逗号分隔,则不需要空格。算术运算符之前或之后不需要空格。可以在以空格分隔的项目之间,以逗号分隔的参数列表中的项目之间或在算术运算符之前或之后插入换行符或多个空格。
5
0 510
文章 姚 鑫 · 二月 26, 2021 9m read

第四十八章 Caché 变量大全 ^$LOCK 变量

提供锁名信息。

大纲

^$|nspace|LOCK(lock_name,info_type,pid) 
^$|nspace|L(lock_name,info_type,pid)

参数

  • |nspace|[nspace] [nspace]可选-扩展SSVN引用,显式名称空间名称或隐含名称空间。必须计算为带引号的字符串,该字符串括在方括号([“nspace”])或竖线(|“nspace”|)中。命名空间名称不区分大小写;它们以大写字母存储和显示。
  • lock_name 计算结果为包含锁定变量名称(带下标或无下标)的字符串的表达式。如果是文字,则必须指定为带引号的字符串。
  • info_type 可选-解析为所有大写字母指定为带引号字符串的关键字的表达式。info_type指定返回关于lock_name的哪种类型的信息。可用选项有“所有者”、“标志”、“模式”和“计数”。作为独立函数调用^$LOCK时需要。
  • pid 可选-用于“计数”关键字。一个整数,指定锁所有者的进程标识。如果指定,最多为“计数”返回一个列表元素。如果省略(或指定为0),将为持有指定锁的每个所有者返回一个列表元素。pid对其他info_type关键字没有影响。

描述

^$LOCK结构化系统变量返回有关当前命名空间或本地系统上指定命名空间中的锁的信息。可以通过两种方式使用^$LOCK:

2
0 183
文章 Qiao Peng · 三月 5, 2021 3m read

大家好,

正如我在上一个帖子分片评估(第 1 部分)中所承诺的,我继续研究了分片数量的影响。

为了完成概览,我还添加了以下实例:
在 WIN (Server 2012 R2)  8 核上
- Cache for Windows (x86-64) 2016.2.2 - 12 GB 全局缓冲区
- IRIS for Windows (x86-64) 2018.1.1  - 400 MB 全局缓冲区,无分片
在 LINUX (Ubuntu 16.04 LTS)  2 核上
- IRIS for UNIX (Ubuntu Server LTS for x86-64) 2018.1.1   400MB 全局缓冲区
- 无分片、2 个分片、3 个分片、4 个分片。

我使用的表有 2650 万条记录,并且在所有具有相同索引的实例上均相同

0
0 174
文章 Qiao Peng · 三月 5, 2021 3m read

大家好!

InterSystems IRIS 有一个名为 Interoperability(互操作性)的菜单。

它提供了轻松创建系统集成(适配器、记录映射、BPM、数据转换等)的机制,因此可以轻松连接不同的系统。

数据中继过程中可以包括各种操作,例如:为了连接没有正常连接的系统,可以根据目标系统的规范来接收(或发送)数据。 此外,在发送数据之前,可以从其他系统获取和添加信息。 还可以从数据库(IRIS 等)获取和更新信息。

在本系列文章中,我们将讨论以下主题,同时查看 示例代码 以帮助您了解工作原理以及在系统中集成互操作性时需要进行哪种开发。

首先,我介绍一下我们将在本系列文章中使用的案例研究。

某公司运营着一个购物网站,他们正在更改产品信息的显示顺序以配合季节变化。
但是,有些商品无论季节如何都能卖得很好,而有些商品在意料之外的时间卖出,这不符合当前的显示顺序更改规则,
因此,我们研究了按照当天的温度而不是季节来更改显示顺序的可能性。 调查购买产品时的温度变得非常必要。
由于可以使用外部 Web API 来查询天气信息,因此我们计划收集购买时的天气信息,并将其记录在后面的审核数据库中。

案例非常简单,但您需要使用“外部 Web API”来收集信息,并且需要将获得的信息和购买信息结合起来记录在数据库中。

0
0 124
文章 Qiao Peng · 三月 5, 2021 1m read

InterSystems IRIS 元素周期表

PDF 版本:https://github.com/yurimarx/iris-periodic-table/raw/master/periodic%20table%20iris.pdf

GIT 源:https://github.com/yurimarx/iris-periodic-table

InterSystems IRIS 是一个具有许多功能的数据平台。 这些功能和相关的 IRIS 主题都体现在元素周期表中。

0
0 138
文章 Qiao Peng · 三月 5, 2021 3m read

Global 扫描和切片

这是一个在 IRIS 2020.1 和 Caché 2018.1.3 上工作的代码示例
不会与新版本保持同步
也不会获得 InterSystems 提供的支持服务!   

大多数情况下,默认存储使用的 global 只有 1 个表示 IDKEY 的下标级别。 对于索引 global,可能有 2 个或更多下标级别。

数组、父子关系或扩展了基础数据类的持久化类 是具有更多下标级别的示例。 但所有这些 global 都非常统一。

1
0 216
InterSystems 官方 Qiao Peng · 三月 3, 2021

InterSystems API Manager (IAM) 版本1.5已正式发布。

 

IAM容器,包括从原有IAM版本升级的所有相关工件, 现在可以在 WRC 软件发布网址 组件区下载。

 

该版本的小版本号是 IAM 1.5.0.9-4。

 

InterSystems API Manager 1.5 使管理API通讯、与你的环境集成、加载API用户更加容易。它包含很多新特性,包括:

 

  • 改进的用户体验
  • 新的开发者门户工具
  • 对Kafka connectivity的支持

 

这个版本基于Kong Enterprise version 1.5.0.9。之前的IAM版本包括一个贴牌版本的Kong Enterprise, 在本版本中的Kong Enterprise不再贴牌。 这个变化让我们可以更快的节奏带给您新的版本,并更有效地利用Kong提供的文档和其它资源

 

请在 这里 查看IAM 1.5 的文档。这个文档仅说明IAM特殊的元素。产品中的文档链接直接打开Kong Enterprise的文档。

 

从IAM 0.34-1 升级需要通过3个中间版本累积升级,在 文档中有详细的说明。

 

1
0 295
文章 PEIPEI DUAN · 三月 3, 2021 1m read

 

这是我们团队参加的第一届InterStstems编程竞赛! 快来看看投票给我们!

超额预订管理系统结合了酒店业的独特条件,例如房价,订购渠道,客户需求等。 本系统使用机器学习算法(例如:KNN / ES-RNN ...)来准确预测酒店的每日未入住和入住率,并进一步与收益结合以找到最佳的最大客房销售量,从而精准增加酒店的边际收益。

1
0 134
文章 Claire Zheng · 一月 20, 2021 6m read

简介

最近完成了针对IRIS医疗版2020.1版本的性能及可扩展性基准测试,重点关注HL7v2的互操作性。本文介绍了在各种工作负载下观察到的吞吐量,并提供了IRIS医疗版用作HL7v2消息传输互操作性引擎时的系统常规配置和调整准则。

基准测试模拟了与实际环境接近的工作负载(详细信息请参见“工作负载说明和方法”部分)。本次测试的工作负载包括HL7v2患者管理(ADT)和生命体征结果(ORU)数据,并包含数据内容转换和路由。

IRIS医疗版2020.1版本可以表明,采用第二代Intel®Xeon®可扩展处理器和Intel®Optane™SSD DC P4800X系列SSD存储的商用服务器,每天的持续消息吞吐量超过23亿条(入站和出站总量),与此前的Ensemble 2017.1 HL7v2吞吐量基准测试相比,扩展性提高了一倍多。

2
0 371
文章 Jeff Liu · 三月 1, 2021 2m read
大数据的 5 个 V 与 InterSystems IRIS
参见下表:

Velocity(速度):水平和垂直节点扩展传递出的弹性速度 实现者:分布式内存缓存、分布式处理、分片和多模型架构 https://www.intersystems.com/isc-resources/wp-content/uploads/sites/24/…https://learning.intersystems.com/course/view.php?id=1254&ssoPass=1

Value(价值):Analytics 和 AI产生的指数数据价值实现:BI、NLP、ML、AutoML 和多模型架构 https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=S…https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

Veracity(真实性):在公司层面统一的单一真实数据源--实现者:连接器、数据总线、数据集成的 BPL 以及 API 管理

0
0 375
文章 Michael Lei · 二月 26, 2021 1m read

不少客户问我关于从Cache迁移到IRIS的问题。为什么要迁移到IRIS?Cache是优秀的,稳定的,有很好的性能,为什么要迁移到IRIS呢?这些客户是对的,但在过去几年,数字化转型提出了不少新问题、新需求和新挑战,客户需要更灵活、更完整、更前瞻的解决方案,InterSystems公司很有远见地洞察到了这一点,推出了IRIS。
一句话,IRIS是一套数据平台解决方案,它帮助客户和合作伙伴为迎接数字化转型的挑战提供了充足的弹药。

0
0 207
公告 Jeff Liu · 二月 26, 2021

2020 年最佳 Open Exchange 开发者和应用程序! 大家好,

2020 年是优秀应用程序丰收的一年!

将近 400 个应用程序已上传到 InterSystems Open Exchange200 多个应用程序在 2020 年上传到我们的应用程序库!

我们很高兴向大家介绍最佳 Open Exchange 开发者和下载量最大的应用程序,这些应用程序绝对值得一试!

 

让我们仔细看一下我们的英雄们和卓越的应用程序:

1
0 270
文章 姚 鑫 · 二月 25, 2021 3m read

第四十七章 Caché 变量大全 ^$JOB 变量

提供系统间IRIS进程(JOB)信息。

大纲

^$JOB(job_number)
^$J(job_number)

参数

  • job_number 输入ObjectScript命令时创建的系统特定OBJ编号。每个活动的InterSystems IRIS进程都有一个唯一的作业号。登录到系统会启动一个作业。在UNIX®系统上,作业号是调用InterSystems IRIS时启动的子进程的PIDJOB_NUMBER必须指定为整数;不支持十六进制值。

描述

可以将^$JOB结构化系统变量用作$DATA$ORDER$QUERY函数的参数,以获取有关本地InterSystems IRIS系统上是否存在InterSystems IRIS作业的信息。

示例

以下示例显示如何将^$JOB用作$DATA$ORDER$QUERY函数的参数。

作为$DATA的参数

$DATA(^$JOB(job_number))

^$JOB作为$DATA的参数返回一个整数值,该值指示指定的作业是否作为节点存在于^$JOB中。下表显示了$DATA可以返回的整数值。

ValueMeaning
0JOB不存在
1JOB存在

以下示例测试系统间IRIS进程是否存在。

DHC-APP>SET x=$JOB
 
DHC-APP>WRITE !,$DATA(^$JOB(x))
 
1
0
0 180
文章 姚 鑫 · 二月 24, 2021 6m read

第四十六章 Caché 变量大全 ^$GLOBAL 变量

提供有关全局变量和进程私有全局变量的信息。

大纲

^$|nspace|GLOBAL(global_name)
^$|nspace|G(global_name)

^$||GLOBAL(global_name)
^$||G(global_name)

参数

  • |nspace|[nspace] - 可选-扩展SSVN引用,可以是显式名称空间名称,也可以是隐含名称空间。必须计算为带引号的字符串,该字符串括在方括号([“nspace”])或竖线(|“nspace”|)中。命名空间名称不区分大小写;它们以大写字母存储和显示。
  • global_name 计算结果为包含无下标全局名称的字符串的表达式。全局名称区分大小写。使用^$||global()语法时,与进程专用全局名称相对应的无下标全局名称:^a表示^||a

描述

可以将^$GLOBAL用作$DATA$ORDER$QUERY函数的参数,以返回有关当前名称空间(默认名称空间)或指定名称空间中是否存在全局变量的信息。还可以使用^$global返回有关存在进程私有全局变量的信息。

进程私有全局变量

可以使用^$global获取有关所有命名空间中是否存在进程私有全局变量的信息。可以将进程专用全局的查找指定为^$||global^$|“^”|global

0
0 192
文章 姚 鑫 · 二月 23, 2021 3m read

第四十五章 Caché 变量大全 $ZVERSION 变量

包含一个字符串,描述do命令后面的InterSystems IRIS.line的当前版本。

大纲

$ZVERSION 
$ZV

描述

$ZVERSION包含一个字符串,该字符串显示当前运行的InterSystems IRIS®Data Platform实例的版本。

以下示例返回$ZVERSION字符串:

DHC-APP>WRITE $ZVERSION
Cache for Windows (x86-64) 2016.2 (Build 736U) Fri Sep 30 2016 11:46:02 EDT

此字符串包括InterSystems IRIS安装的类型(产品和平台,包括CPU类型)、版本号(2018.1)、该版本中的内部版本号(内部版本号中的“U”表示UNICODE以及创建此版本的InterSystems IRIS的日期和时间。“EST”是东部标准时间(美国东部的时区),“EDT”是东部夏令时

通过调用GetVersion()类方法可以返回相同的信息,如下所示:

DHC-APP>WRITE $SYSTEM.Version.GetVersion()
Cache for Windows (x86-64) 2016.2 (Build 736U) Fri Sep 30 2016 11:46:02 EDT
0
0 110
公告 Claire Zheng · 二月 22, 2021

大家好!

InterSystems开发者社区中文版正在招募版主,以更好地推动中文社区建设,期待每一位开发者的积极参与,共同打造一个高效沟通的技术社区!

欢迎点击报名(或扫描下方二维码),审核通过后,我们会与您详细沟通版主权益及义务。

2
1 317
文章 姚 鑫 · 二月 22, 2021 7m read

第四十四章 Caché 变量大全 $ZTRAP 变量

包含当前错误陷阱处理程序的名称。

大纲

$ZTRAP
$ZT

描述

$ZTRAP包含当前错误陷阱处理程序的行标签名和/或例程名。有三种方法可以设置$ZTRAP:

  • SET $ZTRAP=“location”
  • SET $ZTRAP=“*location”
  • SET $ZTRAP=“^%ET” or “^%ETN”

在这里,位置可以指定为标签(当前例程中的行标签)、^routine(指定外部例程的开始)或label^routine(指定外部例程中的指定标签)。

然而,$ZTRAP=label^routine不能用于程序块。过程块中的$ZTRAP不能用于转到过程体之外的位置;过程块中的$ZTRAP只能引用该过程块中的一个位置

Location

使用设置命令,可以将位置指定为带引号的字符串。

0
0 129
文章 姚 鑫 · 二月 21, 2021 7m read

第四十三章 Caché 变量大全 $ZTIMEZONE 变量

包含格林威治子午线的时区偏移量。

大纲

$ZTIMEZONE
$ZTZ

描述

$ZTIMEZONE可以通过两种方式使用:

  • 返回计算机的本地时区偏移量。
  • 为当前进程设置本地时区偏移量。

$ZTIMEZONE包含从格林威治子午线偏移的时区(以分钟为单位)。 (格林威治子午线包括整个英国和爱尔兰。)此偏移量表示为-1440到1440范围内的有符号整数。格林威治以西的时区指定为正数;格林威治东部的时区指定为负数。 (时区必须以分钟为单位,因为并非所有时区都以小时为单位。)默认情况下,$ZTIMEZONE初始化为计算机操作系统设置的时区。

注意:$ZTIMEZONE将本地时间调整为固定的偏移量。它不适应夏令时或其他当地时间的变化。 InterSystems IRIS从基础操作系统获取本地时间,该操作系统将本地时间变体应用于为该计算机配置的位置。因此,使用$ZTIMEZONE调整的本地时间将从配置的语言环境中获取其本地时间变化,而不是在$ZTIMEZONE中指定的时区。

使用格林威治子午线($ZTIMEZONE = 0)的时区计数来计算UTC时间。它与当地格林威治时间不同。格林威治标准时间(GMT)一词可能令人困惑;格林威治的当地时间与冬季的UTC相同。在夏季,它与UTC的差异为一小时。这是因为应用了称为英国夏令时的本地时间变体。

0
0 133
文章 姚 鑫 · 二月 20, 2021 6m read

第四十二章 Caché 变量大全 $ZTIMESTAMP 变量

包含协调世界时间格式的当前日期和时间。

大纲

$ZTIMESTAMP
$ZTS

描述

$ZTIMESTAMP包含协调的通用时间值形式的当前日期和时间。这是世界范围内的时间和日期标准;此值很可能与当地的时间(和日期)值不同。

$ZTIMESTAMP将日期和时间表示为以下格式的字符串:

ddddd,sssss.fff

其中ddddd是一个整数,指定自1840年12月31日起的天数;sssss是一个整数,指定自当天午夜以来的秒数,fff是一个可变的数字,指定小数秒。这种格式类似于$HOROLOG,只是$HOROLOG不包含分数秒。

假设当前日期和时间(世界协调时)如下:

2018-02-22 15:17:27.984

当时,$ZTIMESTAMP的值为:

64701,55047.984

$ZTIMESTAMP报告协调世界时(UTC),它独立于时区。因此,$ZTIMESTAMP提供了一个跨时区的统一时间戳。这可能不同于本地时间值和本地日期值。

0
0 180
文章 姚 鑫 · 二月 19, 2021 2m read

第四十一章 Caché 变量大全 $ZSTORAGE 变量

包含进程的最大可用内存。

大纲

$ZSTORAGE
$ZS

描述

$ZSTORAGE包含JOB的进程私有内存的最大内存量(以KB为单位)。此内存可用于局部变量、堆栈和其他表。此内存限制不包括例程目标代码的空间。此内存根据需要分配给进程,例如在分配数组时。

一旦将此内存分配给进程,通常在该进程退出之前不会释放它。但是,当大量内存被使用(例如,大于32MB)然后被释放时,系统间IRIS会尝试在可能的情况下将释放的内存释放回操作系统。

还可以使用$ZSTORAGE设置最大内存大小。例如,以下语句将作业的最大进程专用内存设置为524288 KB

SET $ZSTORAGE=524288

更改$ZSTORAGE会更改$STORAGE特殊变量的初始值,该变量包含进程的当前可用内存(以字节为单位)。

$ZSTORAGE的最大值为2147483647$ZSTORAGE默认值为262144$ZSTORAGE的最小值为128$ZSTORAGE值大于最大值或小于最小值会自动默认为最大值或最小值。$ZSTORAGE设置为整数值;InterSystems IRIS截断任何小数部分(如果指定)。

0
0 107
文章 Claire Zheng · 一月 20, 2021 8m read

大家可能已经听说过,我们近期推出了InterSystems API管理器 (以下简称IAM)。InterSystems IRIS数据平台™新增了一项功能,支持用户监视、控制和管理IT基础架构中基于Web的API间通信。

在本文中,我将向大家展示如何设置IAM,并重点介绍IAM中可用的一些功能。InterSystems API管理器可提供你所需的一切功能。

3
0 367