- Да, вы все еще можете запрашивать ваши объекты.
- Вы можете запрашивать его как с клиента, так и с сервера.
AffinityFunction
использует ключ для вычисления хеша и получения правильныхраздел.Таким образом, результат зависит от реализаций writeExternal / readExternal, а это означает, что распределение ключей может быть изменено между разделами. - Да, использовать
Externalizable
всегда плохая идея.
Прежде всего Ignite будет использовать OptimizedMarshaller
, который медленнее и производит объекты большего размера, чем BinaryMarshaller
, который используется по умолчанию.
Во-вторых, Ignite on SQLFieldsQuery
читает только определенные поля из представления двоичного объекта.В случае Externalizable
он должен десериализовать весь объект, чтобы прочитать его поля.Таким образом, такой выбор отрицательно сказывается на производительности.
Вы можете дополнительно использовать интерфейс Binarylizable .В этом случае будет использоваться BinaryMarshaller
.