文章
Michael Lei · 五月 13 阅读大约需 2 分钟
使用 IRIS 跟踪全球疫苗接种情况

2020 年席卷全球的新冠疫情使每个人都在关注与 COVID-19 有关的新闻和数字。

为什么不趁这个机会去创造一些简单直观的东西,来帮助关注全球的疫苗接种数量呢?

为了应对这一挑战,我使用了 Our World in Data 提供的数据,他们的使命是提供解决全球最大问题所需的研究和数据。

他们在 Github 上有一个专门的 COVID-19 数据仓库,我采用了疫苗接种数据来完善我的跟踪器。

如果你不了解他们,去调查一下吧,这值得你花上一些时间。 Github 仓库

应用程序 iris-vaccine-tracker 有三个不同页面。

  1. 主仪表板
  2. 数据表,其中包含仪表板中呈现的数据的详细信息。
  3. 热图

仪表板

主仪表板提供全球疫苗接种情况的快速概览。

第一个小组件提供以下信息:

00
0 0 54
文章
姚 鑫 · 五月 13 阅读大约需 4 分钟
第五章 管理全局变量(二)

第五章 管理全局变量(二)

在全局变量中查找值

“查找全局变量字符串”页使可以在下标或选定全局变量的值中查找给定的字符串。

要访问和使用此页,请执行以下操作:

  1. 显示“全局变量”页。
  2. 选择要使用的全局变量。为此,请参阅“全局页简介”一节中的步骤2和3。
  3. 单击查找按钮。
  4. 对于查找内容,输入要搜索的字符串。
  5. (可选)清除大小写匹配。默认情况下,搜索区分大小写。
  6. 单击Find First或Find All。

然后,页面显示选定全局变量中下标或值包含给定字符串的第一个节点或所有节点。该表左侧显示了节点下标,右侧显示了相应的值。

  1. 如果使用的是Find First,请根据需要单击Find Next以查看下一个节点。
  2. 完成后,单击关闭窗口。

执行批量更换

注意:在进行任何编辑之前,请确保知道IRIS使用哪个全局系统,以及应用程序使用哪个全局系统;参见“一般建议”此选项会永久更改数据。不建议在生产系统中使用。

00
0 0 8
文章
姚 鑫 · 五月 13 阅读大约需 4 分钟
第五章 管理全局变量(二)

第五章 管理全局变量(二)

在全局变量中查找值

“查找全局变量字符串”页使可以在下标或选定全局变量的值中查找给定的字符串。

要访问和使用此页,请执行以下操作:

  1. 显示“全局变量”页。
  2. 选择要使用的全局变量。为此,请参阅“全局页简介”一节中的步骤2和3。
  3. 单击查找按钮。
  4. 对于查找内容,输入要搜索的字符串。
  5. (可选)清除大小写匹配。默认情况下,搜索区分大小写。
  6. 单击Find First或Find All。

然后,页面显示选定全局变量中下标或值包含给定字符串的第一个节点或所有节点。该表左侧显示了节点下标,右侧显示了相应的值。

  1. 如果使用的是Find First,请根据需要单击Find Next以查看下一个节点。
  2. 完成后,单击关闭窗口。

执行批量更换

注意:在进行任何编辑之前,请确保知道IRIS使用哪个全局系统,以及应用程序使用哪个全局系统;参见“一般建议”此选项会永久更改数据。不建议在生产系统中使用。

00
0 0 13

大家好!
       目前产品应用MIRROR来保证医院业务正常运行,但是其中MIRROR同步信息不包含(web应用配置信息、任务计划、sql网关等等),关于这些信息同步我们有没有更好的处理解决这个问题?其中,如果想要将代码等关键信息(可以作为业务恢复)进行跨服务器备份,比如:突发状况双机服务器无法恢复并提供服务,需要恢复生产业务,可利用这些备份信息可以快速恢复业务,应对这一类场景有没有好的解决方案?

     期待解惑.

      

00
0 3 90

