Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
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

Your Answer


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.