| | |
I need help choosing a back-end for handling databases
Please support our Python advertiser: Programming Forums - DaniWeb Sister Site
Thread Solved |
•
•
Join Date: Jun 2009
Posts: 31
Reputation:
Solved Threads: 0
I need a back-end that can:
-be used in python
-handle multiple-users reading and writing to a database at the same time
-can be accessed on a mapped share drive
I have used sqlite but I have read that it is not recommended for multi-user use. I have looked into Firebird but it should not be used on a mapped share drive.
Any suggestions would be greatly appreciated!!
-be used in python
-handle multiple-users reading and writing to a database at the same time
-can be accessed on a mapped share drive
I have used sqlite but I have read that it is not recommended for multi-user use. I have looked into Firebird but it should not be used on a mapped share drive.
Any suggestions would be greatly appreciated!!
This is certainly not the only solution but postgresql can easily handle multiple users (like I assume most other RDMs can). The psycopg2 module is what I've used in the past for postgres but I know there are a few others out there.
As jlm699 said, Postgresql is good but isn't the only one.
You can go with mysql plus mysql-python.
I have read yahoo! and many other big companies uses mysql(not sure if it is with Python or PHP) so I know it must be multiuser!
You can go with mysql plus mysql-python.
I have read yahoo! and many other big companies uses mysql(not sure if it is with Python or PHP) so I know it must be multiuser!
•
•
Join Date: Jun 2009
Posts: 31
Reputation:
Solved Threads: 0
Thank you for your suggestions. Perhaps you can help answer a couple other questions concerning DBMS's. My networking knowledge is minimal at best.
So let's say I use one that uses a database server. Firebird does this for example. Now, let's say I am on a LAN such as in an office building. Each person in the office wants access to the databases on this database server. They want to be able to read and write to this database. The network is secure.
How do I create this server? Can the server and the databases be on any machine's hard disk on the network? Also, once the server and databases are created, how is access granted to the server? In my application I use wxpython as a front-end, but can anyone with a front-end get onto this database server? Or can only people on the office LAN gain access to this server?
Thank you very much. I appreciate all replies.
So let's say I use one that uses a database server. Firebird does this for example. Now, let's say I am on a LAN such as in an office building. Each person in the office wants access to the databases on this database server. They want to be able to read and write to this database. The network is secure.
How do I create this server? Can the server and the databases be on any machine's hard disk on the network? Also, once the server and databases are created, how is access granted to the server? In my application I use wxpython as a front-end, but can anyone with a front-end get onto this database server? Or can only people on the office LAN gain access to this server?
Thank you very much. I appreciate all replies.
That's where sockets comes in MHO.
You will use to send data to the server and then there will be a thread opened to server to save each query. So theoretically this is what I would do :
1. Connect to the server via sockets and server's mysql-python module
2. Use that connection to send queries
3. Close database connection and end socket session
Just my 2cents
You will use to send data to the server and then there will be a thread opened to server to save each query. So theoretically this is what I would do :
1. Connect to the server via sockets and server's mysql-python module
2. Use that connection to send queries
3. Close database connection and end socket session
Just my 2cents
•
•
•
•
How do I create this server? Can the server and the databases be on any machine's hard disk on the network?
•
•
•
•
Also, once the server and databases are created, how is access granted to the server?
•
•
•
•
In my application I use wxpython as a front-end, but can anyone with a front-end get onto this database server?
You could alternately create and distribute a Python program to access the database, which would act as the user's front-end (even though the pg module that you make use of is the means to this end). Or you could simply create a web front-end (I've used PHP to create a db front-end for my workplace which I highly recommend)
Depends whether your "office LAN" is internal only or if it can be accessed from the outside world.
•
•
Join Date: Jun 2009
Posts: 31
Reputation:
Solved Threads: 0
That was extrememely helpful jlm699! You sold me on postgresql.
A couple more things:
I suppose actually it would not be on a LAN but rather an intranet. Like at a business with multiple spread out office locations. Could this be a problem if the database server is on this intranet in one city and then an office somewhere wants access to it?
I have already made a Python program using the wxpython GUI toolkit to create and distribute to the users s a front-end.
So, simply, and if I understand you correctly, I use postgresql as a back-end in my Python program, set up the database server on this office intranet with multiple accounts for security, and then distribute the Python program as a way for the users to access the databases. And postgresql handles any issues with multiple-users reading and writing to the database so I don't necessarily have to worry about that anymore.
Thank you again, jlm699.
A couple more things:
I suppose actually it would not be on a LAN but rather an intranet. Like at a business with multiple spread out office locations. Could this be a problem if the database server is on this intranet in one city and then an office somewhere wants access to it?
I have already made a Python program using the wxpython GUI toolkit to create and distribute to the users s a front-end.
So, simply, and if I understand you correctly, I use postgresql as a back-end in my Python program, set up the database server on this office intranet with multiple accounts for security, and then distribute the Python program as a way for the users to access the databases. And postgresql handles any issues with multiple-users reading and writing to the database so I don't necessarily have to worry about that anymore.
Thank you again, jlm699.
•
•
Join Date: Jun 2009
Posts: 31
Reputation:
Solved Threads: 0
I have looked more into pstgresql since my last post and want to refine my questions. From what I understand limiting who can connect to the database server is very easy with postgresql. You can use usernames and passwords along with allowing only certain ip addresses.
So as long as you are connected to the office intranet, know the name of the host of the database server, know a username and password and you have an allowed ip address, you should be able to get access to the server...no matter where you are? If the database server is hosted on either a computer or server on the private office intranet, do you need to be on the private office intranet to access it, or just simply connected to the internet somewhere?
So as long as you are connected to the office intranet, know the name of the host of the database server, know a username and password and you have an allowed ip address, you should be able to get access to the server...no matter where you are? If the database server is hosted on either a computer or server on the private office intranet, do you need to be on the private office intranet to access it, or just simply connected to the internet somewhere?
Last edited by jcmeyer; Sep 23rd, 2009 at 9:37 am.
•
•
Join Date: Sep 2009
Posts: 113
Reputation:
Solved Threads: 16
•
•
•
•
I have looked more into pstgresql since my last post and want to refine my questions. From what I understand limiting who can connect to the database server is very easy with postgresql. You can use usernames and passwords along with allowing only certain ip addresses.
So as long as you are connected to the office intranet, know the name of the host of the database server, know a username and password and you have an allowed ip address, you should be able to get access to the server...no matter where you are? If the database server is hosted on either a computer or server on the private office intranet, do you need to be on the private office intranet to access it, or just simply connected to the internet somewhere?
![]() |
Similar Threads
- Products Lister w/ a CMS Back-End (Existing Scripts)
- Back-end Developers (Post your Resume)
- OLE object not saved in back-end (Visual Basic 4 / 5 / 6)
- Seeking a talented Sr. Web Developer w/ Java, J2EE, JSP, HTML, CSS (Web Development Job Offers)
- back end web site design (PHP)
- PHP/MySQL (LAMP) Unique opportunity in San-Francisco (Software Development Job Offers)
- Java back-end engineer| 90-110K | Los Angeles (Software Development Job Offers)
- Difference between back() & end() (C++)
- Open Source (LAMP) Software Architect (Back-end) – San Francisco Bay Area (Software Development Job Offers)
- VB.net Front-end Access Back-End Question (VB.NET)
Other Threads in the Python Forum
- Previous Thread: PYTHON BEGINNER! I can NOT figure this out... PLEASE HELP!!!
- Next Thread: Program help
Views: 438 | Replies: 12
| Thread Tools | Search this Thread |
Tag cloud for Python
accessdenied address ansi backend beginner changecolor class code conversion coordinates copy curves customdialog dan08 dictionary directory dynamic edit examples excel feet file float font format ftp function generator getvalue gui halp homework i/o images import info input ip java line linux list lists loop mouse mysql newb number numbers output panel parsing path port prime print program programming projects py2exe pygame pyqt python queue random rational recursion recursive schedule screensaverloopinactive scrolledtext searchingfile server ssh stamp statictext string strings sudokusolver table terminal text thread threading time tkinter tlapse tuple tutorial type ubuntu unicode url urllib urllib2 variable whileloop windows write wxpython






