全部时间
文章
· 十一月 29, 2021 阅读大约需 3 分钟
翻译文章: 不是所有的多模型数据库都是相同的

不是所有的多模型数据库都是相同的

作者:David Menninger

今天,许多现代应用程序需要的数据库管理能力往往不能通过一种方式就能实现。例如,当我建立一个支持旅游推荐和预订业务的应用程序时,我可能需要使用一些不同类型的数据库,包括用于用户会话的键值存储,用于产品目录的文档数据库,用于推荐的图形数据库,以及用于财务数据的关系数据库。

0 0
0 162
InterSystems 开发者社区汇聚了 25,659 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 七月 14, 2021 阅读大约需 5 分钟
第三章 处理文件和目录名

第三章 处理文件和目录名

%Library.File类提供了几个可用于处理文件名和目录名的类方法。在大多数情况下,文件和目录不需要存在即可使用这些方法。

获取文件名和目录名

%Library.File类提供可用于获取部分文件名和目录名的类方法。

在给定完整路径名的情况下,使用GetDirectory()GetFilename()分别获取目录和短文件名。对于此方法,不允许使用部分目录名。

DHC-APP>set filename = "e:\temp\config.txt"

DHC-APP>write ##class(%File).GetDirectory(filename)
E:\temp\
DHC-APP>write ##class(%File).GetFilename(filename)
config.txt

在给定文件名的情况下,使用CanonicalFilename()从根目录获取完整路径:

0 0
0 162
文章
· 六月 3, 2021 阅读大约需 10 分钟
第十五章 Caché WebSocket

第十五章 Caché WebSocket

使用WebSockets (RFC 6455)

web是围绕请求/响应范例构建的:客户机向服务器发送请求,服务器通过向客户机发送响应进行响应。此范式和HTTP本身不允许此通信协议的反向形式,即服务器与客户机启动请求/响应周期。已经开发了许多技术来解决了这个问题,即服务器可以启动与客户机的对话。这些技术通常被称为基于推送或 comet-based的技术,它们都存在不适合在web基础设施上进行全面部署的问题。目前使用的三种主要技术如下所述。

Short Polling 短轮询

使用这种技术,客户端定期发送HTTP请求来检测服务器状态的变化,服务器被编程为立即响应。空响应表示没有变化。

0 0
0 162
文章
· 四月 28, 2021 阅读大约需 11 分钟
第八章 解释SQL查询计划(一)

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

SQL语句

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

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

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

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

创建SQL语句操作

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

0 0
0 162
文章
· 四月 23, 2021 阅读大约需 6 分钟
第五章 优化查询性能(二)

第五章 优化查询性能(二)

使用索引

索引通过维护常见请求数据的排序子集,提供了一种优化查询的机制。
确定哪些字段应该被索引需要一些思考:太少或错误的索引和关键查询将运行太慢;
太多的索引会降低插入和更新性能(因为必须设置或更新索引值)。

什么索引

要确定添加索引是否会提高查询性能,请从管理门户SQL接口运行查询,并在性能中注意全局引用的数量。
添加索引,然后重新运行查询,注意全局引用的数量。
一个有用的索引应该减少全局引用的数量。
可以通过在WHERE子句或ON子句条件前使用%NOINDEX关键字来防止使用索引。

应该为联接中指定的字段(属性)编制索引。左外部联接从左表开始,然后查看右表;因此,应该为右表中的字段建立索引。在下面的示例中,应该为T2.f2编制索引:

0 0
0 162
文章
· 三月 7, 2021 阅读大约需 17 分钟
第五章 SQL定义表(二)

第五章 SQL定义表(二)

主键

InterSystems IRIS提供了两种方法来唯一标识表中的行:RowID和主键。

可选的主键是一个有意义的值,应用程序可以使用该值唯一地标识表中的行(例如,联接中的行)。主键可以是用户指定的数据字段,也可以是多个数据字段的组合。主键值必须是唯一的,但不必是整数值。 RowID是一个内部用于标识表中行的整数值。通常,主键是由应用程序生成的值,而RowID是由InterSystems IRIS生成的唯一整数值。

系统会自动创建一个主map,以使用RowID字段访问数据行。如果定义主键字段,系统将自动创建并维护主键索引。

