Hello!

You can have any number of backups, but you can either update all of them
in sync, or primary only. You can't have a subset of backups updated,
despite such possibility being discussed.

Regards,
-- 
Ilya Kasnacheev


ср, 7 авг. 2019 г. в 13:29, Johannes Lichtenberger <
[email protected]>:

> Hi,
>
> if I want to replicate data from one node to N-nodes (that is only a
> subset of nodes in the whole cluster), could I also specify that not only
> the primary is updated in synchronous mode, but some of the backup nodes,
> too?
>
> I also would like to somehow guarantee read-your-own-writes semantics. My
> idea is for replicating a storage / database system to have a single writer
> through which all writes are propagated.
>
> I'd probably use something like oldest node is the master (which can be
> done using Apache Ignite).
>
> Then let's say someone decides to create a database and a first resource.
> I'd have to send an event round robin to create the resource on let's say
> three of 10 cluster nodes. Maybe I could use a distributed semaphore which
> just accepts 3-times acquiring the semaphore (name is database + resource
> concatenated). Once the initial bootstrapping of creating directories and
> files happened on all 3 nodes a write-transaction can be opened, which
> writes into a distributed cache. However as I'm thinking about it the cache
> for this resource must be shared on only the same 3 cluster-nodes. That's
> maybe already where I have no clue how to achieve this.
>
> Maybe I'm looking into how other data stores are replicated and
> partitioned, first ;)
>
> There's also BookKeeper for distributing a transaction-log. But I'm not
> sure if it's overhead if I don't have to persist the changes before
> applying it to the real data-files (to provide consistency -- I don't need
> persisted write-ahead logging).
>
> kind regards
>
> Johannes
> On 06.08.19 15:20, Ilya Kasnacheev wrote:
>
> Hello!
>
> You can use ignite.affinity(cacheName).mapKeyToNode(key): it returns
> ClusterNode which is primary for this key.
>
> Not sure that I understand you about the quorum.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> вт, 6 авг. 2019 г. в 15:47, Johannes Lichtenberger <
> [email protected]>:
>
>> Hi,
>>
>> can I somehow query on which cluster-nodes a partitioned cache stores
>> values for specific keys? I might want to use a cache for replicating an
>> in-memory transaction log (which does not have to be persisted) to
>> replicate a document of a NoSQL document store to a few nodes.
>>
>> Thus, instead of a local cache I'd simply write into an ignite cache and
>> then would like to query which cluster-nodes have stored a specific key
>> (for instance the document name). So for instance I could tell a load
>> balancer for reads to read documents from one of the backup replicas.
>>
>> During a transaction commit I would also need this information to know
>> where to send an event to... to commit the transaction. And somehow I'd
>> love to wait for a quorum of nodes if the transaction really has
>> committed or it needs to roll back.
>>
>> kind regards
>>
>> Johannes
>>
>>

Reply via email to