[ 
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)

Reply via email to