cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikolay Fominyh <nikola...@gmail.com>
Subject How to store news lists in optimal way?
Date Fri, 11 Feb 2011 09:26:07 GMT
Hello.

We have a problem with finding way to store user news list.
Our task - we have 2 group of filters:
1) News Types(photo, video, audio, etc... )
2) User Lists(user, friends, friends friends, etc..)

Our solution ways:
1) Store matrix of filters for each user.
UserNews:
   user_id1:
        <list_type1>: (date, uuid)
        <list_type1>_<news_type1>: list(date, news_uuid)
        <list_type1>_<news_type2>: list(date, news_uuid)
        ....
        <list_typeN>: (date, uuid)
        <list_typeN>_<news_type1>: list(date, news_uuid)
        <list_typeN>_<news_type2>: list(date, news_uuid)
        ...
   ...
   user_idN:
        <list_type1>: (date, uuid)
        <list_type1>_<news_type1>: list(date, news_uuid)
        <list_type1>_<news_type2>: list(date, news_uuid)
        ....
        <list_typeN>: (date, uuid)
        <list_typeN>_<news_type1>: list(date, news_uuid)
        <list_typeN>_<news_type2>: list(date, news_uuid)
        ...

Numbers of filters in this way more than 100..

2) Store news lists for each user in personal column family.
UserNews_<id>:
    date_uuid:
        <news_type> : indexed
        <list_type> : indexed
        <news_uuid>

In this case we have huge number of column families.

3) Store news lists in SQL Database and News in Cassandra.

4) Use Apache Lucene for indexes on filters.

Question: What of this ways is most optimal? Is there another ways of solutuion?


Mime
View raw message