关键字:IRIS, IntegratedML, 机器学习, Covid-19, Kaggle 

目的

最近,我注意到一个用于预测 Covid-19 患者是否将转入 ICU 的 Kaggle 数据集。 它是一个包含 1925 条病患记录的电子表格,其中有 231 列生命体征和观察结果,最后一列“ICU”为 1(表示是)或 0(表示否)。 任务是根据已知数据预测患者是否将转入 ICU。

这个数据集看起来是所谓的“传统 ML”任务的一个好例子。数据看上去数量合适,质量也相对合适。它可能更适合在 IntegratedML 演示套件上直接应用,那么,基于普通 ML 管道与可能的 IntegratedML 方法进行快速测试,最简单的方法是什么?

 

范围

我们将简要地运行一些常规 ML 步骤,如:

00
0 0 27

本贴提供了在 VMware ESXi 5.5 及更高版本的环境中部署 Caché 2015 及更高版本时,关于配置、系统规模调整和容量规划等方面的指南。

我假定您已经了解 VMware vSphere 虚拟化平台,所以直接给出推荐。 本指南中的推荐不特定于任何具体硬件或站点特定的实现,也不应作为规划和配置 vSphere 部署的全面指南,而是一份您可以做出选择的最佳实践配置清单。 我希望您的 VMware 专家实施团队能针对具体站点对这些推荐进行评估。


这里是 InterSystems 数据平台和性能系列的其他帖子的列表。

注:本帖更新于 2017 年 1 月 3 日,强调必须为生产数据库实例设置虚拟机内存预留,以保证 Caché 有足够内存可用,并且不会出现内存交换或膨胀而对数据库性能产生负面影响。 更多详细信息,请参见下面的内存部分。

00
0 0 53

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

Caché 备份 - 包括电池?

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

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

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

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

00
0 0 62

InterSystems 数据平台和性能 - 第 5 部分 使用 SNMP 进行监控

在之前的帖子中,我展示了如何使用 pButtons 收集历史性能指标。 我首选 pButtons 是因为我知道它随每个数据平台实例(Ensemble、Caché、...)一起安装。 不过,还有其他方法可以实时收集、处理和显示 Caché 性能指标,以进行简单的监视,或进行更重要的并且复杂得多的运营分析和容量计划。 最常见的数据收集方法之一是使用 SNMP(简单网络管理协议)。

SNMP 是 Caché 向各种管理工具提供管理和监控信息的标准方式。 Caché 在线文档包含了 Caché 和 SNMP 之间接口的详细信息。 虽然 SNMP 应该可以直接与 Caché 配合工作,但仍有一些配置技巧和陷阱。 我经历了很多次错误的开始,并且在 InterSystems 其他同事的帮助下,才让 Caché 与操作系统 SNMP 主代理建立对话,所以我写了这篇帖子,希望您可以避免同样的痛苦。

00
0 0 27
文章
姚 鑫 · 五月 12 阅读大约需 4 分钟
第五章 管理全局变量(一)

第五章 管理全局变量(一)

管理门户提供管理全局变量的工具,系统类提供执行某些相同任务的方法。本章介绍如何使用这些工具。

一般建议

与ObjectScript命令SETMERGEKILL和其他命令一样,这里描述的工具提供了直接访问操作全局变量的权限。如果通过全局访问删除或修改,则会绕过所有对象和SQL完整性检查,并且没有撤消选项。因此,在执行这些任务时要非常小心,这一点很重要。(查看和导出不会影响数据库,并且是安全活动。)

使用本章中介绍的工具时,请确保以下事项:

  • IRIS使用哪些全局变量。并不是所有这些都被视为“系统”全局变量-也就是说,即使没有选中“系统”复选框,它们中的一些也是可见的。其中一些全局变量存储代码,包括的代码。
  • 确保知道应用程序使用哪些全局变量。

即使应用程序从不执行任何直接全局访问,应用程序也会使用全局变量。请记住,如果创建持久类,则它们的数据和任何索引都存储在全局变量中,全局变量的名称基于类名(默认情况下)。

