在Hazelcast中存储json vs Object vs Map。

在Hazelcast中存储json vs Object vs Map。,hazelcast,Hazelcast,我是Hazelcast的新手,非常感谢您对以下内容的看法 用例:我有一个数据库表CUSTOMER(id、firstname、lastname、age),希望将其存储在分布式地图中。需要查询(可能是谓词)集合和常规get/put操作。大约有一百万条记录,我有两个节点可供使用 最好的方法是记住性能和内存 1.将记录存储为地图地图;IMap>;其中,内部映射中的键是列名 或 2.将记录存储为jsonIMap示例:[“123”:{“id”:“123”,“名”:“约翰”,“姓”:“鹿”,“年龄”:“25”

我是Hazelcast的新手,非常感谢您对以下内容的看法

用例:我有一个数据库
表CUSTOMER(id、firstname、lastname、age)
,希望将其存储在分布式地图中。需要查询(可能是谓词)集合和常规get/put操作。大约有一百万条记录,我有两个节点可供使用

最好的方法是记住性能和内存

1.将记录存储为地图地图;IMap>;其中,内部映射中的键是列名

2.将记录存储为json<代码>IMap示例:[“123”:{“id”:“123”,“名”:“约翰”,“姓”:“鹿”,“年龄”:“25”}]

3.创建客户DTO并将其存储在IMap中


感谢

使用实体类的最后一个选项是首选的,但是如果您希望经常更改对象,JSON可能更适合用于无模式(因为您谈论的是数据库表,我想您不需要它)


顺便说一句,第一个选项不起作用,因为IMap本身不可序列化。您可以执行IMap>,但这种方法的问题是,每次get都需要对内部映射进行完全反序列化,这会降低性能;-)

请尽量避免在多个位置重复发布相同的问题,因为答案会变得支离破碎,所以很难回答这些问题!谢谢你的回复。如果使用第一种方法IMap或最后一种方法IMap,则对每个get操作执行反序列化。使用IMap的好处是,我可以灵活地提供我的序列化/外部化版本,这理解正确吗?是的,这是正确的。您可以使用java.io.Serializable、java.io.Externalizable、com.hazelcast.core.DataSerializable或max-speed/bytesize com.hazelcast.core.IdentifiedDataSerializable:)