0 0
0 162
SUTA培训作为专业的InterSystems技术学习平台之一,汇聚了权威技术专家与值得探讨的技术主题,内容涵盖了InterSystems数据平台基础管理运维的技能和知识。通过SUTA培训,新客户能够系统学习管理运维工作的整体架构和基础概念,老客户可以更深入、全面地加强对管理运维工作的理解和提升。

InterSystems 2024 SUTA培训现已启动,欢迎参加!

1 0
0 161

医院拥有丰富的CDA文档库,如何实现数据的有效利用和共享?

//player.bilibili.com/player.html?aid=274423967&bvid=BV1mF411f77g&cid=1226555487&page=1
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 161
文章
· 八月 17, 2023 阅读大约需 1 分钟
使用 CSP 将Globals下载为 XML

受到@Evgeny.Shvarov 的问题和@Ashok.Kumar 的回复的启发
我已经创建了一个用于把Global下载成 XML 文件的基础

如何使用:
只需调用 http://<your_server>/csp/samples2/dc.Gdown.cls ?GBL=global_name之类的页面

gbl-name 不带首字母 ^(插入符号)

输出具有默认名称 <global_name>.XML 您可以选择。

已知限制:

0 0
0 161
文章
· 五月 18, 2023 阅读大约需 1 分钟
【视频】对话:“数据二十条”与FHIR标准

“数据二十条”体现了怎样的制度创新和政策智慧?FHIR将如何发挥作用?来看InterSystems亚太区总经理老卢(Luciano Brustia)与CHIMA主任委员王才有的精彩探讨!

//player.bilibili.com/player.html?aid=826279895&bvid=BV1Yg4y1F7ws&cid=1133505317&page=1
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 161
2022 年,InterSystems 开发者社区中文版共有会员515位,共发布了 745 篇帖子,以下列举了2022年度最热门、讨论最多、点赞数最高的TOP 10文章,以及最受欢迎的作者,感谢各位开发者在 2022 年对 InterSystems 社区的贡献!
0 0
0 161

开发者们大家好!

我们非常激动地与您分享我们为每个社区成员提供的在线分析仪表板(Online Analytics Dashboard)这一全新的强大功能🔥

