learndb-py
Learning and science
database education
SHOW HN2023
How HN took it
8 positive, 11 neutral or asking, 0 mixed, 9 critical, out of 28 comments about the project. Thread score +0.16.
Idea: 4 for, 6 againstDesign: 1 for, 2 againstDocs: 2 for, 1 againstExecution: 1 for, 0 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Readable code and good documentation
From 3 comments
First, great project. Second, the code is very readable. Finally thank you for excellent comments.
indymike on HNThe documentation is excellent.
xjsjxjsjsh on HNThis is very nice! SQLite is very hard to read, but this one is actually quite comprehensible. Especially the VM part:…
flakiness on HN
Good learning project for databases and Python
From 3 comments
Thank you for sharing My perspective is that writing this kind of system in a language such as Python is actually a great thing because for myself Python is more widely readable…
samsquire on HNThis is fantastic, and seems like a great way for someone (me) to learn DS&A better. I can explain how a B+tree works, but if you asked me to code it, I’d freeze up. I love…
sgarland on HNNice! it is good to see past blind spots e.g. "you must write this kind of app in this kind of language, pure Python is high level it is only for glue". I wouldn't have thought…
quickthrower2 on HN
Objections
Python unsuitable for serious database work (concurrency, memory layout)
From 2 comments
Not even close. The real problems you will have to solve when working with a database anyone would want to use are, for example: * Memory layout of the buffers used to write /…
crabbone on HNI know Python, but little C. I don’t recommend writing a DB in Python. So much of DB development is dealing with race conditions and consistency. Python files require an…
pyuser583 on HN
Calling it a SQLite clone is misleading
From 2 comments
Perhaps a more accurate claim would be "SQLite inspired". Calling it a clone is misleading. Mad props to the author. Many Python programmers never had proper training in computer…
keithalewis on HNJust trying to encourage clear and accurate communication. I agree with your first sentence. The only thing unfair is the author claiming it is a SQLite clone. It isn't, as we…
keithalewis on HN
Lacks transactions and full ACID guarantees
From 1 comment
Re: ACID guarantees It doesn't have a notion of atomically batching multiple statements, i.e. transaction. But beyond that, it's a single file database, which can only have a…
spanspan on HN
Requests
Benchmarks
From 1 comment
Kudos, i bet that was a fun and rewarding experience. I know this was never meant to be fast, but could you produce some benchmarks for shits and giggles?
KeplerBoy on HN
Run SQLite test suite against it
From 2 comments
This is very nice! SQLite is very hard to read, but this one is actually quite comprehensible. Especially the VM part:…
flakiness on HNHow much of the SQLite test suite will pass?
_tom_ on HN
Questions
Does it support JOINs?
From 3 comments
Is this really a relational database if it does not have JOINs?
rvba on HNIt does have joins
spanspan on HNThe splash page says that Learndb supports the following: select, from, where, group by, having, limit, order by I dont see "JOIN" there. So either the DB doesnt support it or…
rvba on HN
Does it support ACID guarantees and query optimization?
From 1 comment
Does it support any ACID guarantees? Query planning/optimization? I’m not saying this to imply that it can/should. I just want to know what all was attempted besides b-trees and…
schemescape on HN
How it compares to Python's sqlite3 module
From 1 comment
Nice OP. How would you say this compares to the inbuilt 'sqlite3' module in Python? Is it more or less portable? Different features?
Uptrenda on HN
Alternatives named
H2 (Java embedded RDBMS)
From 2 comments
H2 is pretty great and fully supports JSONB and the like [1]. Full java-only RDBMS. [1]: https://www.h2database.com/html/main.html
gabereiser on HNThis is why you see a community of pure Java RDBMSs (Hypersonic, H2, Derby, etc), if you don't need the big iron scale it's easier to ship/use the database or even embed it in…
devman0 on HN
HSQLDB and Derby
From 2 comments
This is why you see a community of pure Java RDBMSs (Hypersonic, H2, Derby, etc), if you don't need the big iron scale it's easier to ship/use the database or even embed it in…
devman0 on HNYes. It's an interesting area, irrespective of implementation language. I had tried out one or two Java-based RDBMSes back in the day, via programs written in Java, for fun. I…
fuzztester on HN
Gadfly (pure Python SQL database)
From 1 comment
i used to use gadfly, aaron watters's sql database in pure python; the first release was in 01994 i'm not sure current python is capable of running it
kragen on HN