00
0 0 16
文章
Michael Lei · 五月 12 阅读大约需 7 分钟
InterSystems 数据平台和性能 – 第 2篇

部分 在上个帖子中,我们安排了使用 pButtons 进行 24 小时的性能指标收集。 在本帖中,我们将研究几个收集到的关键指标,以及它们与底层系统硬件的关系。 我们还将开始探索 Caché(或任一 InterSystems 数据平台)指标与系统指标之间的关系。 以及如何使用这些指标来了解系统的每日节拍率并诊断性能问题。

00
0 0 38
文章
Michael Lei · 五月 12 阅读大约需 13 分钟
InterSystems 数据平台和性能 – 第 3 篇:聚焦 CPU

本周,我将关注 CPU - 主要硬件食物群之一 :) 一位客户请我就以下情况提供建议:他们的生产服务器已接近使用寿命终止,是时候更新硬件了。 他们还考虑通过虚拟化来整合服务器,并希望适当调整裸机或虚拟机的容量规模。 今天我们将关注 CPU,在后面的帖子中,我将介绍适当调整其他主要食物群(内存和 IO)规模的方法。

所以问题是:

  • 如何将五年多以前对处理器的应用要求转换成针对当今的处理器?
  • 目前的处理器有哪些是合适的?
  • 虚拟化如何影响 CPU 容量计划?

2017 年 6 月添加: 要深入了解 VMware CPU 注意事项和规划的细节,以及一些常见问题,另请查看以下帖子:虚拟化大型数据库 - VMware cpu 容量计划

00
0 0 41

本帖将展示为 InterSystems 数据平台上运行的数据库应用调整共享内存需求(包括 global 和例程缓冲区、gmheap 以及 locksize)的方法,以及在配置服务器和虚拟化 Caché 应用程序时应考虑的一些性能提示。 和以往一样,当我谈到 Caché 时,我指的是所有数据平台(Ensemble、HealthShare、iKnow 和 Caché)。


本系列其他帖子的列表


当我最初开始使用 Caché 时,大多数客户的操作系统是 32 位的,Caché 应用程序的内存有限且昂贵。 通常部署的英特尔服务器只有几个核心,唯一的扩展方式是选择大型服务器,或者使用 ECP 横向扩展。 现在,即使是基本的生产级服务器也具有多个处理器、几十个核心,并且最小内存为 128 或 256 GB,可能达到 TB。 对于大多数数据库安装,ECP 已被遗忘,我们现在可以在单台服务器上大幅提高应用事务处理速率。

00
0 0 56
文章
Michael Lei · 五月 10 阅读大约需 10 分钟
通过深度学习解释和研究 Covid-19 X 射线分类器

关键字:深度学习,Grad-CAM,X 射线,Covid-19,HealthShare,IRIS

目的

在复活节周末,我谈到了一些针对 Covid-19 肺的深度学习分类器。  演示结果还算不错,似乎与当时有关该主题的一些学术研究刊物相吻合。 但它真的足够“好”吗? 

最近,我偶然收听了一个关于“机器学习中的可解释性”的在线午餐网络讲座,Don 在演讲的最后谈到了这个分类结果:

00
0 0 37
文章
姚 鑫 · 五月 10 阅读大约需 5 分钟
第四章 多维存储的SQL和对象使用(二)

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

索引

持久化类可以定义一个或多个索引;其他数据结构用于提高操作(如排序或条件搜索)的效率。InterSystems SQL在执行查询时使用这些索引。InterSystems IRIS对象和SQL在执行INSERTUPDATEDELETE操作时自动维护索引内的正确值。

标准索引的存储结构

标准索引将一个或多个属性值的有序集与包含属性的对象的对象ID值相关联。

例如,假设我们定义了一个简单的持久化MyApp.Person类,该类具有两个文本属性和一个关于其Name属性的索引:

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

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

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

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

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

数据

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

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

