Python Forum
Which database should I learn
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Which database should I learn
#1
I am a teacher who has realized lots of programming opportunities in the education sector so I am learning programming to take advantage of that. The business I want to pursue is providing a mobile app and web frontend for school management and teaching while helping students also to do school activities online. From my research I think Python will be good for this. That is why I am taking a Python course, MIT 600.1x. I foresee that this project will involve several schools and students so I am divided on which database will serve my needs. Can someone recommend a database system that would scale to literally a 100,000 students and schools accessing its content on a daily basis and would work fine. To add to my Python skills.
Thanks.
Reply
#2
That depends on a lot of things. The design/layout of the database and the specifics of the access patterns will be crucial. That many people doing a row lookup would be trivial, while that many people doing thousands of updates might be slammed.

I think the setup and design of the DB, and how the front end accesses it are going to be much more important than which DB is chosen (to a point).

I'm not sure that this forum is the best place for DB design decisions, which is what it sounds like you're looking for.
Reply
#3
(Jun-08-2020, 06:20 AM)bowlofred Wrote: That depends on a lot of things. The design/layout of the database and the specifics of the access patterns will be crucial. That many people doing a row lookup would be trivial, while that many people doing thousands of updates might be slammed.

I think the setup and design of the DB, and how the front end accesses it are going to be much more important than which DB is chosen (to a point).

I'm not sure that this forum is the best place for DB design decisions, which is what it sounds like you're looking for.

Thanks for your reply. I searched on the internet for database forum but did not get any good response. Since I want the database to work with Python, I thought this would be a good place to ask.
Please can you recommend any good forum where I can get satisfaction. I would be more than delighted.
Reply
#4
First, you need to detemine which platform you are going to be running on. I do not believe Android can support enterprise apps, so you would need either Windows, or Linux. And for a scale of 100,00 users you would need to rent your own server (as normal website hosts are somewhat limited in throughput, and even database memory allotments (usually around 50MB even for 'unlimited' accounts).

For Win you would probably need MSSQL.
For Linux, the main DB software these days is mariaDB, an offshoot of MySQL. There are also SQLLite and others, with Python apparently supporting most of them. There are also Java databases like H2 and others, but they may be slower, at least from my experience with H2.

There are many tutorials on MySQL, and since all SQL languages are similar in structure, I would highly recommend learning on MySQL where is an enormous amount of tutorial information.
There is also a forum:
https://forums.mysql.com/list.php?10

You *might* be able to get away with a simpler, 'flat' database type like a spreadsheet in design, if you are only going to serve data to users. But if you are going to accept user interaction, like with grading and membershiop lists, you will likely need the more complex full database. At least from my experience with the subject.

Personally, if you have no experience with programming you *might* be able to get away with something like Drupal (you would have to inquire on their forums if addons could accomplish your objectives). However that software has a steep learning curve. Or else you would be advised to hire an experienced webmaster.

This would not be a typical 'Angry Birds' type app.
Reply
#5
(Jun-11-2020, 05:37 AM)millpond Wrote: For Win you would probably need MSSQL.
Any of the DB you mention - MySQL, MariaDB, PostgreSQL can run on Windows, MSSQL is just yet another DB, that requires paid license
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#6
I have already downloaded mysql after the previous post. I will look into it and add it to one of my programmer skills. I hope it does not have a steep learning curve?
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020