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