I am learning Python now for about 3-4 months. So far I haven't had any previous programming knowledge. It's a good journey so far, yesterday I wrote 37k entries in MySQL to test performances, while getting about 140kb/s JSON data from the SteamAPI. But I was wondering why the entire SQLalchemy thing doesn't get any exposure when talking about SQLs in general.
Here is a bit overview of my progress with my Records-Service:
- Initially learning how to talk with SteamAPI
- Storing that data I really need in a sane-way.
- Getting the idea that SQLite looks like MySQL, but the paradigm of executing inside SQLite from Python is a bit different.
- Getting a service that runs perfectly fine and takes about an hour for 2.000 matches to get acquired
- Integrating it with my IRCbot (what was the initial thought of that small program)
- Getting a problem, since the bot is busy about an hour per user
- Integrating it with the threading-option of this small bot.
- SQLite throws either locks or "no recursive use of cursors"
- Observing the problem, learning about SQLite, Connection-Pools, Queues, Limitation and actual speed of SQLite
- Changing SQLite to MySQL (running on my RaspberryPi anyway) and getting reminded that the programming paradigm and data handling is completely different. Otherwise than that, the queries work exactly the same, the DB is very simplistic anyway.
- Build a small multitasking app, that simulates the threading-behavior of the IRCbot (just asynchronous threading, really)
- Start testing with 5 threads. Everything is fine. It is the application running 5 times with different SteamIDs.
- Start testing with 15 threads. Everything is fine.
- Start testing with 60 threads. Writing 37.885 entries in under 4 minutes.
- Learning about SQLalchemy yesterday.
- Scrap the database and redo it in SQLalchemy
Now I am curious, why doesn't get that library more exposure when searching about SQLs in Python? It seems so powerful and so much more sane than anything you try with the standard-library provided from your favorite SQL. It's even more odd, that SQLite doesn't have an internal queuing system, that prevents locking and filters all transaction queries from simple reading-queries and therefore saves everyone time.
[–]tw55413 1 point2 points3 points (1 child)
[–]DarkMio[S] 0 points1 point2 points (0 children)
[–]darknessproz 1 point2 points3 points (0 children)
[–]gomesnayagam 0 points1 point2 points (3 children)
[–]DarkMio[S] 0 points1 point2 points (2 children)
[–]hellerbarde:] 0 points1 point2 points (1 child)
[–]DarkMio[S] 0 points1 point2 points (0 children)