Дополнительные действия
AZykov (обсуждение | вклад) Нет описания правки |
AZykov (обсуждение | вклад) Нет описания правки |
||
Строка 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>category</code> - хранение в реляционной БД postgresql без партицирования. Скорость до 10000 операций в секунду в режиме параллельной обработки, ~3000 операций в секунду в синхронном режиме. | |||
* <code>history</code> - хранение в реляционной БД postgresql с партицированием по дате. Требует указания размерности партишена (год, месяц, день), и поля со значением для патицирования. в* <code>transactionlog</code> - отправка данных в кластер Kafka. При обнаружении storage с type=<code>clickhouse</code> с тем же значением instance автоматически генерирует таблицу-приемщик из Kafka в ClickHouse (ReplicatedReplacingMergeTree), и делает доступными операции чтения. | |||
|- | |- | ||
|storageInstance | |storageInstance |
Версия от 12:39, 17 января 2025
Предыдущая статья курса: Быстрый старт
Общая информация
![](/images/thumb/c/c8/%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB_Classes.png/300px-%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB_Classes.png)
Классы являются основой всех систем и приложений, разрабатываемых на платформе Эра. Набор классов в пакетее реализует структуру данных, с которой взаимодействуют остальные элементы пакета. Каждый класс определяется набором параметров, полей и действий. Параметры класса определяют его наименование, поведение, способ хранения данных, структуру наследования и т.д. Обзор параметров класса будет произведен ниже в данной статье.
Набор полей определяет структуру данных класса, а также формирует связь объектов этого класса с другими классами (в рамках всех пакетов системы).
Набор действий может определять некоторые операции, которые могут производиться над объектами данного класса. С помощью действий может реализовываться часть логики работы с классом. Также для реализации логики работы с данными можно использовать обработчики (handlers) и сервисы (services).
Для каждого класса, после активации пакета создается хранилище, соответствующее настройкам класса.
Хранилище может размещаться в оперативной памяти, в распределенной объектной БД, в реляционной БД Postgres (с партициями для исторических данных и без), в брокере Kafka, а также сохранять данные в аналитической колоночной БД Clickhouse.
Параметры класса
![](/images/thumb/a/a0/%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0.png/300px-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0.png)
У класса достаточно большой набор настраиваемых параметров. Для удобства, рассмотрим их в порядке группировки в окне редактирования.
Name and Location
![](/images/thumb/6/6e/%D0%91%D0%BB%D0%BE%D0%BA_Name_and_Location.png/300px-%D0%91%D0%BB%D0%BE%D0%BA_Name_and_Location.png)
Название параметра | Значение по-умолчанию | Комментарий |
---|---|---|
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
|
storageInstance | ||
section | ||
integrityMode | ||
partitionPropertyName | ||
maxLimit | ||
realtime | ||
serverCacheMode | ||
clientCacheMode | ||
classDataSource | ||
restURL | ||
dataFactoryServiceName | ||
dataFactoryMethodName | ||
tuningOptions |