No reason you can't ACID the whole thing Important info: http://en.wikipedia.org/wiki/Concurrency_control#Methods
On Thu, Dec 15, 2011 at 5:18 AM, akaariai <akaar...@gmail.com> wrote: > A quick warning about your approach: if you use that in multi-threaded > environment, you are toasted. You will get two concurrent users for > the same connection, and that will not work nicely. For example > transaction control will be broken. That is also the reason why that > sort of thing is not used in Django. > > As for connection pooling, there is a patch (ticket 17258) which is > somewhat likely to get in that should allow much easier creation of > connection pools by external projects. > > - Anssi > > On Dec 14, 1:33 pm, nipunreddevil <nipunredde...@gmail.com> wrote: >> Hi, >> >> I have gone similar threads >> likehttp://stackoverflow.com/questions/1125504/django-persistent-database... >> and other stuff on same topic. However Django doesn't officially >> support persistent connections to MySQL and Mongo(to my limited >> knowledge).So i tried avoiding a lot of stuff and tried to make it >> simple.So what i did was in my views.py made global connection >> variables for both MongoDB and MySQL,something like: >> >> from pymongo import Connection >> import MySQLdb >> global >> mongo_connection,mongo_db,collection,mysql_connection,mysql_cursor >> mysql_connection = MySQLdb.connect (host = "localhost", >> user = "root", >> passwd = "password", >> db = "demo") >> mysql_cursor = mysql_connection.cursor () >> mongo_connection = Connection() >> mongo_db = mongo_connection.test_database >> collection = mongo_db.test_collection >> So after this when the required view is called as per URL requested,i >> dump the data in the two databases.Like: >> >> mysql_cursor.execute('''INSERT INTO >> table_name(l,n_n,n_id,s_n,s_id,u,r) VALUES >> (%s,%s,%s,%s,%s,%s,%s)''', >> (l,n_n,n_id,s_name,s_id,u,re) >> ) >> And similarly i did for saving to MongoDB. >> >> Obviously there's this flaw in this approach that i am not closing the >> connection anywhere.But this approach does seem to work and work well. >> >> Why is this sort of approach not used? >> >> How can i measure the performance improvements i get by using this >> approach v/s letting Django create a new connection to DB on each >> call. >> >> Also a batch insert is supposed to make things even better,by reducing >> calls to DB.How can such a concept be implemented within view >> definition? >> >> Here is how my application behaved before i had used my method of >> trying to make a persistent connection and had let Django take care of >> it >> >> mysql> show status like '%onn%'; >> +--------------------------+--------+ >> | Variable_name | Value | >> +--------------------------+--------+ >> | Aborted_connects | 0 | >> | Connections | 164359 | >> | Max_used_connections | 3 | >> | Ssl_client_connects | 0 | >> | Ssl_connect_renegotiates | 0 | >> | Ssl_finished_connects | 0 | >> | Threads_connected | 1 | >> +--------------------------+--------+ >> 7 rows in set (0.00 sec) >> After a few seconds when i ran the same query i got: >> >> mysql> show status like '%onn%'; >> +--------------------------+--------+ >> | Variable_name | Value | >> +--------------------------+--------+ >> | Aborted_connects | 0 | >> | Connections | 175047 | >> | Max_used_connections | 3 | >> | Ssl_client_connects | 0 | >> | Ssl_connect_renegotiates | 0 | >> | Ssl_finished_connects | 0 | >> | Threads_connected | 1 | >> +--------------------------+--------+ >> 7 rows in set (0.00 sec) >> However after using my approach the number of connections didn't >> increase. >> >> NB:I have posted same post >> onhttp://stackoverflow.com/questions/8502814/django-persistent-db-conne... >> but thought this might be a good place to get the answer > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.