6 ms·
I wonder how an alternate timeline might have played out if Richard Hipp had not named it "SQLite" and instead called it "SQLightning" or "SQLExpress" or someth
by avl999 4y ago
I wonder how an alternate timeline might have played out if Richard Hipp had not named it "SQLite" and instead called it "SQLightning" or "SQLExpress" or something like that. For much of its lifetime, SQLite wasn't taken seriously despite being an extraordinary technology and part of me is convinced it was in large part due to "Lite" being in the name.
- tptacek 4y agoI don't think it has much to do with the name. I think the biggest perceptual impact on SQLite came from Rails, and its default for using SQLite as a test database while strongly discouraging people from using it in production.
- post-it 4y agoDjango too. > By default, the configuration uses SQLite. If you’re new to databases, or you’re just interested in trying Django, this is the easiest choice. SQLite is included in Python, so you won’t need to install anything else to support your database. When starting your first real project, however, you may want to use a more scalable database like PostgreSQL, to avoid database-switching headaches down the road. [0] [0] https://docs.djangoproject.com/en/4.1/intro/tutorial02/ https://docs.djangoproject.com/en/4.1/intro/tutorial02/
- tptacek 4y agoSure, Django too.
- nigma 4y agoThere are many reasons for using other databases like PostgreSQL or MySQL in production - feature set, (managed) hosting, backup and replication, etc. SQLite is primarily embedded/local database and cannot be easily separated and shared over network [1] between multiple disposable backend/worker instances. [1] https://12factor.net/backing-services https://12factor.net/backing-services
- 0x457 4y agoTo be fair, serving any kind of traffic with Rails required multiple replicas of Rails application running. So SQLite wasn't an option for production for any kind of production rails workload. Then most hosting for rails were stateless, so you had no way of storing SQLite on disk. And finally, for serious production you need high availability and SQLite couldn't offer that.
- Abishek_Muthian 4y agoWould Go's concurrency be an issue for SQLite too? Edit: I looked into a common Go driver for SQLite[1] and the FAQ reads, > Can I use this in multiple routines concurrently? > Yes for readonly. But not for writable. See #50, #51, #209, #274. Every time I see a blog post from fly.io reg SQLite I'm tempted to use it for my next project, But the need to rewrite my framework for limited data types and the doubts regarding concurrency keeps me away. [1] https://github.com/mattn/go-sqlite3 https://github.com/mattn/go-sqlite3
- tptacek 4y agoMy general M.O. for SQLite in Go is to have a single writer thread with a channel of closures to apply transactions, and a shared db handle for reads. Works fine.
- Abishek_Muthian 4y agoThat's an useful information, Thanks for sharing.
- randomdata 4y agoI think it's older than that, even predating SQLite. Back when Perl/CGI was all the rage it was common to store data in files. But the web was growing fast and scaling files was hard. Pushing that workload onto the heavyweight RDMBS was seen as the solution, reasonably so in some cases, but that also brought the cargo culting along with it. When SQLite arrived it got lumped in with file storage that can't scale. Rails only perpetuated what everyone was already thinking.
- gnrlst 4y agoI am a big believer in "nomen omen" -> latin for: destiny is in the name. It's obviously an exaggeration, but to your point, this is one of those cases where the name influenced how the tech was being used (and in what environments), regardless of its underlying potential.
- mananaysiempre 4y ago“Nominative determinism”[1] [1] https://unsongbook.com/ https://unsongbook.com/
- resoluteteeth 4y agoI'm not sure the problem is the name. I think there has been a lot of recognition in the last 10 years that sqlite is actually quite robust, but it still hasn't been considered suitable for serious use is based on how software and database servers have traditionally operated. It seems like what's changing that now is the recognition that other approaches may make more sense given modern software architecture.
- kevincox 4y agoI don't think stability is the main concern. However for the longest time SQLite didn't have great support for multiple writers and it is still pretty basic. So it works really well for smallish numbers of clients or write-light workloads but if you want to pound it with inserts and updates it still isn't as good of a choice as other RDBMSes.
- deleted 4y ago[deleted]
- simlevesque 4y agoYou may already know but it's SQL-ite (sequel-ite), like graphite, dynamite, sulfite. https://en.wiktionary.org/wiki/-ite https://en.wiktionary.org/wiki/-ite
- srcreigh 4y agoNot even Sequel-ite. But S.Q.L.-ite. That's how Dr Hipp says it, anyways.
- sgbeal 4y agoFWIW... i've been in Richard's presence several times when he was asked how to pronounce it by various people and he's invariably answered, "pronounce it however you like!" (i belong to the ess-queue-lite school of thought.)
- dec0dedab0de 4y agoI love when projects have cute puns in the name. I always am sure to correct people so they don't miss out on the fun. Luckily most developers are pedantic and like language enough that they don't get too annoyed with me. Same thing applies to PostgreSQL, it drives me nuts that sqlalchemy is not sqlchemy. completely off topic at this point, but Jim Cornette reading paid advertisements for codecademy was very funny during the pandemic. He insisted on pronouncing it code-cademy while his co-host tried to correct him.
- geewee 4y agoHuh, I had no idea!
- avgcorrection 4y agoSuch ambigious names remind of “Rust”. It’s such an um-actually name (um actually it’s not first and foremost about oxidization it’s about fungi…)
- randomdata 4y ago> it’s not first and foremost about oxidization it’s about fungi… Um, actually this[1] suggests that it originally wasn't about anything other than seeming like a good name and that any deeper explanation that has been given was made up. Of course, by the same token, "it seemed like a good name" could have also been made up. But it appears that the team eventually embraced it in the oxidization[2] sense. [1] https://www.reddit.com/r/rust/comments/27jvdt/internet_archaeology_the_definitive_endall_source/ https://www.reddit.com/r/rust/comments/27jvdt/internet_archa... [2] https://bugzilla.mozilla.org/show_bug.cgi?id=680521 https://bugzilla.mozilla.org/show_bug.cgi?id=680521
- thro388 4y agoThere were other embedded databases; Firebird, Foxpro etc..
- dimitrios1 4y agoSQLite has been taken seriously by serious people for decades. We just don't hear about it in the cool, hipster startup circles because it isn't sexy. But it's steadily grown to be the most deployed embedded database in the world, in millions of devices, and have specialized strands that went through military and medical grade formal validations to end up in airplanes, fighter pilots, naval ships, medical devices. You have to look where SQLite isn't rather than where it is these days.
- tptacek 4y agoThe shift isn't in SQLite being taken seriously behind the scenes, or as a better file format. It's in SQLite being taken seriously as an alternative to n-tier database in full stack applications.
- sgbeal 4y ago> ... in millions of devices... cough _Billions_ cough with a capital "B". Very nearly every non-trivial electronic device built over the past 10-15 years. (Non-trivial being very roughly: "anything with a UI or having the potential to run one.")
- _the_inflator 4y agoI look at it differently. In my opinion Android started popularizing SQLite. For me kudos go out to Android, for integrating it on a large scale.
- tveita 4y agoI've used SQLite for toy services "in production", and it was really just as bad as people think it is. Sure, you could handle a large amount of read-only queries, but it only took a tiny bit of write traffic in the mix to make the random latency spikes jarring. This was pre-WAL, presumably enabling WAL would help a lot (but is still not the default, so beware). But the caveats were real, it's not like people just took one look at the name and though "'SQLite?' I better put a big warning in our documentation to not use this in production."
- simonw 4y agoWAL was added 2010-07-21, so pre-WAL is over 12 years ago now!
- hinkley 4y agoLots of changes with branch prediction in that time too.
- LAC-Tech 4y agoThis was pre-WAL, presumably enabling WAL would help a lot Indeed it would! "WAL provides more concurrency as readers do not block writers and a writer does not block readers. Reading and writing can proceed concurrently." https://www.sqlite.org/wal.html https://www.sqlite.org/wal.html I think the people advocating for SQLite to be used in more places are all assuming write ahead logging is enabled.
- chasil 4y agoThere are many problems with WAL, as acknowledged by Dr. Hipp in the recent olap/duckdb paper. The chief problem that I see with WAL is that it breaks ACID with databases that are ATTACHed, as the documentation shows: https://sqlite.org/lang_attach.html https://sqlite.org/lang_attach.html
- gigatexal 4y agoHow often is attach really used though?
- d23 4y agoInteresting. I didn't realize it wasn't for "lite". A friend of mine made a similar point about GIMP. I'd never thought about it that way. What a shame to be hindered by such a terrible name choice (in GIMP's case).
- TOGoS 4y agoI'm always surprised at how quickly people will dismiss something just because of a name. I once wrote a bug tracking system/wiki for my company to replace the terrible one that we had been using. It did everything we needed and was much nicer to work with, but the reason people gave me for why we never used it was that the name sounded funny. It was a made-up word, totally an afterthought. sigh
- busymom0 4y agoWhat was the name?
- ternaryoperator 4y ago> For much of its lifetime, SQLite wasn't taken seriously As far as I can recall, it was always well regarded as an embeddable database. What makes you think that it wasn't taken seriously "for much of its lifetime"?
- aaaaaaaaata 4y agoBy standard web devs. Been in missiles for a while.
- sethev 4y agoIt's hard to imagine a timeline where SQLite was more successful.