cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiller, Dean" <Dean.Hil...@nrel.gov>
Subject Re: Denormalization
Date Sun, 27 Jan 2013 22:50:02 GMT
Oh and check out the last pattern "Scalable equals only index" which can allow you to still
have normalized data though the pattern does denormalization just enough that you can

 1.  Update just two pieces of info (the users email for instance and the Xref table email
as well).
 2.  Allow everyone else to have foreign references into that piece. (everyone references
the guid not the email….while the xref table has an email to guid for your use…this can
be quite a common pattern actually when you may be having issues denormalizing)

Dean

From: Adam Venturella <aventurella@gmail.com<mailto:aventurella@gmail.com>>
Reply-To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" <user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
Date: Sunday, January 27, 2013 3:44 PM
To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" <user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
Subject: Re: Denormalization

In my experience, if you foresee needing to do a lot of updates where a "master" record would
need to propagate its changes to other records, then in general a non-sql based data store
may be the wrong fit for your data.

If you have a lot of data that doesn't really change or is not linked in some way to other
rows (in Cassandra's case). Then a non-sql based data store could be a great fit.

Yes, you can do some fancy stuff to force things like Cassandra to behave like an RDBMS, but
it's at the cost of application complexity; more code, more bugs.

I often end up mixing the data stores sql/non-sql to play to their respective strengths.

If I start seeing a lot of "related" data, relational databases are really good at solving
that problem.


On Sunday, January 27, 2013, Fredrik Stigbäck wrote:
I don't have a current use-case. I was just curious how applications
handle and how to think when modelling, since I guess denormalization
might increase the complexity of the application.

Fredrik

2013/1/27 Hiller, Dean <Dean.Hiller@nrel.gov<javascript:;>>:
> There is a really a mix of denormalization and normalization.  It really
> depends on specific use-cases.  To get better help on the email list, a
> more specific use case may be appropriate.
>
> Dean
>
> On 1/27/13 2:03 PM, "Fredrik Stigbäck" <fredrik.l.stigback@sitevision.se<javascript:;>>
> wrote:
>
>>Hi.
>>Since denormalized data is first-class citizen in Cassandra, how to
>>handle updating denormalized data.
>>E.g. If we have  a USER cf with name, email etc. and denormalize user
>>data into many other CF:s and then
>>update the information about a user (name, email...). What is the best
>>way to handle updating those user data properties
>>which might be spread out over many cf:s and many rows?
>>
>>Regards
>>/Fredrik
>



--
Fredrik Larsson Stigbäck
SiteVision AB Vasagatan 10, 107 10 Örebro
019-17 30 30

Mime
View raw message