New post

Rechercher

Job
· Nov 19, 2021

Job Opportunity for Caché/Ensemble/Iris develope

A permanent job opportunity has arisen for a Caché/Ensemble /Iris developer with at least 2 years experience. My client is a specialist resource provisioner of developers for high profile clients in the finance,  healthcare, retail, distribution and credit business that are mainly based in central London. My client is looking for a highly-motivated individual who thrives in an environment where problems are open-ended. If you want to apply for the job you must be a UK resident, have a proven track record of building applications using InterSystems technologies and are able to work independently, be fluent in Caché Objects, Iris, SQL, XML, Integration.

The job is 80% remote working with fully expensed trips to London up to once a week. 

For further details please send your CV salary expectations to romina@kiotto.com

Discussion (0)0
Log in or sign up to continue
Article
· Nov 10, 2021 4m read

InterSystems製品のプロセスが使用するメモリ量について

これは InterSystems FAQ サイトの記事です。


InterSystems製品のプロセスが消費するメモリ領域は以下の6つの領域になります。

プロセスのプライベートな領域

 1. プロセスパーティション(ローカル変数テーブル等、プロセスごとに使用するメモリ)
 2. 長い文字列(LongString)使用メモリ
 3. 文字列スタック...等

プロセス間共有領域

 4. データベースキャッシュ
 5. ルーチンキャッシュ
 6. 一般ヒープメモリ(プロセステーブル、ロックテーブル等)


プロセスが使用するメモリ領域は、「プライベート領域」と「共有領域」の大きく2種類に分かれます。
プライベートな領域はそのプロセスのみが使用し、個々のプロセス毎にメモリを割り当てます。
共有領域は、プロセス間で一つのメモリ領域を共有してアクセスしていますので実体はメモリ上に 1つです。

以下それぞれの領域の値は、管理ポータルで指定します(設定可能な場合)。

(1) プロセスパーティションのサイズ

 [システム管理] > [構成] > [システム構成] > [メモリと開始設定] > [プロセスあたりの最大メモリ(KB)]

 このプロセスパーティションサイズの初期値は 128  KBytes になっており、プロセスがこの領域を使用すると自動的に拡張します。
 管理ポータルでの設定は、このパーティションが拡張できる最大値を設定しています。


(2) 長い文字列(LongString)使用メモリ  ※Caché2007.1~

 プロセスで実際に長い文字列が使用されると、文字列用のメモリをそのプロセス用のパーティションメモリ領域から割り当てるのではなく、オペレーティングシステムで malloc() により割り当てられます。
 上限はありません(仮想メモリ [=物理メモリ+ページファイル] から確保可能な上限まで)。
 文字列が破棄されると、長い文字列用に取得したメモリを解放します。
 
 ※以下ドキュメントをご参照ください
 長い文字列について


(3) 文字列スタック

 プロセスで文字列を処理するための作業領域です。Unicode環境では、最大14MBです。
 LongStringを無効にした場合(IRISでは無効にはできません)は、Unicode環境で 264 KBです。


(4) データベースキャッシュ

 [システム管理] > [構成] > [システム構成] > [メモリと開始設定]:8KBデータベースキャッシュ用メモリ (MB)


(5) ルーチンキャッシュ

 [システム管理] > [構成] > [システム構成] > [メモリと開始設定]:ルーチンキャッシュ用メモリ (MB)    


(6) 一般ヒープメモリ

 [システム管理] > [構成] > [追加の設定] > [メモリ詳細] > [gmheap]


以上の要素でプロセスが使用するメモリサイズが決まり、1つのプロセスでの最大使用メモリはおおよそ上記6つの値の合計値になります。

全プロセスで使用するメモリサイズは以下のとおりです。

[ { (1)プロセスパーティション + (3)文字列スタック }  × プロセス数 ] 
  + (2) 長い文字列使用メモリ(全プロセス合計※)
  + (4) データベースキャッシュ
  + (5) ルーチンキャッシュ
  + (6) 一般ヒープメモリ 

※長い文字列使用メモリとして実際にどの位のメモリ総サイズが必要になるかは、アプリケーション単位で算出する必要があります。


また、各プロセスはアクセスするメモリ領域を管理するページテーブルを持ちます(OSにより管理される領域)。
プロセス間共有領域を Small page として確保している場合は、このページテーブルのサイズが大きくなります(1GB当たり32MB)。
これを Large page で確保するとページテーブルサイズが小さくなります(1GB当たり64KB)。
Large page で確保した場合は、起動時に messages.log/cconsole.log に以下のメッセージが出力されます。

