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


Reply via email to