Is Riak suitable for s small-record write-intensive billion-records application?

Jeremiah Peschka jeremiah.peschka at gmail.com
Thu Oct 18 09:39:58 EDT 2012


Outside of primary key lookups, what do your data access patterns look
like? Will you entirely be performing PK based lookups? Are you looking for
rich querying semantics (full text search/Lucene)? Is it something in
between (secondary indexes)?

Do you have requirements around query performance - e.g. a read should take
200ms?

Typically, you'll want to isolate the core questions you're going to ask
and then build your data structures in a way that makes getting the answers
easy.

If you're doing nothing but PK lookups, the Riak is an easy choice.
---
Jeremiah Peschka
Managing Director, Brent Ozar PLF, LLC


On Thu, Oct 18, 2012 at 5:06 AM, Guido Medina <guido.medina at temetra.com>wrote:

> Hi,
>
>   That's exactly what Riak is designed for, there is no better usage of
> Riak than the scenario you are describing, now take into account the
> consistency, availability and concurrency of your writes, you might want to
> implement/use a sort of locking mechanism combined with in-memory cache
> where per key you can lock and make your operation atomic (sort of
> put-if-absent), we have a similar model where combined with in-memory cache
> that works like a charm.
>
> Best regards,
>
> Guido.
>
>
> On 18/10/12 12:42, Yassen Damyanov wrote:
>
>> Hi everyone,
>>
>> Absolutely new (and ignorant) to NoSQL solutions and to Riak (my
>> apologies; but extensive experience with SQL RDBMS).
>>
>> We consider a NoSQL DB deployment for a mission-critical application
>> where we need to store several hundreds of MILLIONS of data records,
>> each record consisting of about 6 string fields, record total length
>> is 160 bytes. There is a unique key in each record that seems suitable
>> for hashing (20+ bytes string, e.g. "cle01_tpls01_2105328884").
>>
>> The application should be able to write several hundreds of new
>> records per second, but first check if the unique key already exists.
>> Writing is to be done only if it is not there. If it is, the app needs
>> to retrieve the whole record and return it to the client and no
>> writing is done in this case.
>>
>> I need to know if Riak would be suitable for such application. Please,
>> advice, thanks!
>>
>> (Again, apologies for my ignorance. If we choose Riak, I promise to
>> get educated ;)
>>
>> Yassen
>>
>> ______________________________**_________________
>> riak-users mailing list
>> riak-users at lists.basho.com
>> http://lists.basho.com/**mailman/listinfo/riak-users_**lists.basho.com<http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com>
>>
>
>
> ______________________________**_________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/**mailman/listinfo/riak-users_**lists.basho.com<http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20121018/81dcb1ed/attachment.html>


More information about the riak-users mailing list