Nova postagem

Pesquisar

Artigo
· Jun. 10, 2024 2min de leitura

类定义中如何使用列式存储

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

 

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

CREATE TABLE table (column1 type1, column2 type2, column3 type3) WITH STORAGETYPE = COLUMNAR  -- ex 1
CREATE TABLE table (column1 type1, column2 type2, column3 type3 WITH STORAGETYPE = COLUMNAR)  -- ex 2

我们知道InterSystems IRIS 是支持多模型的DMBS, 它可以无缝的通过关系型或对象的方式访问通一数据,

我们使用下面的方式在使用Object Script类定义的时候定义列存储:

1. 如果你想对类中的所有属性都定义为列存储,则直接通过在类中添加parameter 的方式实现:

Parameter STORAGEDEFAULT = "columnar" 

如前面的例子,我们使用object script定义就会是这样:

Class Post.Address Extends %Persistent [Final]
{
Parameter STORAGEDEFAULT = "columnar";
Parameter USEEXTENTSET=1;
Property City As %String(MAXLEN = 12);
Property ZIP As %String(MAXLEN = 9);
Property Country As %String(MAXLEN = 12);
}

其中 Parameter STORAGEEDFAULT = "columnar" 告诉系统,所有数据都以列的方式保存(意味着每一列都有其自己的global节点)

Parameter USEEXTENTSET = 1 告诉系统,为了生成的效率,hashed 的global 使用短名称命名。

你可以将任意表定义为使用列存储。但是将列存作为默认存储模式的表,必须添加Final 或 NoExtent 的类关键字,也就是不能再被继承。

 

2. 也可以仅对表中的某些字段定义为使用列式存储,要实现此种设计进需要在属性上添加 STORAGEDEFAULT = "columnar"

Class Post.Address Extends %Persistent
{
Parameter STORAGEDEFAULT = "row";
Parameter USEEXTENTSET=1;
Property City As %String(MAXLEN = 12);
Property ZIP As %String(MAXLEN = 9);
Property Country As %String(MAXLEN = 12, STORAGEDEFAULT = "columnar");
}

这个例子中的City 和 ZIP 仍使用行式存储,也就是数据会存储在global ^Post.AddressD 中,而Country会以列式的方式存储在不同的global节点中。

在这个例子中,使用列式存储会是一个更好的方法,因为如果我们有一个包含不同国家不同城市的数据库,国家的数目是有限的,而城市的数目则不是。

 

3. 还可以对现有行存储的类,针对某些字段添加列式索引

Class Sample.BankTransaction Extends %Persistent [ DdlAllowed ]
{
   // Line below is optional
   Parameter STORAGEDEFAULT = "row";
   Property Amount As %Numeric(SCALE = 2);
   Index AmountIndex On Amount [ type = columnar ];
   .
   .
   .
}

在这个例子中,金额这样的数字类型字段,使用行式存储,但对其建立列式索引,会极大提高针对该字段的统计类sql查询效率,比如SUM、Avg等。

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Jun. 10, 2024 3min de leitura

First glances at the Global Summit 2024

Hi Community!

It's that time of year again—the time of the Global Summit! All the Developer Ecosystem teams, in general, and the Developer Community team, in particular, are doing their best to bring even more new, interesting people into our midst! 

We had this beautiful booth ready on Sunday to welcome everyone when the Summit officially started:

As you can see, we have quite a selection of goodies waiting to be claimed by our existing and new members 😉 So if you're attending the Global Summit, don't hesitate to come by and get a pin, a T-Shirt, a sticker or something else - we're always happy to welcome people.

Before the Summit, there were several workshops and I decided to participate in one of them - Crafting a Generative AI "Chat with your documents" led by @Don Woodlock, @Nicholai Mitchko and @Thomas Dyar.

It was an exciting analytical geometry lesson, among other things:

After the workshop, there was an interesting (and a bit misnamed) session, Women's Meetup - Stay and Thrive. Good thing there were also men who were interested in listening about inclusiveness and support.

In the evening, there was an incredible Welcome Reception for people to renew their acquaintances, chat with old friends, and make new ones!

Today has been absolutely fantastic, and it started with the Developer Community bosses getting together to talk shop before the opening (@Irène Mykhailova, @Dean Andrews, @Anastasia Dyubaylo) 😁

After the keynotes that were dedicated to AI and launched by Terry Ragon

the constant stream of people kept us busy

@Irène Mykhailova, @Guillaume Rongier, @Anastasia Dyubaylo, @Claudio Devecchi, @Daniel Franco, @Amir Samary 

