Hi Saurabh,
On 03/19/2014 03:12 PM, Saurabh Wahile wrote:
Hello,
I am a third year Computer Engineering B.E student at Mumbai University, India. 
I have 4 years of experience in C++/Java Programming and 1 year in Python 
programming. Coming from a C++/Java background, I appreciate the rapid 
development quality of Python and Django's amazing way of leveraging it. Some 
of the projects that I've previously worked on are here:
http://saurabhdiaries.tk/?cat=8

The Problem:
For the past year, I've been working on a social app for android which requires 
a RESTful API. This I implemented using Django and the tastypie library. 
However, as all social apps require a 'friends'/'relationships' module, I was 
stuck using a foreign key relationship model. This I found to be quite counter 
intuitive and simply wrong to go with as the join computation is too heavy on 
the database. SQL databases are quite good at handling large amounts of data 
but are not designed to handle relationships quite well.
"SQL" databases are actually RDBMS - Relational Database management system. 
Above anything else they are built to handle relationships. Not sure why you 
find it counterintuitive, as a ForeignKey is basically the canonical example of 
a relationship. Do you have any statistics to back up "the join computation is 
too heavy on the database", or is this a premature optimization?

While researching more, I found out about NoSQL solutions, in particular, 
Neo4j. Neo4j can handle relationships quite well. However while digging through 
a large chunks of data, particularly searching, goes heavy on the NoSQL 
databases, at least for now.

The Solution:
I found out that if i assign storage of linear data to ORM databases and the 
relationships to NoSQL solutions, I would be able to maximize on performance 
and create a 'best-of-both' scenario for developing Django applications that 
rely on heavy data and relationships.

The Plan:
I intend to build a library that can help to resolve this issue by using 
Django's existing model architecture and extending the foreign key 
relationships to be redirected onto the NoSQL solution.

I would like to hear any suggestions and if instead of a library, I could 
directly add models fields that could support NoSQL funtionalities.

Awaiting feedback,
Saurabh
--
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/842f73e4-4c7d-4e5a-8034-ad17df990d8f%40googlegroups.com<https://groups.google.com/d/msgid/django-developers/842f73e4-4c7d-4e5a-8034-ad17df990d8f%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
Regards,
Chaim Kirby

________________________________
This email is intended only for the use of the individual or entity to which it 
is addressed and may contain information that is privileged and confidential. 
If the reader of this email message is not the intended recipient, you are 
hereby notified that any dissemination, distribution, or copying of this 
communication is prohibited. If you have received this email in error, please 
notify the sender and destroy/delete all copies of the transmittal.

Thank you.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/5329FDBD.2060208%40peds.bsd.uchicago.edu.
For more options, visit https://groups.google.com/d/optout.

Reply via email to