You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by I PVP <ip...@hotmail.com> on 2016/01/14 13:34:39 UTC

Modeling approach to widely used textual information

Hi everyone,

I am new to Cassandra and moving a existing myqql application to Cassandra.

As a generic rule, what is the recommended approach for keeping textual information like a user_nickname, a company_name, product_title, that will potentially be updated at some time and is routinely and repeatedly displayed on many use cases across the application like when the end user: see a employee list, sees a contact list, send/receive chat messages, see RFQs, see an order, see a shipping provider information/tracking, see rantings and reviews, see invites and so on?

Situations that  MVs alone cannot solve because would involve multiple tables.

Options:
-----

A) The text information should be copied and update on all CFs/tables, that were modeled to answer the many queries for the many use cases across the application, every time that the information changes on the "source" CF/table (like: user table, product table or company table?

OR

B)Should only the ids (person_id/company_id, product_id) be stored across the columns families/tables, and at the front end the "source" column familie/table is queried to retrieve that specific text field : the person_name/company_name and display it ? ( potentially leveraging REST http caching)

OR

C) Other approaches ?

-----

I understand that the proper modeling it crucial and that "writes as cheap", but new tables will come sooner or later and changing a previously created business logic code every-time that a new CF/Table  is created  is not cheap.
At this moment option B is the most likely. Specially with some use cases allowing the data like a user's contact list id/names(only), the id/name(only) of the companies that the user is doing business with,to be downloaded to the frontend at once and used for a couple of seconds/minutes executing a tasks or for other use cases having specific REST Services ( /company/id/name, product/id/title) to provide these widely used information/fields and potentially leveraging http cache for some time to provide the text data across the application.

Any advice and guidance will be appreciated.

Thanks for your help.

--
IPVP