Have you taken a look at the changes here 
https://github.com/Kyorai/riak_core/pull/24 
<https://github.com/Kyorai/riak_core/pull/24>

It pulls the AAE work for riak_kv into riak_core.


> On 21. Jul 2017, at 16:06, Martin Sumner <martin.sum...@adaptip.co.uk> wrote:
> 
> 
> I've added some anti-entropy features to Leveled (the pure-Erlang KV store 
> designed as a Riak backend).  These features are in-part an experiment in how 
> to approach both anti-entropy and full-sync multi-data centre replication in 
> the future.
> 
> There's a long write-up, including some history of AAE in Riak:
> 
> https://github.com/martinsumner/leveled/blob/master/docs/ANTI_ENTROPY.md 
> <https://github.com/martinsumner/leveled/blob/master/docs/ANTI_ENTROPY.md>
> 
> In summary, Riak's current AAE is based on cryptographically strong Merkle 
> trees, and this experiment is based on removing that security strength, as it 
> isn't relevant to the context in which is used.  Instead Leveled now has 
> Merkle Trees that can be merged and also can be built incrementally (i.e. be 
> built key by key even when the keys are not in segment order).
> 
> Using these new trees (coined TicTac trees to fit into Leveled's terrible 
> naming convention), we can build AAE trees in folds incrementally and hence 
> at a lower cost, but also merge trees across independent stores.  In the 
> future trees can be built from folds using Riak coverage queries, across 
> either indexes or objects in the store - and compared between different 
> database clusters even where those clusters are partitioned differently e.g. 
> different ring-sizes.
> 
> The expectation is that there will be more flexibility of choice in what we 
> can decide to compare at run time - not just are the objects consistent, are 
> the indexes consistent.  Also split from partition constraints there will be 
> improved flexibility in what we can decide to compare between - e.g. make it 
> easier to compare with a different database.
> 
> Coupled with this there's a demonstration of using temporary indexes in 
> Leveled, index entries that auto-expire at a TTL, and we've shown how this 
> can be used with tree-creating folds to compare recent changes between stores 
> at a lower cost than comparing the whole database state: with the added 
> advantage that the long-term footprint of the database is not extended by 
> maintaining a separate copy of all the keys and hashes.
> 
> Concurrently to this, we now have some other work ongoing in the space of 
> replication and anti-entropy:
> 
> - @russelldb is continuing to test and improve his open source real-time 
> replication solution (rabl) which uses RabbitMQ.  He's hoping to be able to 
> talk further on progress with this by the end of August.
> - I'm working on implementing in riak_core a core_node_worker_pool, which is 
> intended to compliment the core_vnode_worker_pool but allow for coverage 
> queries where snapshots are taken on a covering set of vnodes, but folds are 
> then scheduled to run one-at-a-time on each node.  This can then be used to 
> regulate the impact of anti-entropy folds.
> 
> Our current target is to have a release candidate of open-source replication 
> (both real-time and full-sync) by the end of September.  This will initially 
> be focused only on replication between two Riak clusters.
> 
> Regards
> 
> Martin (@masleeds)
> 
> P.S. Hopefully next Friday we should also be able to report back on the 
> improvements and test enhancements that followed up the work on riak_core 
> claim.
> 
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to