Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am relatively new to database designing. I am currently using amazon SimpleDB to provide my application with information, so far its been relatively good and efficient until just now. Basically, I keep a registry of users (the items) which have properties related to their accounts on my app.

The problem is that I need a social-like structure, each user must have a list of friends, and a list of pictures that he is allowed to see. Both of these list will keep growing and I just dont know how to handle it in the Amazon SimpleDB Architecture. I thought about having a multi value property, but i fear the size might run out too fast, since the value length is 1024 bytes.

I also thought about having a domain dedicated to the users friends. Having the item name as the userID and using the properties as pages to keep multiple friends, but i think this is totally wrong.

Does anyone have an idea of how to handle this type of architectures in amazon simpleDB? Or should I just change to the traditional database?

share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

SimpleDB is a non-relational database. Social data like lists of friends is very much relational data, so SimpleDB is very much the wrong type of database to use for it.

share|improve this answer
    
oh god, does this means that im better off migrating to something else? Could you give me a suggestion please? Thanks for the reply –  Chiquis Jan 18 '13 at 20:05
    
Any relational DB would be a better choice than the key-pair style SimpleDB. Also, you really should read a book or something on Relational DB design and Normalization (especially that latter one is exactly what you're asking about). –  Chris S Jan 18 '13 at 20:06
    
Would it be possible to leave the key-pair database design i have so far, since queries like getting the user pictures count, or users email or other fields are easy to handle, and just add a relational database to handle friends and pictures elements? would it be cost effective for example? Ill check the relational DB and normalization as you suggested tho. –  Chiquis Jan 18 '13 at 20:10
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.