Hi,
If you use RocksDBStateBackend, one member one state will get better
performance. Because RocksDBStateBackend needs to de/serialize the
key/value when put/get, with one POJO value, you need to de/serializer the
whole POJO value when put/get.

Best,
Congxian


Timothy Victor <vict...@gmail.com> 于2019年6月17日周一 下午8:04写道:

> I would choose encapsulation if it the fields are indeed related and makes
> sense for your model.  In general, I feel it is not a good thing to let
> Flink (or any other frameworks) internal mechanics dictate your data model.
>
> Tim
>
> On Mon, Jun 17, 2019, 4:59 AM Frank Wilson <fajwil...@gmail.com> wrote:
>
>> Hi,
>>
>> Is it better to have one POJO value state with a collection inside or an
>> explicit state declaration for each member? e.g.
>>
>> MyPojo {
>>     long id;
>>     List[Foo] foos;
>>
>>     // getter / setters omitted
>> }
>>
>> Or
>>
>> Two managed state declarations in my process function (a value for the
>> long and a list for the “foos”).
>>
>> It feels like former is better encapsulated but the latter gives flink
>> more information about the state.
>>
>> Frank
>>
>>

Reply via email to