@Irène Mykhailova, @José Pereira, @Guillaume Rongier, @Dmitry Maslennikov, @Anastasia Dyubaylo, @Enrico Parisi, @Olga Zavrazhnova 

And even some people used our warm and inviting environment to discuss serious issues (@Eduard Lebedyuk, @Guillaume Rongier)

The winners of the latest programming competition dedicated to AI and Vector Search @José Pereira and @Muhammad Waseem presented their solutions across from our booth

One of the highlights of this day was our triumphant session "Leveraging Developer Ecosystem Tools for Success" led by @Dean Andrews. The room was packed, and the energy was palpable!

During this session, we had a Kahoot! game going, and people with the best knowledge of the Developer Ecosystem have won the prizes

@Dean Andrews, @Anastasia Dyubaylo, @Ben Spead, @Raj Singh, @Felipe Araújo, @David Reche

After a full day of sessions and discussions, what better way to unwind than at Demos & Drinks? It was the perfect combination of inspiring tech demos and socializing over a drink. We witnessed some innovative and impressive demonstrations while enjoying the company of colleagues and friends. Laughter echoed, ideas were exchanged, and we all savored the relaxed and festive atmosphere.

This is it so far! Thank you to everyone who made this day unforgettable. Stay tuned for more adventures and discoveries at the Global Summit!

Don't forget to watch the online broadcast tomorrow and share this incredible experience with us. 

See you soon!

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Jun. 10, 2024 2min de leitura

Jour 1 du Global Summit 2024

Bonjour la Communauté !

Aujourd'hui a été une journée absolument fantastique au Global Summit, et je suis ravie de partager avec vous tou(te)s les aventures excitantes que nous avons vécues !

Dès le début de la journée, j'ai eu l'opportunité de rencontrer une multitude de personnes extraordinaires. Des visages familiers et de nouveaux amis se sont mêlés dans une ambiance de camaraderie et d'enthousiasme. Chaque rencontre était une occasion d’échanger des idées, de discuter des dernières tendances technologiques et de partager notre passion commune pour l'innovation et le DC.

@Irène Mykhailova, @Dean Andrews, @Anastasia Dyubaylo 

@Irène Mykhailova, @Guillaume Rongier, @Anastasia Dyubaylo, @Claudio Devecchi, @Daniel Franco, @Amir Samary 

@Irène Mykhailova, @José Pereira, @Guillaume Rongier, @Dmitry Maslennikov, @Anastasia Dyubaylo, @Enrico Parisi, @Olga Zavrazhnova 

@Gianni Muzzin, @Johan Jacob, @Irène Mykhailova, @Damiano Porrovecchio

Des discussions technologiques très animées ont également eu lieu près de notre stand au TechExchange.

@Eduard Lebedyuk et @Guillaume Rongier 

Et les gagnants du dernier concours de programmation dédié à l'IA et à la Vector Search ont présenté leurs solutions.

L'un des moments forts de la journée a été notre session intitulée "Leveraging Developer Ecosystem Tools for Success". Et quelle session ! La salle était comble, et l'énergie était palpable. 

Pour rendre le tout encore plus divertissant, nous avons décidé cette année d'organiser un jeu Kahoot. Et voici les gagnants de quizz et leur prix

Après une journée bien remplie de sessions et de discussions, quoi de mieux pour se détendre qu'une soirée Demos & Drinks ? C'était la combinaison parfaite de démonstrations technologiques inspirantes et de moments de convivialité autour d'un verre. Nous avons eu droit à des démonstrations innovantes et impressionnantes, tout en profitant de la compagnie de collègues et d'amis. Les rires ont fusé, les idées ont été échangées, et nous avons tous savouré cette ambiance détendue et festive.

Cette journée au Global Summit a été riche en rencontres, en apprentissages et en divertissements. Je suis impatiente de voir ce que les prochains jours nous réservent !

Restez connectés pour plus d’aventures et de découvertes au Summit!

À bientôt !

Discussão (0)1
Entre ou crie uma conta para continuar
Pergunta
· Jun. 10, 2024

%session & passing credentials between ZenPages that reside on different healthshare servers

Hi,

I will try to explain my problem. I have a Main ZenPage on one server that has 2 buttons: each button will launch a different ZenPage on a separate server in an iFrame. All 3 servers have the same user.

Currently, the user logs in to the Main ZenPage, but when they click either button to launch the other ZenPage on the separate server they get the login screen again to login to that server.

Is there anyway I can pass the credentials from the Main ZenPage to the child ZenPages, so that the user doesn't have to login again? Thanks.

3 Comments
Discussão (3)1
Entre ou crie uma conta para continuar