Ok I got your point behind not using Mongodb. But the project is similar to 
facebook and facebook uses graph. So, what advantage can one get by using 
graph. And why shouldn't I use graph for this project. In this project, 
users will post status updates too and those updates will have tags. So 
think of a share model that has like 5 tags. So, should I create a tag 
model and then a share has many tags, or is there a better solution?

On Friday, 13 September 2013 14:46:32 UTC+5:30, Peter Hickman wrote:
>
> On 12 September 2013 16:44, Yash Ladia <ladi...@gmail.com <javascript:>>wrote:
>
>> Thanx for your reply.My problem is that at a later point of time this 
>> would account for very large data set as the users will increase. I want to 
>> optimize my website and want to save time on data query from the 
>> database.Also, i will be looking for similar user profile based on user's 
>> attribute like(taste in music,movies,interests etc).I want this to be done 
>> very efficiently and in a proper manner so that there is less complexity in 
>> writing the code.
>>
>
> Having a large amount of simple data is not the same problem as having 
> complex data. If all you are storing is key value pairs you could have a 
> table like this
>
> class Interest < ActiveRecord::Migration
>   def change
>     create_table :interests do |t|
>       t.integer :user_id, :null => false
>       t.string :type, :null => false
>       t.string :value, :null => false
>       t.timestamps
>     end
>   end
> end
>
> And you would store it as:
>
> Interest.create(:user_id => user.id, :type => 'music', :value => 'Status 
> Quo')
> Interest.create(:user_id => user.id, :type => 'movie', :value => 'The 
> Color Purple')
> Interest.create(:user_id => user.id, :type => 'hobby', :value 
> => 'Fishing')
> Interest.create(:user_id => user.id, :type => 'food', :value => 'Cheese')
>
> and have a has_many link from the User model to retrieve the data. This 
> sort of data is exactly what an RDBMS is best suited for. Of course if it 
> is just key value pairs then something like Redis is also a good tool too.
>
> MongoDBs strength is document storage for unstructured data. The problem 
> is that the data you have is neither a document nor unstructured. This is 
> not to say that you cannot store key value pairs in MongoDB but it is not 
> the best tool for the problem you describe.
>  

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/da824b8f-36ea-4f05-8edf-223381e02b3c%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to