从现在开始,您可以看到您自己的当周、月和所有时间的详细统计数据,包括:

  • 浏览量,点赞量,评论量,关注量
  • 时间轴图——针对浏览量、点赞、关于您的帖子的行动、评论
  • 包含关于您的每个帖子的浏览量、评论和点赞信息的表

      1 0
      0 161
      文章
      · 五月 30, 2022 阅读大约需 4 分钟
      第157章 SQL函数 WEEK

      第157章 SQL函数 WEEK

      一个日期函数,它将一年中的第几周作为日期表达式的整数返回。

      大纲

      {fn WEEK(date-expression)}
      

      参数

      • date-expression - 一个表达式,它是列的名称、另一个标量函数的结果,或者是日期或时间戳文字。

      描述

      WEEK 接受一个日期表达式,并返回该日期从年初开始的周数。

      0 0
      0 161
      文章
      · 十一月 22, 2021 阅读大约需 6 分钟
      第八十四章 SQL命令 UPDATE(三)

      第八十四章 SQL命令 UPDATE(三)

      参照完整性

      如果没有指定%NOCHECK, IRIS将使用系统范围的配置设置来确定是否执行外键引用完整性检查;
      默认值是执行外键引用完整性检查。
      可以在系统范围内设置此默认值,如外键引用完整性检查中所述。
      要确定当前系统范围的设置,调用$SYSTEM.SQL.CurrentSettings()

      此设置不适用于用NOCHECK关键字定义的外键。

      UPDATE操作期间,对于每个具有更新字段值的外键引用,都会在被引用表中的旧(更新前)引用行和新(更新后)引用行上获得共享锁。
      这些行在执行引用完整性检查和更新行时被锁定。
      然后释放锁(直到事务结束才持有锁)。
      这确保了引用的行不会在引用完整性检查和更新操作完成之间发生更改。
      锁定旧行可以确保在可能的UPDATE回滚之前不会更改所引用的行。
      锁定新行可以确保引用的行不会在引用完整性检查和更新操作完成之间发生更改。

      0 0
      0 161
      文章
      · 九月 5, 2021 阅读大约需 6 分钟
      第七章 SQL命令 CREATE INDEX(二)

      第七章 SQL命令 CREATE INDEX(二)

      UNIQUE关键字

      使用UNIQUE关键字,可以指定索引中的每条记录都有一个唯一的值。
      更具体地说,这确保了索引(以及包含索引的表)中的两条记录不能具有相同的排序值。
      默认情况下,大多数索引使用大写字符串排序(使搜索不区分大小写)。
      在本例中,值“Smith”“SMITH”被认为是相等的,而不是唯一的。
      CREATE INDEX不能指定非默认索引字符串排序规则。
      通过在类定义中定义索引,可以为各个索引指定不同的字符串排序规则。

      可以更改名称空间的默认排序规则,使字段/属性在默认情况下区分大小写。
      更改此选项需要重新编译命名空间中的所有类并重新构建所有索引。
      转到Management Portal,选择Classes选项,为存储的查询选择名称空间,并使用Compile选项重新编译相应的类。
      然后重建所有指数。
      它们将区分大小写。

      注意:当表的数据被其他用户访问时,不要重建索引。
      这样做可能会导致不准确的查询结果。

      0 0
      0 161
      文章
      · 五月 25, 2021 阅读大约需 7 分钟
      第六章 从POP3服务器提取电子邮件

      第六章 从POP3服务器提取电子邮件

      从POP3服务器提取电子邮件

      与POP3服务器通信

      如果拥有所需的权限,并且邮件服务器正在运行,则可以使用POP3协议从该服务器下载和处理电子邮件。通常,要与POP3服务器通信,请登录,执行一系列影响邮箱的操作,然后提交或回滚任何更改。要在系统间IRIS中执行此操作,请执行以下操作:

      0 0
      0 161
      文章
      · 三月 18, 2021 阅读大约需 6 分钟
      第十二章 使用嵌入式SQL(二)

      第十二章 使用嵌入式SQL(二)

      嵌入式SQL代码

      简单的SQL语句

      可以将简单的SQL语句(单个嵌入式SQL语句)用于各种操作,包括:

      • INSERTUPDATEINSERT OR UPDATEDELETE语句。
      • `DDL语句。
      • GRANTREVOKE语句。
      • 只返回一行的SELECT语句(或者如果只对返回的第一行感兴趣)。

      简单的SQL语句也被称为非基于游标的SQL语句。本章稍后将介绍基于游标的嵌入式SQL。

      例如,以下语句查找ID为43的(唯一的)患者的姓名:

       &sql(SELECT Name INTO :name
          FROM Patient
          WHERE %ID = 43)
      

      如果对可以返回多行的查询使用简单语句,则只返回第一行:

      0 0
      0 161
      文章
      · 六月 10, 2024 阅读大约需 2 分钟
      类定义中如何使用列式存储

      列式存储是 InterSystems IRIS 提供的一项较新的技术。与传统的基于行的存储不同,它通过将数据存储在列而不是行中来优化查询处理,从而实现更快的访问和检索相关信息。

      下面是使用SQL创建此类表的例子

      1 0
      0 160
      文章
      · 四月 15, 2024 阅读大约需 3 分钟
      IRIS/Caché SQL优化经验分享 - SQL性能分析工具

      SQL Performance Analysis Toolkit,或者叫SQL性能分析工具,并不是给维护人员使用的。

      在RIS文档里是这么说的: 这个工具包里的工具收集SQL执行的详细信息,用来找出一个查询计划的特殊问题。 使用这些信息,开发人员改善这个查询的效率。 它可以非常大的增加服务器的开销。..., 它不应该被持续执行。

      要做分析,首先您需要打开一个采集“SQL runtime Statistics"的开关来收集详细信息,这个开关默认的状态是OFF。 文档里说: The SQL Performance Analysis Toolkit offers support specialists the ability to profile specific SQL statements or groups of statements.

      这里的"support specialists"指的是厂家的技术支持人员。

      因此,总结如下:

      0 0
      0 160
      文章
      · 九月 3, 2023 阅读大约需 7 分钟
      在 Python 上使用IRIS REST API 进行 SQL 迁移

      对于即将到来的Python 竞赛,我想制作一个小型演示,介绍如何使用 Python 创建一个简单的 REST 应用程序,该应用程序将使用 IRIS 作为数据库。使用这个工具

      • FastAPI框架,高性能,易学,快速编码,可用于生产
      • SQLAlchemy 是 Python SQL 工具包和对象关系映射器,为应用程序开发人员提供 SQL 的全部功能和灵活性
      • Alembic 是一个轻量级数据库迁移工具,可与 SQLAlchemy Database Toolkit for Python 一起使用。
      • Uvicorn 是 Python 的 ASGI Web 服务器实现。

      1 0
      0 160
      文章
      · 八月 7, 2023 阅读大约需 1 分钟
      如何自定义 Web 网关错误消息

      InterSystems 常见问题解答标题

      您可以为以下 Web Gateway 错误消息/系统响应设置单独的错误页面:

      • 服务器错误
      • 服务器繁忙
      • 服务器无法使用
      • 服务器超时
      • 连接关闭

      在 Web Gateway 管理界面上进行设置([Management Portal] > [System Administration] > [Configuration] > [Web Gateway Management] > [Configuration] > [Default Parameters])。

      在“默认参数”(Default Parameters )菜单的“错误页面”部分中,设置要显示的 html 页面的文件名或发生错误时要重定向到的 URL。

      1 0
      0 160

      第六十三章 开发Productions - ObjectScript Productions - 部署Production - 在目标系统上部署Production

      管理门户自动执行将Productions从开发系统部署到实时系统的过程。本节介绍当在实时系统上加载Productions的新版本时,IRIS 会执行哪些操作。

      获得部署包 XML 文件后,可以将其加载到目标系统上。在管理门户中,选择正确的命名空间并单击互操作性、管理、部署更改、部署,然后单击打开部署或打开本地部署按钮,具体取决于 XML 部署包位于服务器上还是本地计算机上。如果位于服务器计算机上,则“打开本地部署”按钮不处于活动状态。选择 XML 部署包文件后,表单会列出部署包中的新项和更改项,显示创建包时指定的部署说明,并允许指定以下部署设置:

      0 0
      0 160

      第七十三章 使用 irisstat 实用程序监控 IRIS - 使用选项运行 irisstat

      使用选项运行 irisstat

      不带选项运行 irisstat 会生成基本报告。通常,运行 irisstat 以获得特定信息。要指定目标信息,可以包括或排除如下选项:

      • 要包含(打开)一个选项,请指定一个标志,后跟一个 1(或其他级别)。
      • 要排除(关闭)一个选项,请指定一个标志后跟一个 0

      例如,要在 irisstat 报告中包含全局文件表 (GFILETA) 部分,请使用 -m1 选项:

      C:\iris-install-dir\Bin\irisstat -m1
      

      或者,要关闭默认的基本选项,请使用 -a0 选项:

      0 0
      0 160
      文章
      · 一月 17, 2023 阅读大约需 3 分钟
      HTAP 数据平台插入和查询速度测试

      每秒插入大量记录,同时同步进行实时查询的能力称为混合事务分析处理 (HTAP)。 它也被称为 Transactional analytics 或 Transanalytics 或 Translytics,当存在来自工业物联网传感器的持续实时数据流或股票市场的波动数据时,它是非常有用的技术,并且允许实时或接近实时地查询这些数据集。

      在本文中我将分享我在不同平台上运行带有测试流数据的演示,同时进行持续插入和持续查询,看看每个平台上有何不同反应,如在每个平台上输入和输出数据的速度以及它们的性能。 我在本演示中试验的平台包括:InterSystems IRIS、MariaDB 和 MySQL。

      试验结果

      20秒的测试时间里:

      0 0
      0 160

      第二十六章 使用系统监视器 - 使用 ^%SYSMONMGR 管理应用程序监视器

      如使用 ^%SYSMONMGR 实用程序中所述,^%SYSMONMGR 实用程序允许管理和配置系统监视器,包括应用程序监视器。该实用程序可以在任何名称空间中执行,使用它所做的更改只会影响启动它的名称空间。必须通过在该命名空间中启动 ^%SYSMONMGR 来为配置的每个启动命名空间维护单独的应用程序监视器配置。

      注意:在对应用程序监视器配置进行任何更改(例如激活类)之后,必须在进行更改的名称空间中重新启动系统监视器以使更改生效。

      要管理应用程序监视器,请在终端中输入以下命令:

      %SYS>do ^%SYSMONMGR
      

      然后为管理应用程序监视器输入 5。显示以下菜单:

      0 0
      0 160