00
0 0 17
文章
姚 鑫 · 五月 8 阅读大约需 7 分钟
第三章 使用多维存储(全局变量)(四)

第三章 使用多维存储(全局变量)(四)

管理事务

InterSystems IRIS提供了使用全局变量实现完整事务处理所需的基本操作。
InterSystems IRIS对象和SQL自动利用这些特性。
如果直接将事务性数据写入全局变量,则可以使用这些操作。

事务命令是TSTART,它定义事务的开始;
TCOMMIT,它提交当前事务;
TROLLBACK,它将中止当前事务,并撤消自事务开始以来对全局变量所做的任何更改。

例如,下面的ObjectScript代码定义了事务的开始,设置了一些全局变量节点,然后根据ok的值提交或回滚事务:

00
0 0 14
文章
Michael Lei · 五月 8 阅读大约需 5 分钟
InterSystems IRIS 上的 COVID-19 分析

大家好!

约翰·霍普金斯大学每天都会发布有关 COVID-19 疫情的新数据。

我在部署于 GCP Kubernetes 上的 docker 中使用 InterSystems IRIS Community Edition 构建了一个简单的 InterSystems IRIS Analytics 仪表板,可显示疾病爆发的关键指标。

00
0 0 33
文章
Michael Lei · 五月 8 阅读大约需 8 分钟
将 Python JDBC 连接到 IRIS 数据库 - 快速笔记

关键字:Python,JDBC,SQL,IRIS,Jupyter Notebook,Pandas,Numpy ,机器学习 

1. 目的

这是一个用于演示的 5 分钟快速笔记,通过 Jupyter Notebook 中的 Python 3 调用 IRIS JDBC 驱动程序,以经由 SQL 语法从 IRIS 数据库实例读取数据和向 IRIS 数据库实例写入数据。 

去年,我发表了关于将 Python 绑定到 Cache 数据库的简要笔记(第 4.7 节)。 如何使用 Python 挂入 IRIS 数据库以将其数据读入 Pandas 数据框和 NumPy 数组进行常规分析,然后再将一些经过预处理或标准化的数据写回 IRIS 中,准备进一步用于 ML/DL 管道,现在可能是时候回顾一些选项和讨论了。

一些立即浮现的快速选项

00
0 0 36
文章
姚 鑫 · 五月 7 阅读大约需 7 分钟
第三章 使用多维存储(全局变量)(三)

第三章 使用多维存储(全局变量)(三)

在全局变量中复制数据

若要将全局变量(全部或部分)的内容复制到另一个全局变量(或局部数组)中,请使用ObjectScript Merge命令。

下面的示例演示如何使用Merge命令将OldData全局变量的全部内容复制到NewData全局变量中:

 Merge ^NewData = ^OldData

如果合并命令的source参数有下标,则复制该节点及其后代中的所有数据。如果Destination参数有下标,则使用目标地址作为顶级节点复制数据。例如,以下代码:

 Merge ^NewData(1,2) = ^OldData(5,6,7)

^OldData(5,6,7)及其下的所有数据复制到^NewData(1,2)

00
0 0 12
文章
姚 鑫 · 五月 6 阅读大约需 5 分钟
第三章 使用多维存储(全局变量)(二)

第三章 使用多维存储(全局变量)(二)

遍历全局变量中的数据

有许多方法可以遍历(迭代)存储在全局变量中的数据。

$ORDER(下一个/上一个)函数

ObjectScript $Order函数允许顺序访问全局中的每个节点。

$ORDER函数返回给定级别(下标编号)的下一个下标的值。例如,假设定义了以下全局设置:

 Set ^Data(1) = ""
 Set ^Data(1,1) = ""
 Set ^Data(1,2) = ""
 Set ^Data(2) = ""
 Set ^Data(2,1) = ""
 Set ^Data(2,2) = ""
 Set ^Data(5,1,2) = ""

要查找第一个第一级下标,我们可以使用:

