HTTP-based client for Riak database, written in Dart

2012-06-03 Thread Istvan Soos
Hi,

I'm working on a Dart-based project that uses Riak database as a
backend, and I'm releasing the related riak-dart client codes:
http://code.google.com/p/riak-dart/

The project covers the basic use-cases of Riak:
 * fetch object
 * store object
   * with easy conditional updates
   * secondary index support + helpers
 * delete object (with easy conditional delete)
 * query secondary index

Contributions are welcome, especially in the following areas:
 * testing, logging, documentation, examples
 * query secondary index with large result set (streaming processing)
 * conditional fetch object (etag, not-modified-since support)
 * Riak Protobuf API support
 * Riak Map-Reduce API support

Regards,
  Istvan

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


pub/sub messaging e.g. worker queue on riak?

2012-11-07 Thread Istvan Soos
Hi,

I'm playing with the idea how Riak could be used to build a pub/sub
messaging on it. I know that there are specialized products for that,
I just find it an interesting problem to solve it with Riak only (+
not too much client code).

The example scenario is the following:
- N producers create e.g. "task items", store it in Riak
- M workers/consumers try to complete them and after completion delete
the items from Riak
- workers choose from "one of the oldest" task items, e.g. there is a
close-to-fair scheduling (but no absolute ordering)
- workers try to not work on the same task

In the first iteration, I'd use:
- secondary index with the actual timestamp to provide ordering
- the workers could use (hash modulo M) decision to work on a given task
- the workers periodically re-sync their status (e.g. number of active
workers) through a different bucket

I'm not entirely convinced that this is a scalable design, but it
seems good on the design board. Does anyone have a working experience
with similar designs? Any hint that x/y/z could go wrong?

Thanks,
  Istvan

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


Re: pub/sub messaging e.g. worker queue on riak?

2012-11-28 Thread Istvan Soos
Hi Mark,

The proposed design has only one major benefit: it reduces the number
of different technologies to work with / support. I haven't
implemented it myself (yet), but a friend of mine might do soon, I'll try
to get the results published.

Regards,
  Istvan

On Wed, Nov 28, 2012 at 12:33 PM, Mark Phillips  wrote:
> Hi Istvan,
>
> I've not yet seen Riak hacked into a queue, and I suspect it's for
> good reason. Your design sounds like a lot of work just to emulate the
> functionality that something that like Kafka or RabbitMQ can do out of
> the box (though I have to admit the "Riak as a Queue" headline on
> HackerNews would be quite nice).
>
> Out of curiosity, any chance you made a pass at it over the last few weeks?
>
> Mark
> twitter.com/pharkmillups
>
>
> On Wed, Nov 7, 2012 at 11:58 PM, Istvan Soos  wrote:
>> Hi,
>>
>> I'm playing with the idea how Riak could be used to build a pub/sub
>> messaging on it. I know that there are specialized products for that,
>> I just find it an interesting problem to solve it with Riak only (+
>> not too much client code).
>>
>> The example scenario is the following:
>> - N producers create e.g. "task items", store it in Riak
>> - M workers/consumers try to complete them and after completion delete
>> the items from Riak
>> - workers choose from "one of the oldest" task items, e.g. there is a
>> close-to-fair scheduling (but no absolute ordering)
>> - workers try to not work on the same task
>>
>> In the first iteration, I'd use:
>> - secondary index with the actual timestamp to provide ordering
>> - the workers could use (hash modulo M) decision to work on a given task
>> - the workers periodically re-sync their status (e.g. number of active
>> workers) through a different bucket
>>
>> I'm not entirely convinced that this is a scalable design, but it
>> seems good on the design board. Does anyone have a working experience
>> with similar designs? Any hint that x/y/z could go wrong?
>>
>> Thanks,
>>   Istvan
>>
>> ___
>> 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


riak as drop-in replacement for DynamoDB?

2014-02-06 Thread Istvan Soos
I'm wondering if someone tried or is working on a Riak wrapper that is
a drop-in replacement for AWS DynamoDB? It seems that it could work
with the combination of the next-gen search. Any thoughts?

Istvan

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


Re: Change Capture out of Riak

2014-04-02 Thread Istvan Soos
> Is anyone doing Change Capture (like the Databus project from LinkedIn)
> directly out of Riak? Right now I have something hacked up using
> Ripple+ActiveModel::Dirty, but I'd like to divorce it from our app
> completely if possible. Was thinking a post-commit hook might work? End
> goal is to feed it to a logging backend (in the Kafka sense of the word)
> for other systems to feed off of.
>
> I'd love any pointers you might have to past posts I've missed (tried
> searching the archive but came up dry), code, ideas, "tried it and it was a
> pain", "that's a stupid idea", etc.

I was thinking about a similar idea, but I haven't followed it through
yet. It is certainly harder than it looks, especially on the question
of how to handle backpressure or what kind of guarantees are you able
to satisfy.

A queue semantics might work for my use case, where the event broker
app receives events, stores them in Riak and passes them on to other
clients or brokers. This could work if none of them is interested in
event ordering or past events (e.g. if events are immutable change
events, there is a client-side conflict resolution, and there is a
separate place to store the latest known/accepted state for each
object).

It would be interesting to hear what others have achieved.

Istvan

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