You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Igor Rudyak (JIRA)" <ji...@apache.org> on 2016/01/05 09:25:39 UTC

[jira] [Commented] (IGNITE-1371) Key-Value store (like Cassandra) as CacheStore

    [ https://issues.apache.org/jira/browse/IGNITE-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15082632#comment-15082632 ] 

Igor Rudyak commented on IGNITE-1371:
-------------------------------------

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)