00
0 0 25
文章
姚 鑫 · 五月 5 阅读大约需 6 分钟
第三章 使用多维存储(全局变量)(一)

第三章 使用多维存储(全局变量)(一)

本章描述了使用多维存储(全局变量)可以执行的各种操作。

以全局变量存储数据

在全局节点中存储数据很简单:像对待任何其他变量一样对待全局变量。
区别在于对全局变量的操作是自动写入数据库的。

创建全局变量

创建新的全局变量不需要设置工作;只需将数据设置为全局变量即可隐式创建新的全局结构。可以创建全局变量(或全局变量下标)并通过单个操作将数据放入其中,也可以创建全局变量(或下标)并通过将其设置为空字符串将其保留为空。在ObjectScript中,这些操作是使用SET命令完成的。

下面的例子定义了一个名为Color(如果还不存在)的全局变量,并将值“Red”与之关联。
如果已经存在一个名为Color的全局变量,那么这些示例将其修改为包含新信息。

在ObjectScript中:

00
0 0 9
文章
姚 鑫 · 五月 4 阅读大约需 7 分钟
第二章 全局变量结构(二)

第二章 全局变量结构(二)

全局变量物理结构

全局变量使用高度优化的结构存储在物理文件中。管理此数据结构的代码也针对运行InterSystems IRIS的每个平台进行了高度优化。这些优化确保全局操作具有高吞吐量(每单位时间的操作数)、高并发性(并发用户总数)、缓存的高效使用,并且不需要与性能相关的持续维护(例如频繁的重建、重新索引或压缩)。

用于存储全局变量的物理结构是完全封装的;应用程序不会以任何方式担心物理数据结构。

全局变量存储在磁盘上的一系列数据块中;每个块的大小(通常为8KB)是在创建物理数据库时确定的。为了提供对数据的高效访问,InterSystems IRIS维护了一种复杂的B树状结构,该结构使用一组指针块将相关数据块链接在一起。InterSystems IRIS维护一个缓冲池-经常引用的块的内存缓存-以降低从磁盘获取块的成本。

00
0 0 12
文章
姚 鑫 · 五月 3 阅读大约需 6 分钟
第二章 全局变量结构(一)

第二章 全局变量结构(一)

本章描述全局变量的逻辑视图,并概述全局变量是如何在磁盘上物理存储的。

全局变量的逻辑结构

全局变量是存储在物理InterSystems IRIS®数据库中的命名多维数组。
在应用程序中,全局变量到物理数据库的映射基于当前名称空间——名称空间提供一个或多个物理数据库的逻辑统一视图。

全局命名约定和限制

全局名称指定其目标和用途。有两种类型的全局变量和一组单独的变量,称为“进程私有全局变量”:
- 全局变量 - 这就是所谓的标准全局变量;通常,这些变量被简称为全局变量。它是驻留在当前命名空间中的永久性多维数组。
- 扩展全局引用-这是位于当前命名空间以外的命名空间中的全局引用。
- 进程私有全局变量-这是一个数组变量,只有创建它的进程才能访问。

全局变量的命名约定如下:

00
0 0 27
文章
姚 鑫 · 五月 2 阅读大约需 5 分钟
第一章 简介global

第一章 简介global

InterSystems IRIS®的核心功能之一是其多维存储引擎。此功能允许应用程序以紧凑、高效的多维稀疏数组存储数据。这些数组称为全局数组。

本章介绍:
- 什么是全局变量(globals ),以及可以对其执行的操作。
- 全局变量的逻辑和物理结构,包括在分布式数据库体系结构中使用全局变量。
- 如何使用全局变量在应用程序中存储和检索数据。
- 如何使用全局变量。

特点

全局变量提供了一种在持久的多维数组中存储数据的易于使用的方法。

例如,可以使用名为^Settings的全局变量将值“Red”与键“Color”相关联:

SET ^Settings("Color")="Red"

可以利用全局变量的多维特性来定义更复杂的结构:

