Pull to refresh

Comments 17

А готовые матричные операции над глобалами есть?
Окей, а как получить все заполненные значения из конкретного вектора?
Она создает копию данных?
Да. Но как иначе?

Если нужно получить все заполненные значения, то это просто копия глобала.
Да. Но как иначе?

Через прямое прямое обращение к оригинальным данным (иначе говоря, слайс/окно поверх матрицы). Операция копирования может быть недешевой.
Не вижу никаких проблем для прямого обращения к глобалу. Можно спокойно обойти все заполненные элементы с помощью команд $Order и $Data.
На рисунке показан трёхмерный массив в глобале ^a и разные виды удалений.

А как удалить «плоскость», параллельную плоcкости, проходящей через оси x-z (аналогично — x-y)? Строчку, параллельную оси x или y?
Важно при разработке правильно выбирать порядок осей, чтобы потом всё было без проблем.

Гораздо более важная функция чем удаление — это выборка. Чтобы делать это быстро я бы создавал индексные глобалы.
Важно при разработке правильно выбирать порядок осей, чтобы потом всё было без проблем.

А если оси равноправны?
Тогда придётся делать ещё 2 вспомогательных индексных глобала для дополнительных двух плоскостей.
UFO just landed and posted this here
Для хранения карты нашей вселенной Caché была выбрана не только из-за гибкости, но и из-за способности очень быстро сохранять поток данных, при этом попутно создавая индексные глобалы для быстрого поиска.


А про это можно по-конкретнее и по-подробнее? Пока что я видел только очень обтекаемый пресс-релиз от Intersystems, из которого невозможно понять для чего конкретно применяется Caché. От самих участников проекта Gaia слышал про Caché только как про промежуточный буфер для данных, но никак не место хранения «карты нашей вселенной».
глобалы не только в Кеш`э, есть(были) какие-то Мампс реализации, сие только немногим тормознутее Кеш`э, а так «насладиться» интуЭтиФно ясными Глобалами можно и без Intersystems.
Вот в этом документе даже можно посмотреть одну из реальных структур данных (стр. 3 по внутренней нумерации). Судя по документу используется ещё некая БД, а Caché используется в Java-программах, которые уточняют результат.

Там многоитерационный процесс.

А вот интервью с разработчиками.

А вообще есть целая книга про Gaia, в которой рассказывается как была выбрана Caché (стр. 111-112).
Вот в этом документе даже можно посмотреть одну из реальных структур данных (стр. 3 по внутренней нумерации).

Угу, и эта структура показывает, что ничего общего с вашим разреженным массивом тамошнее хранение не имеет. Это просто отдельные наблюдения.
Sign up to leave a comment.