文章 姚 鑫 · 八月 29, 2021 阅读大约需 6 分钟 精华文章置顶----第一章 SQL中使用的符号 第一章 SQL中使用的符号 SQL中用作运算符等的字符表 符号表 每个符号的名称后跟其ASCII十进制代码值。 #Caché 0 0 0 472
讨论 Michael Lei · 四月 24, 2021 置顶--InterSystems 产品学习/使用/问题经验分享讨论区 欢迎大家将相关的经验在这个讨论区分享。 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #官方开发者社区 0 18 1 369
文章 Michael Lei · 七月 6, 2021 阅读大约需 16 分钟 精华文章置顶--虚拟化大型数据库 - VMware CPU 容量规划 供应商或内部团队要求说明如何为 VMware vSphere 上运行的大型生产数据库进行 CPU 容量规划。 总的来说,在调整大型生产数据库的 CPU 规模时,有几个简单的最佳做法可以遵循: 为每个物理 CPU 核心规划一个 vCPU。 考虑 NUMA 并按理想情况调整虚拟机规模,以使 CPU 和内存对于 NUMA 节点是本地的。 合理调整虚拟机规模。 仅在需要时才添加 vCPU。 通常,这会引出几个常见问题: 由于使用超线程技术,VMware 创建的虚拟机的 CPU 数量可以是物理 CPU 数量的两倍。 那不就是双倍容量吗? 创建的虚拟机不应该有尽可能多的 CPU 吗? 什么是 NUMA 节点? 我应该在意 NUMA 吗? 虚拟机应该合理调整规模,但我如何知道什么时候合理? 我以下面的示例回答这些问题。 但也要记住,最佳做法并不是一成不变的。 有时需要做出妥协。 例如,大型生产数据库虚拟机很可能不适合 NUMA 节点,但我们会看到,其实是没问题的。 最佳做法是指必须针对应用程序和环境进行评估和验证的准则。 #InterSystems 业务解决方案和架构 #系统管理 #部署 #Caché #InterSystems IRIS #InterSystems IRIS for Health #文档 0 0 0 339
文章 姚 鑫 · 三月 30, 2021 阅读大约需 9 分钟 第十四章 使用SQL Shell界面(一) 第十四章 使用SQL Shell界面(一) 执行SQL的其他方式 可以使用$SYSTEM.SQL.Execute() 方法从Terminal命令行执行一行SQL代码,而无需调用SQL Shell。以下示例显示如何在终端提示下使用此方法: DHC-APP>SET result=$SYSTEM.SQL.Execute("SELECT TOP 5 name,dob,ssn FROM Sample.Person") DHC-APP>DO result.%Display() Name DOB SSN yaoxin 54536 111-11-1117 xiaoli 111-11-1111 姚鑫 63189 111-11-1112 姚鑫 63189 111-11-1113 姚鑫 50066 111-11-1114 5 Rows(s) Affected 如果SQL语句包含错误,则Execute()方法成功完成;否则,该方法无效。 %Display()方法返回错误信息,例如: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 319
文章 Qiao Peng · 三月 29, 2021 阅读大约需 4 分钟 精华文章置顶--CDC系列之一 :使用Dejournal Filter在InterSystems IRIS/Caché上通过Mirroring实现CDC功能 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类型的异步镜像成员获取数据变更。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 2 1 245
文章 Nicky Zhu · 一月 8, 2021 阅读大约需 3 分钟 置顶--InterSystems 数据平台的容量规划和性能系列文章 索引 下文按顺序列出了数据平台上容量计划和性能系列中的所有帖子。 也列出了我的其他帖子。 我将随着该系列中新帖子的增加进行更新。 容量计划和性能系列 通常,每个帖子的内容都建立在上一个帖子的基础上,但您也可以直接浏览感兴趣的主题。 #InterSystems 业务解决方案和架构 #提示和技巧 #系统管理 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 220
文章 Qiao Peng · 一月 17 阅读大约需 8 分钟 精华文章置顶--多语言字符集系列文章--第一篇 多语言字符集和相关标准简史 各大技术社区常年充斥着关于字符集支持、乱码的问题。Cache’/Ensemble/HealthConnect/IRIS的用户也经常遇到这类问题。为何文字乱码在信息化发展这么久后还会困扰我们?因为字符集、多语言实在有点复杂。 我计划写三篇:第一篇花点时间回顾一下多语言字符集的简史,第二篇介绍一下各种技术对于字符集和字符编码的使用声明,最后一篇会介绍常见的ISC技术和工具的乱码、尤其是中文乱码的现象和解决办法。 #本地化 #语言 #Caché #InterSystems IRIS #InterSystems IRIS for Health #其他 3 0 2 211
文章 姚 鑫 · 三月 23, 2021 阅读大约需 12 分钟 第十三章 使用动态SQL(一) 第十三章 使用动态SQL(一) 动态SQL简介 动态SQL是指在运行时准备并执行的SQL语句。在动态SQL中,准备和执行SQL命令是单独的操作。通过动态SQL,可以以类似于ODBC或JDBC应用程序的方式在InterSystems IRIS中进行编程(除了要在与数据库引擎相同的进程上下文中执行SQL语句)。动态SQL是从ObjectScript程序调用的。 动态SQL查询是在程序执行时准备的,而不是在编译时准备的。这意味着编译器无法在编译时检查错误,并且不能在Dynamic SQL中使用预处理器宏。这也意味着执行程序可以响应用户或其他输入而创建专门的Dynamic SQL查询。 动态SQL可用于执行SQL查询。它也可以用于发出其他SQL语句。本章中的示例执行SELECT查询。 动态SQL用于执行InterSystems IRIS SQL Shell,InterSystems IRIS管理门户网站“执行查询”界面,SQL代码导入方法以及“数据导入和导出实用程序”。 在Dynamic SQL(和使用它的应用程序)中,行的最大大小为3,641,144个字符。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 179
文章 姚 鑫 · 四月 5, 2021 阅读大约需 6 分钟 第十七章 使用触发器 第十七章 使用触发器 本章介绍如何在Intersystems SQL中定义触发器。触发器是响应某些SQL事件执行的代码行。本章包括以下主题: 定义触发器 有几种方法可以为特定表定义触发器: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 165
问题 tie yu · 六月 17, 2021 为Caché 进行 Prometheus 监控时,配置好application /metrics后, Prometheus 连接报错“server returned HTTP status 404 Not Found”是什么原因 为Caché 进行 Prometheus 监控时,配置好应用程序/metrics, Prometheus配置文件配置完成后,抓取不到cache监控数据,提示“server returned HTTP status 404 Not Found”。请问是什么原因? #SAM - System Alerting and Monitoring #Caché 0 1 0 165
公告 姚 鑫 · 六月 7, 2021 大型史诗级免费技术培训Caché百讲 每周三晚七点半 点击链接直接加入会议:https://meeting.tencent.com/p/8182989668?rs=25 会议 ID:818 298 9668 #Caché #InterSystems IRIS 3 3 0 164
文章 姚 鑫 · 四月 6, 2021 阅读大约需 13 分钟 第十八章 定义和使用存储过程 第十八章 定义和使用存储过程 本章介绍如何在IntersystemsIRIS®数据平台上定义和使用Intersystems SQL中的存储过程。它讨论了以下内容: 存储过程类型的概述 如何定义存储过程 如何使用存储过程如 何列出存储过程及其参数。 概述 SQL例程是可执行的代码单元,可以由SQL查询处理器调用。 SQL例程有两种类型:功能和存储过程。从支持FunctionName()语法的任何SQL语句中调用函数。存储过程只能由CALL语句调用。函数接受某些输入定向参数并返回单个结果值。存储过程接受某些输入,输入输出和输出参数。存储过程可以是用户定义的函数,返回单个值。 CALL语句也可以调用函数。 与大多数关系数据库系统一样,Intersystems Iris允许创建SQL存储过程。存储过程(SP)提供存储在数据库中的可调用可调用的程序,并且可以在SQL上下文中调用(例如,通过使用呼叫语句或通过ODBC或JDBC)。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 159
文章 Jeff Liu · 一月 8, 2021 阅读大约需 5 分钟 ObjectScript类浏览器 - 以UML类图方式浏览ObjectScript类 你好! #Object Data Model #ObjectScript #可视化 #工具 #Caché #Ensemble #HealthShare #InterSystems IRIS #Open Exchange Open Exchange app 0 0 1 151
文章 Qiao Peng · 三月 29, 2021 阅读大约需 8 分钟 CDC系列之三 :建立InterSystems IRIS/Caché的Global数据变更与SQL表记录的对应关系 一些熟悉SQL的用户希望用SQL表的方式获取InterSystems IRIS/Caché的变更数据。知道了Global和SQL表的对应关系,就可以知道是哪一张SQL表数据变化了,甚至通过SQL查询获取变更的数据。下面介绍如何实现这种方式,和注意事项。 获取Global和SQL表的对应关系 通常InterSystems IRIS/Caché的持久化的对象模型(类)和SQL表之间有一一对应的关系;而持久化的对象模型和Global之间也有一一对应关系。建立Global和SQL表的对应关系,通常可以使用以下的SQL查询特定SQL schema下所有表对应的Global: #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 151
文章 Li Yan · 一月 18, 2021 阅读大约需 22 分钟 在 Amazon EC2 上部署 InterSystems 技术 - 参考架构 企业需要快速有效地扩展和管理其全球计算基础设施,同时优化和管理资本成本及支出。 #AWS #iFind #InterSystems 业务解决方案和架构 #云 #系统管理 #Caché 1 0 1 144
文章 姚 鑫 · 三月 15, 2021 阅读大约需 6 分钟 第十章 SQL排序(二) 第十章 SQL排序(二) 查询排序 InterSystems SQL提供了排序规则功能,可用于更改字段的排序规则或显示。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 142
文章 Hao Ma · 一月 10, 2021 阅读大约需 15 分钟 InterSystems 最佳实践系列---APM – 监控 SQL 查询性能 自 Caché 2017 以后,SQL 引擎包含了一些新的统计信息。 这些统计信息记录了执行查询的次数以及运行查询所花费的时间。 对于想要对包含许多 SQL 语句的应用程序的性能进行监控和尝试优化的人来说,这是一座宝库,但访问数据并不像一些人希望的那么容易。 #SQL #性能 #监视 #Caché #InterSystems IRIS 0 0 0 141
文章 Michael Lei · 五月 12, 2021 阅读大约需 17 分钟 InterSystems 最佳实践系列之--数据平台和性能 – 虚拟机备份和 Caché 冻结/解冻脚本 在本帖中,我将展示使用外部备份来备份 Caché 的策略,以及与基于快照的解决方案集成的示例。 如今,大多数解决方案部署在基于 VMware 的 Linux 上,因此许多帖子都以展示解决方案如何集成 VMware 快照技术为例。 Caché 备份 - 包括电池? Caché 安装后即包含 Caché 在线备份,可提供不间断的 Caché 数据库备份。 但随着系统规模的扩大,您应该考虑更高效的备份解决方案。 集成了快照技术的外部备份是推荐的系统(包括 Caché 数据库)备份解决方案。 外部备份有特殊注意事项吗? 外部备份的在线文档包含了全部详细信息。 一个关键考虑事项是: “为确保快照的完整性,Caché 提供了在创建快照时冻结数据库写操作的方法。 在创建快照期间,只冻结对数据库文件的物理写入,从而允许用户进程继续在内存中不间断地执行更新。” #InterSystems 业务解决方案和架构 #备份 #提示和技巧 #系统管理 #部署 #镜像 #Caché #InterSystems IRIS #InterSystems IRIS for Health #文档 0 0 0 140
文章 姚 鑫 · 三月 4, 2021 阅读大约需 9 分钟 第三章 SQL语言元素(一) 第三章 SQL语言元素(一) 命令和关键字 InterSystems SQL命令(也称为SQL语句)以关键字开头,后跟一个或多个参数。其中一些参数可能是子句或函数,由它们自己的关键字标识。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 5 0 138
文章 姚 鑫 · 五月 30, 2021 阅读大约需 8 分钟 第十一章 发送和接收IBM WebSphere MQ消息 第十一章 发送和接收IBM WebSphere MQ消息 InterSystems IRIS为IBM WebSphere MQ提供了一个接口,可以使用该接口在InterSystems IRIS和IBM WebSphere MQ的消息队列之间交换消息。要使用此接口,必须能够访问IBM WebSphere MQ服务器,并且IBM WebSphere MQ客户端必须与InterSystems IRIS在同一台计算机上运行。 该接口由%Net.MQSend和%Net.MQRecv类组成,这两个类都是%Net.abstractMQ的子类。这些类使用由InterSystems IRIS在所有合适的平台上自动安装的动态链接库。(这是Windows上的MQInterface.dll;其他平台的文件扩展名不同。)。反过来,InterSystems IRIS动态链接库需要IBM WebSphere MQ动态链接库。 该界面仅支持发送和接收文本数据,不支持二进制数据。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 135
文章 Qiao Peng · 四月 11 阅读大约需 8 分钟 InterSystems 数据平台与三级等保 - 第一篇 数据平台不仅要安全,还要合规,三级等保是我们要符合的主要安全规范。InterSystems的数据平台和集成平台产品都和三级等保有关。如果没有正确配置它们的安全选项,就会影响到整个系统的安全,影响到合规性。 在生产环境上,如何配置安全的InterSystems的数据平台,并达到三级等保的要求? 这个系列文章,针对InterSystems 数据平台的安全架构,围绕对三级等保的合规性展开,介绍如何配置出一个安全、合规的数据平台。 #安全 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 129
文章 姚 鑫 · 三月 11, 2021 阅读大约需 10 分钟 第八章 SQL修改数据库 第八章 SQL修改数据库 可以对现有的表使用SQL语句,也可以对相应的持久化类使用ObjectScript操作来修改InterSystems IRIS®数据平台数据库的内容。 不能修改定义为只读的持久类(表)。 使用SQL命令为维护数据的完整性提供了自动支持。 SQL命令是一个原子操作(全部或没有)。 如果表上定义了索引,SQL将自动更新它们以反映更改。 如果定义了任何数据或引用完整性约束,SQL将自动执行它们。 如果有任何已定义的触发器,执行这些操作将拉动相应的触发器。 插入数据 可以使用SQL语句或设置和保存持久化类属性将数据插入表中。 使用SQL插入数据 INSERT语句将一条新记录插入SQL表中。 可以插入一条记录或多条记录。 下面的示例插入一条记录。 它是插入单个记录的几种可用语法形式之一: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 128
文章 Michael Lei · 五月 12, 2021 阅读大约需 16 分钟 InterSystems 最佳实践系列之数据平台和性能 – 第 9 篇 InterSystems IRIS VMware 最佳实践指南 本贴提供了在 VMware ESXi 5.5 及更高版本的环境中部署 Caché 2015 及更高版本时,关于配置、系统规模调整和容量规划等方面的指南。 我假定您已经了解 VMware vSphere 虚拟化平台,所以直接给出推荐。 本指南中的推荐不特定于任何具体硬件或站点特定的实现,也不应作为规划和配置 vSphere 部署的全面指南,而是一份您可以做出选择的最佳实践配置清单。 我希望您的 VMware 专家实施团队能针对具体站点对这些推荐进行评估。 这里是 InterSystems 数据平台和性能系列的其他帖子的列表。 注:本帖更新于 2017 年 1 月 3 日,强调必须为生产数据库实例设置虚拟机内存预留,以保证 Caché 有足够内存可用,并且不会出现内存交换或膨胀而对数据库性能产生负面影响。 更多详细信息,请参见下面的内存部分。 #InterSystems 业务解决方案和架构 #系统管理 #Caché #InterSystems IRIS #InterSystems IRIS for Health #文档 0 0 0 124
文章 姚 鑫 · 三月 17, 2021 阅读大约需 9 分钟 第十二章 使用嵌入式SQL(一) 第十二章 使用嵌入式SQL(一) 可以将SQL语句嵌入InterSystemsIRIS®数据平台使用的ObjectScript代码中。这些嵌入式SQL语句在运行时转换为优化的可执行代码。 嵌入式SQL有两种: 一个简单的嵌入式SQL查询只能返回单行中的值。简单嵌入式SQL还可以用于单行插入,更新和删除以及其他SQL操作。 基于游标的嵌入式SQL查询可以遍历查询结果集,并从多行中返回值。基于游标的嵌入式SQL也可以用于多行更新和删除SQL操作。 注意:嵌入式SQL不能输入到Terminal命令行,也不能在XECUTE语句中指定。要从命令行执行SQL,请使用$SYSTEM.SQL.Execute()方法或SQL Shell接口。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 124
文章 Li Yan · 一月 13, 2021 阅读大约需 15 分钟 面向 Microsoft Azure Resource Manager (ARM) 的 InterSystems 示例参考架构 本文提供了一个参考架构,作为示例说明基于 InterSystems Technologies(适用于 Caché、Ensemble、HealthShare、TrakCare 以及相关的嵌入式技术,例如 DeepSee、iKnow、Zen 和 Zen Mojo)提供的强大性能和高可用性应用。Azure 有两种用于创建和管理资源的不同部署模型:Azure Classic 和 Azure Resource Manager。 本文中的详细信息基于 Azure Resource Manager (ARM) 模型。 #Azure #InterSystems 业务解决方案和架构 #云 #镜像 #高可用性 #Caché #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 123
文章 Michael Lei · 五月 12, 2021 阅读大约需 15 分钟 InterSystems 数据平台和性能 - 第 4 篇 - 关注内存 本帖将展示为 InterSystems 数据平台上运行的数据库应用调整共享内存需求(包括 global 和例程缓冲区、gmheap 以及 locksize)的方法,以及在配置服务器和虚拟化 Caché 应用程序时应考虑的一些性能提示。 和以往一样,当我谈到 Caché 时,我指的是所有数据平台(Ensemble、HealthShare、iKnow 和 Caché)。 本系列其他帖子的列表 当我最初开始使用 Caché 时,大多数客户的操作系统是 32 位的,Caché 应用程序的内存有限且昂贵。 通常部署的英特尔服务器只有几个核心,唯一的扩展方式是选择大型服务器,或者使用 ECP 横向扩展。 现在,即使是基本的生产级服务器也具有多个处理器、几十个核心,并且最小内存为 128 或 256 GB,可能达到 TB。 对于大多数数据库安装,ECP 已被遗忘,我们现在可以在单台服务器上大幅提高应用事务处理速率。 #InterSystems 业务解决方案和架构 #性能 #系统管理 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 122
文章 Jingwei Wang · 八月 25, 2021 阅读大约需 4 分钟 Object Script 基础知识(二) Object Script(二) #ObjectScript #Caché #Ensemble #InterSystems IRIS 1 0 0 120
文章 Claire Zheng · 七月 6, 2021 阅读大约需 1 分钟 InterSystems Caché系统运维培训:InterSystems Caché系统高可用与数据库镜像 近日,InterSystems极客俱乐部举办了线上直播“InterSystems Caché系统运维培训”,这是系列视频之一。InterSystems中国资深售前顾问祝麟讲解了“InterSystems Caché系统高可用与数据库镜像”。 #视频 #Caché 0 0 0 119
文章 Qiao Peng · 五月 25 阅读大约需 1 分钟 如何通过Journal日志文件查询谁对特定数据做了什么操作 %SYS.Journal.Record 类有一个查询(query), List, 可以列出Journal文件中记录的数据修改历史。例如,要查询谁对global节点^QP(1,2)做过修改,可以使用如下代码。它查询Journal文件(输入参数pFilePath)中的global节点(输入参数pSearchGlobal)的操作: #Code Snippet #开发运维 #提示和技巧 #系统管理 #Caché #InterSystems IRIS #InterSystems IRIS for Health 1 0 2 117