Often when learning, you do not implement every difficult edge case, the most complex. You are just trying to get the jist of it. You want a smaller problem to solve.
Maybe as a learning project, it isn't important to have concurrency, networking, memory management. Unless, any of those things happens to be of interest to learn about also, then add them back in.
I don't think this is trying to be an argument for Python as good to build an RDB in. (of course it isn't for all the reasons you list)
Python just happens to be an easy language for beginners, so why not build a basic RDB to learn about that too.