[
https://issues.apache.org/jira/browse/IGNITE-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15082632#comment-15082632
]
Igor Rudyak edited comment on IGNITE-1371 at 1/5/16 8:25 AM:
-------------------------------------------------------------
Alexey,
Items 1-3 are done and merged into ignite-1371 branch. Also merged changes from
your latest review ignite-1371-review4. Will finish with the rest of the items
in a couple of days.
According items 6-7:
1) Persistence settings hierarchy was designed to allow persists Ignite Cache
key and value using different settings. For example key could be persisted as
BLOB, which will be mapped to appropriate BLOB field in Cassandra table, but
value could be persisted as POJO, which will be mapped to a set of appropriate
fields (int, long, string and etc.) in Cassandra table. Thus, depending on the
use-case there could be different variations of how to persist key and value to
provide better performance or usability (for reporting tools).
2) PersistenceStrategy specifies how you want to persist you Ignite Cache key
and value into Cassandra database:
- PRIMITIVE - could be used only for primitive Ignite Cache keys/values having
simple java type (which could be directly mapped to appropriate Cassandra
database type: int, long string, time and etc.). Thus Ignite Cache key/value
will be save to appropriate Cassandra table filed having specific type
compatible with java type (int, long, string and etc.)
- BLOB - Ignite Cache keys/values will be saved into appropriate Cassandra
table field having BLOB type. Conversion of key/value into BLOB is controlled
by serializer which is specified. By default JavaSerializer will be used, which
just using standard Java serialization to convert object to BLOB.
- POJO - Stores each field of Ignite Cache key/value as a separate column in
Cassandra table (having type which could be directly mapped to java type).
Provides ability to utilize Cassandra secondary indexes for object fields.
Could be used only for POJO objects following Java Beans convention.
Actually I also developed rather detailed documentation for the module (with
lot's of sampes). You can find it in the wiki:
https://github.com/irudyak/ignite/wiki
The same wiki URL was also added as a link to ignite-1371 feature and you can
see it at the top of it.
was (Author: irudyak):
Alexey,
Items 1-3 are done and merged into ignite-1371 branch. Also merged changed from
your latest review ignite-1371-review4. Will finish with the rest of the items
in a couple of days.
According items 6-7:
1) Persistence settings hierarchy was designed to allow persists Ignite Cache
key and value using different settings. For example key could be persisted as
BLOB, which will be mapped to appropriate BLOB field in Cassandra table, but
value could be persisted as POJO, which will be mapped to a set of appropriate
fields (int, long, string and etc.) in Cassandra table. Thus, depending on the
use-case there could be different variations of how to persist key and value to
provide better performance or usability (for reporting tools).
2) PersistenceStrategy specifies how you want to persist you Ignite Cache key
and value into Cassandra database:
- PRIMITIVE - could be used only for primitive Ignite Cache keys/values having
simple java type (which could be directly mapped to appropriate Cassandra
database type: int, long string, time and etc.). Thus Ignite Cache key/value
will be save to appropriate Cassandra table filed having specific type
compatible with java type (int, long, string and etc.)
- BLOB - Ignite Cache keys/values will be saved into appropriate Cassandra
table field having BLOB type. Conversion of key/value into BLOB is controlled
by serializer which is specified. By default JavaSerializer will be used, which
just using standard Java serialization to convert object to BLOB.
- POJO - Stores each field of Ignite Cache key/value as a separate column in
Cassandra table (having type which could be directly mapped to java type).
Provides ability to utilize Cassandra secondary indexes for object fields.
Could be used only for POJO objects following Java Beans convention.
Actually I also developed rather detailed documentation for the module (with
lot's of sampes). You can find it in the wiki:
https://github.com/irudyak/ignite/wiki
The same wiki URL was also added as a link to ignite-1371 feature and you can
see it at the top of it.
> Key-Value store (like Cassandra) as CacheStore
> ----------------------------------------------
>
> Key: IGNITE-1371
> URL: https://issues.apache.org/jira/browse/IGNITE-1371
> Project: Ignite
> Issue Type: New Feature
> Components: cache
> Affects Versions: ignite-1.4
> Reporter: Alexandre Boudnik
> Assignee: Igor Rudyak
> Attachments: master_02b59e4_ignite-1371.patch
>
> Original Estimate: 504h
> Remaining Estimate: 504h
>
> It will provide ability to map particular cache holding POJOs to Cassandra
> table. Later it would be generalized to support eventually any any Key-Value
> store.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)