There are a number of ways do to persistence for the cache, you can enable native persistence for a memory region and assign a cache to that region, all cache entries will be cached on disk och the ones you use most will be cached in RAM, another alternative is to add 3rd party class to enable persistence, the cache will call your implementation to do the persistence (JDBC and Cassandra is built in), you can do read only or both read and write persistence.

Your key/value objects can be created with SQL DDL queries or you can use POJO's.

Native persistence information:

https://apacheignite.readme.io/docs/distributed-persistent-store

Do your own storage:

https://apacheignite.readme.io/docs/data-loading

https://apacheignite.readme.io/docs/3rd-party-stor

You can do all CRUD operations using the cache API or/and SQL, if you use native persistence SQL quesries work on the entire cache even if items not in RAM, if you use 3rd party persistence SQL queries will only work on items in RAM.

Hope that helps a little.

Mikael

Den 2018-01-17 kl. 13:30, skrev Rajesh Kishore:
Hello Mikael,

Thanks a ton for your response. I got descent understanding that for any operation I need to define cache and the cache item can be persisted. - Does it mean all CRUD operations would be performed via cache operations ? - Consider the case of berkley db where entities are stored locally in file system. And these entry container were defined by the berkley db apis, so how entities container are created in Ignite , is it driven by cacheName? where the entities are stored? To be simple where the records for "Person" & "Department" would be stored and how that can be configured

Thanks,
Rajesh

On Wed, Jan 17, 2018 at 5:37 PM, Mikael <[email protected] <mailto:[email protected]>> wrote:

    There are lots of examples not using SQL, have a look at:

    https://apacheignite.readme.io/docs/jcache
    <https://apacheignite.readme.io/docs/jcache>

    Ignite implements the JCache API, just use get/put and so on.


    Den 2018-01-17 kl. 12:44, skrev Rajesh Kishore:
    This is much informative. Further I want to use key value apis
    instead of sql apis which is only given in the example.
    The idea is that it should ease my migration process from Berkley
    dB based code where I am relying on key value apis to play with
    record in different dB containers, what is the equivalent here of
    ignite i.e how do we represent different entity say employee in
    local file system and how to insert and retrieve record

    Thanks
    Rajesh

    On 17 Jan 2018 3:59 p.m., "Mikael" <[email protected]
    <mailto:[email protected]>> wrote:

        You have to run an Ignite instance to use it (you can embed
        it in your application), you can't just use the key value
        store on it's own, a LOCAL cache would be the closest to a
        Berkeley DB store.

        Docs at : https://apacheignite.readme.io/docs/data-grid
        <https://apacheignite.readme.io/docs/data-grid>



        Den 2018-01-17 kl. 11:05, skrev Rajesh Kishore:

            Hi,

            I am newbie to Apache Ignite. We are trying to explore
            Ignite as key value DB to be replaced with our existing
            Berkely DB in application.

            Currently, Bekley DB is embedded in the application and
            db container operations are performed using Berkely DB
            apis , similar functionalities we would need for Ignite.

            The idea is to replace berkley db apis to Ignite apis to
            use Ignite as key value DB.
            I could not find any docs for the usage of ignite
            libraries to be used in the application.

            Any pointers please

            Thanks & Regards,
            Rajesh Kishore





Reply via email to