MM/DD/YY-hh:mm:ss:sss ( 0) 0 Allocated ***MB shared memory (large pages): ***MB global buffers, ***MB routine buffers

詳細については、下記の技術資料を公開しております。
Windows上でのCaché共有メモリの割り当てについて


メモリ要件の見積もりについては、以下のドキュメントをご覧ください。
メモリ要件の見積もり


あわせて、以下の関連記事も是非ご覧ください。

 <STORE>エラーが発生する場合の対処法について
 管理ポータルのメモリ関連設定項目について
 System routine buffer (# KB) shortage is detected.... のメッセージの意味と対処方法
  データベースキャッシュおよびルーチンキャッシュの最適値の設定方法
  Windows上での共有メモリの割り当てについて
 IRISが使用するワーキングセット(メモリ)について

Discussion (0)0
Log in or sign up to continue
Announcement
· Nov 8, 2021

Git for Shared Development Environments

If you're building solutions on IRIS and want to use Git, that's great! Just use VSCode with a local git repo and push your changes out to the server - it's that easy.

But what if:

  • You're collaborating with other developers on a shared, remote development environment and want to avoid concurrent editing of the same file
  • You're using editors based in the management portal for BPL, DTL, pivots, dashboards, etc. and want straightforward source control for your work
  • You're still using Studio for some things and/or occasionally jump back there from VSCode - or, your team has not yet fully embraced VSCode, and some team members still want to use Studio
  • You're working on a bunch of separate projects at the same time in the same namespace - say, several packages defined using the InterSystems Package Manager - and want to just work with all of them from one isfs editing view (rather than a bunch of distinct projects) with changes tracked in the proper git repo automatically

Then it wasn't so easy... until late last month, when we released Git for Shared Development Environments (Open Exchange / GitHub). You can get this extension using the InterSystems package manager:

zpm "install git-source-control"

Prior to this, the options for source control with Git were an old mostly-Windows-only, local development environment-only Git extension and a more recent Open Exchange project based on it but streamlining use a bit. There's also Port, which just deals with files and is version control system-agnostic.

What does git-source-control have that these packages don't?

  • Simple menu-based integration with git that works on any operating system
  • A git user interface to cover an expanding set of common git activities, without having to SSH over to the remote environment.
  • Concurrency control for multiple users working in the same environment at the same time. Once you make changes to a class/routine/etc., it's yours until you discard or commit your changes. (We do have ways around this when needed, though!)
  • Package manager-awareness: just zpm "load -dev /path/to/package" and, if /path/to/package/.git exists, changes to resources in your package will automatically be reflected in the right place on the server filesystem. The UI works with this too, based on the class/etc. from which it is launched.

All of this works from VSCode:

 
Spoiler

And Studio:

 
Spoiler

To give you control over and visual insight into your git repository:

 
Spoiler

We hope this enables your successful development of IRIS-based solutions, and welcome your feedback!

NOTE - To see the presentation launching this at the 2021 Global Summit, see this article: https://community.intersystems.com/post/video-git-gitlab-shared-developm...

50 Comments
Article
· Nov 2, 2021 1m read

Event reminder: Deltanji and Serenji user group session - tomorrow

We're hosting our Deltanji and Serenji user group session tomorrow - there's still time to register, if you haven't already. 

We'll be showcasing some advanced features of Deltanji and Serenji in VS Code with time for a discussion - so feel free to bring along any problems you need help solving or share your feedback on our tools. We'd love to hear your thoughts. If you're interested in our tools this is a great chance to hear what others have to say, as well as asking your own questions.

Date: Wednesday, November 3rd

Time: 11-12pm EDT / 3-4pm GMT.

Let us know you'll be attending on Eventbrite

We hope to see you tomorrow, but if you're unable to make it you can email me at laurelj@georgejames.com and I can share a recording of the session. 

 

Discussion (0)1
Log in or sign up to continue
Article
· Nov 1, 2021 4m read

Top 10 InterSystems IRIS Features

The InterSystems IRIS is a great data platform and it is met the current features required by the market. In this article, you see the top 10:

Note: this list was updated because many features are added to IRIS in last 3 years (thanks @Kristina Lauer)

Rank Feature Why Learning more about it
1 Democratized analytics InterSystems IRIS Adaptive Analytics:
Delivers virtual cubes with centralized business semantics, abstracted from technical details and modeling, to allow business users to easily and quickly create their analyses in Excel or their preferred analytics product (PowerBI, Tableau, etc.). There are no consumption restrictions per user.

InterSystems Reports:
It is a low code report designer to deliver operational data reports embedded on any application or in a web report portal.
 

Overview of Adaptive Analytics, Adaptive Analytics Essentials

 

Introduction to InterSystems Reports,
Delivering Data Visually with InterSystems Reports

2 API Manager The digital assets are consumed using API REST. Is required govern the reuse, security, consuming, asset catalog, developer ecosystem and others aspects in a central point. The API Manager is the right tool to do this. So, all the companies have or want to have an API Manager.
 
Hands-On with API Manager for Devs
3 Scalable Databases Sharding Database
The total amount of data created, captured, copied, and consumed globally is forecast to increase rapidly, reaching 64.2 zettabytes in 2020. Over the next five years up to 2025, global data creation is projected to grow to more than 180 zettabytes. In 2020, the amount of data created and replicated reached a new high (source: https://www.statista.com/ statistics/871513/worldwide-data-created/). In this scenario, is critical to the business be able to process data in a distributed way (into shards, like hadoop, or mongodb), to increase and mantain the performance. The other important thing is the IRIS is 3 times more rapid then Cache, and more rapid then AWS databases, into the AWS cloud.

Columnar storage
Changes the storage of repeating data into columns instead of rows, allowing you to achieve up to 10x higher performance, especially in aggregated (analytical) data storage scenarios.

Planning and Deploying a Sharded Cluster

Scaling for Data Volume with Sharding

 

 

Increasing Analytical Query Speed Using Columnar Storage
Using Columnar Storage

4 Python support Python is the most popular language to do AI and AI is in the center of the business strategy, because allows you get new insights, get more productivity and reduce costs.

Writing Python Applications with InterSystems

Leveraging Embedded Python in Interoperability Productions

5 Native APIs (Java, .NET, Node.js, Python) and PEX The US has nearly 1 million open IT jobs (source: https://www.cnbc.com/2019/11/06/ how-switching-careers-to-tech-could-solve-the-us-talent-shortage.html). Is very hard find an Object Script developer. So, is important be able use IRIS features, like interoperability with the developer team official programming language (Python, Java, .NET, etc.).

Creating Interoperability Productions Using PEX, InterSystems IRIS for Coders, Node.js QuickStart, Using the Native API for Python

6 Interoperability, FHIR and IoT Businesses are constantly connecting and exchanging data. Departments also need to work connected to deliver business processes with more strategic value and lower cost. The best technology to do this, is the interoperability tools, especially ESB, Integration Adapters, Business Process automation engines (BPL), data transformation tools (DTL) and the adoption of market interoperability standards, like FHIR and MQTT/IoT. The InterSystems Interoperability supports all this (for FHIR use IRIS for Health).

Receiving and Routing Data in a Production, Building Basic FHIR Integrations with InterSystems, Monitoring Remotely with MQTT, Building Business Integrations with InterSystems IRIS

7 Cloud, Docker & Microservices Everyone now wants cloud microservices architecture. They want to break the monoliths to create projects that are smaller, less complex, less coupled, more scalable, reusable, and independent. IRIS allows you deploy data, application and analytics microservices, thanks IRIS support to shards, docker, kubernetes, distributed computing, DevOps tools and lower CPU/memory consumption (IRIS supports even ARM processors!). But microservices requires the microservice API management, using API Manager, to be used aligned to the business.

Deploying InterSystems IRIS in Containers and the Cloud

Deploying and Testing InterSystems Products Using CI/CD Pipelines

8 Vector Search and Generative AI Vectors are mathematical representations of data and textual semantics (NLP), and are the raw material for generative AI applications to understand questions and tasks and return correct answers. Vector repositories and searches are capable of storing vectors (AI processing) so that for each new task or question, they can retrieve what has already been produced (AI memory or knowledge base), making everything faster and cheaper. Developing Generative AI Applications, Using Vector Search
9 VSCode support VSCode is the most popular IDE and InterSystems IRIS has a good set of tools for it.

Developing on an InterSystems Server Using VS Code

10 Data Science The ability to apply data science to the data, integration and transaction requests and responses, using Python, R and IntegratedML (AutoML) enable AI intelligence at the moment is required by the business. The InterSystems IRIS deliver AI with Python, R and IntegratedML (AutoML)

Hands-On with IntegratedML

Developing in Python or R within InterSystems IRIS

Predicting Outcomes with IntegratedML in InterSystems IRIS

3 Comments
Discussion (3)3
Log in or sign up to continue