Hi. We have two system based on riak-core. Simple distributed database for storing time-series data, we don't use riak_kv for this because we need batch insert,our data are small(16 byte key and 12 byte value) and we need less consistence guarantee but lowest latency. The second is framework named Zont for soft real-time data processing, like twitter storm,in which vnode play role standart erlang supervisor that allow for us build distributed process for process data. Zont used in one our application for processing financial data and it's run in production in Sberbank(One of the largest Russian Bank) and It's used in another application for processing large amount data from sensors that in production too. I will tell you about some problems in current riak-core and feature that will be usefull for us. 1. By default when riak_core app started on some node it try start all vnode(include those that must be start on another node). It's good behaviour for riak_kv or our time-series database but not for our second application. In our callback for riak_core_vnode first we check is it good place for this node at this time,if it's not we wait hadoff request and periodically check maybe it's already right place for this vnode. It will be good to have both behaviour in riak-core. 2. If some node in cluster fail riak_core don't restart vnode that owned by this node, vnodes start only if riak_core receive some request to it. It's not good for our second app too:) We write monitoring process that start vnodes if some node goes down. It will be good to have option that turn it in riak_core 3. We must have option for use master coordinator(like zoo-keeper) for update ring information and have consistence view on cluster for all node(states and down node etc.). Yes it's point of failure but wee really need it for CA. Currently we use many hack for release this on riak_core,it's work but it's not good solution (kill minor island, ...,etc.) 4. Try don't use riak_core_mochiglobal for save ring info it's don't work this standard erlang release upgrade procedure or we must have some option for recompile ring module that was built at runtime by riak_core_mochiglobal during upgrade procedure. 5. May be Include API for send multiple requests to VNodes by optimal way. 6. DOCUMENTATION!!!!!!!!
That all that remembered. May be remember something else latter. Please let me know if you need some additional information about our use case. On Wed, Oct 30, 2013 at 4:13 AM, Sam Elliott <sam.elli...@basho.com> wrote: > Hey Riak-Users (and Riak-Core) > > Some time ago, Basho released riak_core as a framework for building > distributed applications [1]. > One of the key pieces of guidance that was given at the time was that you > should use the features > of riak_kv if your app needed to do any persistence. With the new features > we'll be releasing in > 2.0 [2], we want to make riak_core the best toolkit for building complex > distributed applications > with both CP and AP semantics. > > As I see it, the main thing that is preventing most people from writing > their own riak_core > application is that there's not an API that allows people to easily do so. > There's a basic internal > KV client at the moment, but there are some features that it doesn't cover. > > Post-RICON (and almost certainly after the 2.0 release), I'm going to > focus on making riak_core > applications really easy to make, and riak_kv easy to use from a riak_core > application. > > I'd love any feedback that you all have. How can we improve the current > APIs? How can we make it > really easy for people to create riak_core apps? How can we nicely expose > the newest features of > riak_kv for people to use in their riak_core applications? > > Bonus points for feedback from anyone who has built and run a riak_core > application in production. > > Sam > > PS: I have some swag to give to anyone who's helpful > > [1]: http://basho.com/where-to-start-with-riak-core/ > [2]: http://basho.com/introducing-riak-2-0/ > > > > -- > Sam Elliott > Engineer > sam.elli...@basho.com > -- > > > > _______________________________________________ > riak-users mailing list > riak-users@lists.basho.com > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com