Exercise 2: Why better-sqlite3 Is Unusual, and Why That's Still Justified — Possible Solution ==================================================================== WHAT MAKES IT UNUSUAL ------------------------------ Most Node database drivers are asynchronous by default, using async/await or callbacks/promises to avoid blocking Node's single-threaded event loop while waiting on I/O. better-sqlite3 is deliberately synchronous instead - calls like db.prepare(sql).get() return their result immediately, blocking the event loop for the duration of that one query, with no async/await involved anywhere. WHY THIS IS STILL JUSTIFIED HERE ------------------------------ SQLite is a local file, not a networked database - there's no network round-trip to wait on the way there would be with a remote database server, so the usual justification for going async (don't block the event loop while waiting on the network) doesn't really apply the same way. better-sqlite3's own synchronous design has also been measured to outperform async SQLite alternatives for exactly this kind of local, single-file use case. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly identifies that most Node DB libraries are async while better-sqlite3 is deliberately synchronous, and correctly explains why that's still a reasonable choice specifically because SQLite is a local file with no network latency to hide, plus the library's own measured performance advantage for this use case.