00
0 0 25
文章
姚 鑫 · 四月 30 阅读大约需 12 分钟
第八章 解释SQL查询计划(二)

第八章 解释SQL查询计划(二)

SQL语句的详细信息

有两种方式显示SQL语句的详细信息:

  • 在SQL Statements选项卡中,通过单击左侧列中的Table/View/Procedure Name链接选择一个SQL Statement。
    这将在单独的选项卡中显示SQL语句详细信息。
    该界面允许打开多个选项卡进行比较。
    它还提供了一个Query Test按钮,用于显示SQL Runtime Statistics页面。
  • 从表的Catalog Details选项卡(或SQL Statements选项卡)中,通过单击右边列中的Statement Text链接选择一个SQL语句。
    这将在弹出窗口中显示SQL语句详细信息。

可以使用“SQL语句详细信息”显示来查看查询计划,并冻结或解冻查询计划。

00
0 0 16
文章
姚 鑫 · 四月 29 阅读大约需 10 分钟
第九章 冻结计划

第九章 冻结计划

大多数SQL语句都有一个关联的查询计划。查询计划是在准备SQL语句时创建的。默认情况下,添加索引和重新编译类等操作会清除此查询计划。下次调用查询时,将重新准备查询并创建新的查询计划。冻结计划使可以跨编译保留(冻结)现有查询计划。查询执行使用冻结的计划,而不是执行新的优化并生成新的查询计划。

对系统软件的更改也可能导致不同的查询计划。通常,这些升级会带来更好的查询性能,但软件升级可能会降低特定查询的性能。冻结计划使可以保留(冻结)查询计划,以便查询性能不会因系统软件升级而改变(降级或提高)。

00
0 0 23
文章
姚 鑫 · 四月 28 阅读大约需 11 分钟
第八章 解释SQL查询计划(一)

第八章 解释SQL查询计划(一)

SQL语句

这个SQL语句列表为每个表提供了SQL查询和其他操作的记录,包括插入、更新和删除。
这些SQL语句链接到一个查询计划,该链接提供冻结该查询计划的选项。

系统为每个SQL DML操作创建一条SQL语句。
这提供了一个按表、视图或过程名称列出的SQL操作列表。
如果更改表定义,可以使用此SQL Statements列表来确定每个SQL操作的查询计划是否会受到此DDL更改的影响,以及/或是否需要修改某个SQL操作。
然后,可以:

  • 确定每个SQL操作使用哪个查询计划。
    可以决定使用反映对表定义所做更改的修改后的查询计划。
    或者可以冻结当前查询计划,保留在更改表定义之前生成的查询计划。
  • 根据对表定义所做的更改,确定是否对对该表执行SQL操作的例程进行代码更改。

注意:SQL语句是一个SQL例程列表,它们可能会受到表定义更改的影响。
它不应该用作表定义或表数据更改的历史记录。

创建SQL语句操作

下面的SQL操作会创建相应的SQL语句:

00
0 0 15
文章
姚 鑫 · 四月 27 阅读大约需 5 分钟
第七章 解释SQL查询计划

第七章 解释SQL查询计划

本章介绍由ShowPlan生成的InterSystems SQL查询访问计划中使用的语言和术语。

存储在映射中的表

SQL表存储为一组映射。
每个表都有一个包含表中所有数据的主映射;
表还可以有其他的映射,如索引映射和位图。
每个映射可以被描绘成一个多维全局,其中一些字段的数据在一个或多个下标中,其余字段存储在节点值中。
下标控制要访问的数据。

  • 对于主映射,RowIDIDKEY字段通常用作映射下标。
  • 对于索引映射,通常将其他字段用作前导下标,将RowID/IDKEY字段用作附加的较低级别的下标。
  • 对于位图,可以将位图层视为附加的RowID下标级别。但是,位图只能用于为正整数的RowID

发展计划

编译SQL查询会生成一组指令来访问和返回查询指定的数据。
这些指令表示为. int例程中的ObjectScript代码。

00
0 0 27