Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Хранение данных. Классы: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
Нет описания правки
Строка 71: Строка 71:


* <code>ram</code> - хранение в распределенной объектной БД (mnesia on ram only). Не сохраняет данные на диск. Целостность и сохранность данных обеспечивается пока доступен один из экземпляров группы микросервисов, ответственной за обслуживание класса. Производительность операций доступа по ключу и операций записи ~10000 в секунду в расчете на один свободный поток обработчик.
* <code>ram</code> - хранение в распределенной объектной БД (mnesia on ram only). Не сохраняет данные на диск. Целостность и сохранность данных обеспечивается пока доступен один из экземпляров группы микросервисов, ответственной за обслуживание класса. Производительность операций доступа по ключу и операций записи ~10000 в секунду в расчете на один свободный поток обработчик.
** <code>runtime</code> - хранение в распределенной объектной БД (mnesia on disc+ram). Сохраняет данные на диск и под нагрузкой значительно загружает дисковую подсистему на запись. Производительность операций доступа по ключу и операций записи ~10000 в секунду в расчете на один свободный поток обработчик.
* <code>runtime</code> - хранение в распределенной объектной БД (mnesia on disc+ram). Сохраняет данные на диск и под нагрузкой значительно загружает дисковую подсистему на запись. Производительность операций доступа по ключу и операций записи ~10000 в секунду в расчете на один свободный поток обработчик.
*** <code>category</code> - хранение в реляционной БД postgresql без партицирования. Скорость до 10000 операций в секунду в режиме параллельной обработки, ~3000 операций в секунду в синхронном режиме.
* <code>category</code> - хранение в реляционной БД postgresql без партицирования. Скорость до 10000 операций в секунду в режиме параллельной обработки, ~3000 операций в секунду в синхронном режиме.
**** <code>history</code> - хранение в реляционной БД postgresql с партицированием по дате. Требует указания размерности партишена (год, месяц, день), и поля со значением для патицирования.  в* <code>transactionlog</code> - отправка данных в кластер Kafka. При обнаружении storage с type=<code>clickhouse</code> с тем же значением instance автоматически генерирует таблицу-приемщик из Kafka в ClickHouse (ReplicatedReplacingMergeTree), и делает доступными операции чтения.
* <code>history</code> - хранение в реляционной БД postgresql с партицированием по дате. Требует указания размерности партишена (год, месяц, день), и поля со значением для патицирования.  в* <code>transactionlog</code> - отправка данных в кластер Kafka. При обнаружении storage с type=<code>clickhouse</code> с тем же значением instance автоматически генерирует таблицу-приемщик из Kafka в ClickHouse (ReplicatedReplacingMergeTree), и делает доступными операции чтения.
|-
|-
|storageInstance
|storageInstance

Версия от 12:39, 17 января 2025

Предыдущая статья курса: Быстрый старт

Общая информация

Раздел Classes приложения Builder

Классы являются основой всех систем и приложений, разрабатываемых на платформе Эра. Набор классов в пакетее реализует структуру данных, с которой взаимодействуют остальные элементы пакета. Каждый класс определяется набором параметров, полей и действий. Параметры класса определяют его наименование, поведение, способ хранения данных, структуру наследования и т.д. Обзор параметров класса будет произведен ниже в данной статье.

Набор полей определяет структуру данных класса, а также формирует связь объектов этого класса с другими классами (в рамках всех пакетов системы).

Набор действий может определять некоторые операции, которые могут производиться над объектами данного класса. С помощью действий может реализовываться часть логики работы с классом. Также для реализации логики работы с данными можно использовать обработчики (handlers) и сервисы (services).

Для каждого класса, после активации пакета создается хранилище, соответствующее настройкам класса.

Хранилище может размещаться в оперативной памяти, в распределенной объектной БД, в реляционной БД Postgres (с партициями для исторических данных и без), в брокере Kafka, а также сохранять данные в аналитической колоночной БД Clickhouse.

Параметры класса

Окно редактирования параметров класса

У класса достаточно большой набор настраиваемых параметров. Для удобства, рассмотрим их в порядке группировки в окне редактирования.

Name and Location

Блок Name and Location
Параметры класса
Название параметра Значение по-умолчанию Комментарий
package [текущий выбранный пакет] Определяет, к какому пакету будет относиться данный класс
folderName Определяет имя папки для группировки классов
name Системное наименование класса в единственном числе (используется в API)
multiName Системное наименование класса во множественном числе числе (используется в API)
fullName [package]/[folderName]/[name] Формируется автоматически, используется для доступа к данным через API
fullMultiName [package]/[folderName]/[multiName] Формируется автоматически, используется для доступа к данным через API
caption Заголовок класса, используется для отображения данных пользователю (напр., при отображении карточки редактирования)
multiCaption Заголовок класса, используется для отображения данных пользователю (напр., при отображении реестра данных класса)

Data

Параметры класса
Название параметра Значение по-умолчанию Комментарий
storageMode category Определяет тип хранилища, создаваемого для класса

ram/runtime/category/history

  • ram - хранение в распределенной объектной БД (mnesia on ram only). Не сохраняет данные на диск. Целостность и сохранность данных обеспечивается пока доступен один из экземпляров группы микросервисов, ответственной за обслуживание класса. Производительность операций доступа по ключу и операций записи ~10000 в секунду в расчете на один свободный поток обработчик.
  • runtime - хранение в распределенной объектной БД (mnesia on disc+ram). Сохраняет данные на диск и под нагрузкой значительно загружает дисковую подсистему на запись. Производительность операций доступа по ключу и операций записи ~10000 в секунду в расчете на один свободный поток обработчик.
  • category - хранение в реляционной БД postgresql без партицирования. Скорость до 10000 операций в секунду в режиме параллельной обработки, ~3000 операций в секунду в синхронном режиме.
  • history - хранение в реляционной БД postgresql с партицированием по дате. Требует указания размерности партишена (год, месяц, день), и поля со значением для патицирования. в* transactionlog - отправка данных в кластер Kafka. При обнаружении storage с type=clickhouse с тем же значением instance автоматически генерирует таблицу-приемщик из Kafka в ClickHouse (ReplicatedReplacingMergeTree), и делает доступными операции чтения.
storageInstance
section
integrityMode
partitionPropertyName
maxLimit
realtime
serverCacheMode
clientCacheMode
classDataSource
restURL
dataFactoryServiceName
dataFactoryMethodName
tuningOptions