[HN Gopher] Fun facts about SQLite
___________________________________________________________________
Fun facts about SQLite
Author : avinassh
Score : 264 points
Date : 2024-12-30 14:56 UTC (8 hours ago)
(HTM) web link (avi.im)
(TXT) w3m dump (avi.im)
| pavel_lishin wrote:
| I thought to myself, "surely 'insane' is a bit of hyperbole...",
| and, no, it's not.
|
| > _This is one my favorite lore. SQLite had to default prefix
| from sqlite_ to etilqs_ when users started calling developers in
| the middle of the night_
| monktastic1 wrote:
| In case anyone else was mildly confused by the wording, it
| seems the author simply missed a few words: "had to _change
| the_ default prefix from... "
| avinassh wrote:
| oops, I fixed the typo. Thank you!
| jitl wrote:
| The OP failed to mention that SQLite does have opt-in strict
| tables that enforce types, you just need to do `CREATE TABLE name
| (stuff TEXT) STRICT`, see
| https://www.sqlite.org/stricttables.html
|
| Like journal mode being ROLLBACK by default instead of WAL,
| foreign key constraints being off by default, tables being lax by
| default is part of SQLite's dedication to backwards
| compatibility.
| avinassh wrote:
| > The OP failed to mention that SQLite does have opt-in strict
| tables
|
| I did not, but probably I did not phrase correctly:
|
| > Strong typed columns are opt-in.
| jitl wrote:
| You write:
|
| > 18. I hate that it doesn't have types. It's totally YOLO:
|
| In the point where you say that you didn't mention STRICT
| mode, which seems to directly address your complaint.
| agilob wrote:
| >But, unlike most databases, SQLite has a single writer model.
|
| As opposed to Redis (mentioned one line above the quote) which
| also is single-threaded?
| agilob wrote:
| One interesting fact is that for one release of SQLite the team
| worked on lots of micro-optimisations that resulted in speed up
| of even 50% https://sqlite-
| users.sqlite.narkive.com/CVRvSKBs/50-faster-t...
| tiffanyh wrote:
| The perf visual, by release:
|
| https://www.sqlite.org/images/sschart20221116.jpg
|
| The bulk of the gains happened between 2013-2017.
| didgetmaster wrote:
| Did they stop thinking of performance gains as a priority
| after 2017? The improvements have been very weak since then.
| Just wondering if they ran out of low hanging fruit or if
| they just didn't think it was important anymore.
| 83457 wrote:
| Mass adoption of SSDs may explain the change.
| chrismorgan wrote:
| > _SQLite is not open source in the legal sense, as "open source"
| has a specific definition and requires licenses approved by the
| Open Source Initiative (OSI)._
|
| This is wrong, and _harmfully_ wrong. OSI are not the arbiters of
| open source. Their Open Source Definition, though generally
| useful and accepted, is not without legitimate criticism and
| controversy. As for their _approval_ , that's a dreadful thing to
| rely on for _any_ purpose;
| <https://writing.kemitchell.com/2019/05/05/Rely-on-OSI.html> is a
| good description of most of what's wrong with it (it doesn't
| really get into the broken politics enough; but some of his other
| articles contain more), and I like its summary: "The list of OSI-
| approved licenses reflects OSI's practical and political history,
| not any useful, consistently functional category of license
| terms."
|
| As for whether SQLite is open source, well, the only reason a
| public domain dedication doesn't meet the OSD is that it's not a
| license. It's _more_ open. In a way that is legally mildly
| uncertain in some jurisdictions, sure, but to call it "not open
| source in the legal sense" is just _wrong_.
| mschuster91 wrote:
| The thing is, in many corporate and government settings, OSI is
| trusted by default as "this is open source", and anything _not_
| explicitly covered by OSI will cause you a world of pain with
| your legal department to get an exception.
| WaxProlix wrote:
| And yet sqlite is the most distributed database code on the
| planet by an order of magnitude.
| datavirtue wrote:
| No one does any due diligence on software. It's a free for
| all.
| sroussey wrote:
| It's distributed in MacOS, Chrome, Firefox, etc. I think
| these companies do due diligence.
| red_admiral wrote:
| What part of Public Domain do these legal departments not
| understand?
| hermitdev wrote:
| It's not that they don't understand; it's that it causes
| more work for the lawyers, because someone has to review
| the license if it's not one of the standard boilerplate
| acceptable licenses.
|
| I once had to go to lawyers to get a license approved on a
| lib that went something along the lines of "this work is in
| the public domain; do whatever the fuck you want with it,
| just don't come crawling to me for help". I'm paraphrasing
| from ~20-year-old memories here, but I do distinctly
| remember the profanity. It elicited a chuckle from the
| lawyer and something along the lines of "I wish all of
| these were this simple".
| monocasa wrote:
| The US isn't the only jurisdiction, and public domain isn't
| a concept in all jurisdictions.
| jazzyjackson wrote:
| But in this jurisdictions without a concept of public
| domain, who is going to come after you for using software
| without an explicit license?
| monocasa wrote:
| I mean, like Germany?
|
| And legal departments don't really like the "but, like,
| what's the chance they actually use us?" argument.
| charrondev wrote:
| That's not enough which is why this page exists:
|
| https://www.sqlite.org/purchase/license
| rcxdude wrote:
| They understand quite well that it's not really something
| you can just neatly place a piece of work into. Something
| which is 'public domain' but the copyright has not actually
| expired on is higher risk to use than something with an
| explicit open source license.
| avinassh wrote:
| I will try to rephrase it and include links to Wikipedia and
| OSI
|
| > As for whether SQLite is open source, well, the only reason a
| public domain dedication doesn't meet the OSD is that it's not
| a license. It's more open.
|
| That's true and I do acknowledge this in the post:
|
| > Instead, SQLite is in the public domain, which means it has
| even fewer restrictions than any open source license.
|
| [1] https://en.wikipedia.org/wiki/Open_source
|
| [2] https://opensource.org/blog/public-domain-is-not-open-
| source
| cryptonector wrote:
| I'm willing to let OSI own "Open Source", cause why not (do
| they have a trademark on "Open Source"?), but not "open
| source". All-lowercase "open source" includes public domain, I
| don't care what OSI says about it, while "Open Source" is
| whatever OSI says it is, and if that does not include public
| domain then so be it.
| rad_gruchalski wrote:
| Quite an interesting rabbit hole to explore. Apparently OSI
| holds a US trademark for "Open Source Initiative Approved
| License", but no trademark for "open source" by itself.
| ska wrote:
| Hardly surprising because the idiomatic usage of "open
| source" predates OSI.
| cryptonector wrote:
| Apparently not by a lot, but it does indeed.
| mbreese wrote:
| The term definitely preceded the organization. The term
| was in use for years before OSI was formed. And OSI was
| clearly formed in order to provide some clarity to what
| was meant by "open source". In other words, if there was
| no ambiguity in the phrase "open source", OSI would never
| have been created.
| cryptonector wrote:
| And the best way to handle this ambiguity is to use "Open
| Source" when referring to OSI's definition, and "open
| source" when referring to the colloquial and ill-defined
| form.
| saulpw wrote:
| Capital letters are only useful as ECC, not direct signal.
| (You can't pronounce them, they aren't preserved in many
| contexts, the lay writer won't respect them, etc).
|
| Your idea is like saying "Google" can be a trademark owned by
| Alphabet but "google" is just a verb. It seems like a cute
| linguistic hack but won't be meaningful in the public
| discourse.
| cryptonector wrote:
| > Capital letters are only useful as ECC, not direct
| signal. (You can't pronounce them, they aren't preserved in
| many contexts, the lay writer won't respect them, etc).
|
| In speech I clarify if and when needed, naturally.
|
| > Your idea is like saying "Google" can be a trademark
| owned by Alphabet but "google" is just a verb. It seems
| like a cute linguistic hack but won't be meaningful in the
| public discourse.
|
| You have it exactly backwards. Descriptively "to google" is
| a verb.
|
| Descriptivism is much better than prescriptivism in natural
| language. Sure, we need to use prescriptivism when
| _teaching_ the language, but we do get to evolve the
| language. That 's just how it goes and has gone for the
| entire recorded history of mankind.
| psychoslave wrote:
| Are you trying to subtly prescribe that descriptivism is
| better than prescriptivism? :)
| cryptonector wrote:
| A bit, yeah :)
| wat10000 wrote:
| Try pronouncing the word "Polish."
| chuckadams wrote:
| [delayed]
| belter wrote:
| You commented before reading...Unless the author updated the
| blog in the meanwhile. Because point 6 says: "Instead, SQLite
| is in the public domain, which means it has even fewer
| restrictions than any open source license."
| causal wrote:
| That's the point. It should still be considered open source.
| Filligree wrote:
| Which is not a thing in my jurisdiction, and so as far as I
| can tell it's treated as being proprietary and unlicensed.
| rustc wrote:
| Is using SQLite without buying a license [1] really illegal
| in your jurisdiction?
|
| [1]: https://www.sqlite.org/purchase/license
| Filligree wrote:
| As far as I can tell, yes. It's a grey zone, because it'd
| fall under civil law, not criminal; so SQLite's copyright
| owners would need to bring suit against me for it to
| matter, which I don't believe they will.
|
| However, on the face of it I have no right to use the
| software without buying a license.
| nicbn wrote:
| Would it be possible for someone within a compatible
| jurisdiction to mirror SQLite3 and provide it under some
| license such that it could be used by anyone?
| somat wrote:
| This is an interesting case to me and thus my questions.
| Don't feel you need to answer to some stranger on the
| internet interrogating you.
|
| Public domain is largely a US government concept, I think
| the was the main reason that sqlite was put "in the public
| domain" it started and was initially payed for as an
| internal database for some military contract. So when Dr. H
| wanted to release it to the public he did it in the normal
| US government method which was public domain.
|
| Would you legally be able to use nasa papers or programs?
| these are also in the public domain.
|
| A short essay on public domain, because I am feeling a bit
| philosophic this morning.
|
| As far as I know public domain is a concept that originated
| in the US when it was a new country(probably wrong and US
| centric). The question was who owns works created by a
| government "of the people", the answer was "the people" so
| it was formalized that US government works were not
| protected by copyright[note 1] and were in the "public
| domain" at first this was just laws, and when government
| research organizations(nasa etc..) were founded their
| works, the research they did, was also "public domain"
|
| It really is an open question whether private citizens can
| also declaim any copyright on a work, declare it "for the
| public good" and put it in the public domain. Are you
| allowed to give up your rights?
|
| 1. The US government is able to protect it's works through
| mechanisms other than copyright, think classification
| levels. top secret etc..
| Filligree wrote:
| I'm not allowed to give up my rights, no.
|
| As for NASA papers and such... I have no idea. If I were
| running a company I'd be able to ask a lawyer; as it
| stands, I'm taking the risk that the SQLite authors don't
| sue.
| ezekg wrote:
| Here's another interesting read on "open source" and the OSI:
| https://dieter.plaetinck.be/posts/open-source-undefined-part...
| red_admiral wrote:
| Indeed, it seems to me that Public Domain is what Open Source
| should have been in the first place.
|
| The free as in freedom, but not as in free beer quadrant
| doesn't work too well, especially for individual developers.
| sneak wrote:
| There is an argument that without the copyleft provisions of
| the GPL (sometimes described as a virus), free software would
| not be as popular and important as it is today.
| psychoslave wrote:
| Humanity also was described as a virus, see for example The
| Matrix. Also capitalism, communism, socialism, any
| political system, religions, philosophies, cultures, and
| anything you might relate or hate at mental level.
|
| Even the idea that whatever we dislike that gains more than
| zero popularity should be compared to a virus, this meme
| spreads like a virus.
| dec0dedab0de wrote:
| You can release a binary as public domain.
|
| Also, I believe that public domain as a concept does not
| exist in some countries. if i remember correctly the concern
| is that without a license the original author could change
| their mind and sue.
|
| But any public domain software also matches the fsf and osi
| definition of free software and open source respectively.
| Atleast in jurisdictions where public domain exists.
|
| You may be confusing things with copy-left, which is designed
| to protect users from developers. The gpl is a copy-left
| license.
| remram wrote:
| OP is wrong, SQLite does match the requirements outlined in the
| OSI's definition: https://opensource.org/osd
|
| It's not "open source licensed" simply because it is not
| licensed. There is no license document for OSI to approve.
|
| Relying on OSI approval does not necessarily make sense, they
| don't get to all licenses as your link points out. However
| arguing over their definition seems very foolish. People only
| do it when they want to pass their all-rights-reserved code as
| "open source" (e.g. "I can call it what I want"). Having
| adjectives that mean the same to everyone is very valuable,
| actually.
| evanelias wrote:
| > Having adjectives that mean the same to everyone is very
| valuable, actually.
|
| Yes, and that's precisely why OSI _should_ have invented a
| brand new term which they could trademark. But instead they
| co-opted "open source" which already had a clear, generic
| meaning of "the source code is available", previously without
| any connotations around specific license terms. And then due
| to that prior usage of the term, OSI can't trademark it.
|
| OSI created this terminology mess, and personally I don't
| think it is "foolish" to argue with their historical
| revisionism campaign around it.
|
| Edit to add: for numerous proven examples of the term being
| used for many years prior to the OSI's existence, read the
| link ezekg already posted below,
| https://dieter.plaetinck.be/posts/open-source-undefined-
| part...
| hitekker wrote:
| This blog feels like karma farming. Recycled, old points in
| listicle format on a popular topic with questionable accuracy.
| This is on top of mixing in grievances the author's startup holds
| against Dr Richard Hipp, like "won't accept (our) outside
| contributions" and "not actually open source according to OSI".
|
| As far as content goes, this listicle is probably great for view
| counts/engagement/flamewars. I'd personally prefer deeper
| thinking which this blog's previous posts-- high in hype and low
| in technical rigor-- have not yet provided.
| avinassh wrote:
| > Recycled, old points in listicle format on a popular topic
| with questionable accuracy.
|
| Could you please state which are inaccurate? I am happy to
| correct them.
|
| As for the rest of the comment, well, I don't know what to say.
| I am a beginner in databases and I am journaling the things I'm
| learning. Some of my posts might not have depth because I don't
| know much myself.
| 7thpower wrote:
| I just wanted to chime in and say I hope you keep it up; not
| only learning and creating the content, but also engaging.
| simplegeek wrote:
| A little off topic, but just wanted to say please keep
| blogging. I learn from your content as I'm also a beginner in
| databases.
| chasil wrote:
| I am fairly certain that Dr. Hipp has discussed changes in
| SQLite that were desired by Microsoft for integration into
| Windows, which came to pass via a foundation membership.
|
| I believe that this was mentioned in the video below (I am
| not able to verify for now):
|
| https://m.youtube.com/watch?v=Jib2AmRb_rk
|
| It would be interesting to see what is required for an
| organization to negotiate non-trivial changes in SQLite.
| mtlynch wrote:
| Your post:
|
| > _There are over one trillion (1000000000000 or a million
| million) SQLite databases in active use._
|
| The original source[0] (which you don't link to):
|
| > _Since SQLite is used extensively in every smartphone, and
| there are more than 4.0 billion (4.0e9) smartphones in active
| use, each holding hundreds of SQLite database files, it is
| seems likely that there are over one trillion (1e12) SQLite
| databases in active use._
|
| You're changing speculation to a fact.
|
| [0] https://www.sqlite.org/mostdeployed.html
| Kwpolska wrote:
| And by the way, pasting screenshots instead of linking to
| sources is very uncool.
| kerblang wrote:
| Didn't see this comment before complaining in a separate
| comment, but a destroyer is not a battleship.
|
| https://en.wikipedia.org/wiki/Battleship
| https://en.wikipedia.org/wiki/Destroyer
| themadturk wrote:
| In the OP's defense, I see this usage increasingly, as in
| designating any combatant ship as a "battleship" (even
| being used for sailing ships). It's not correct, but then
| neither is "alright" in place of "all right": the language
| changes whether we want it to or not.
| seritools wrote:
| > I hate that it doesn't have types. It's totally YOLO:
|
| SQLite _does_ support strict column types since 3.37:
| https://www.sqlite.org/stricttables.html
| bbkane wrote:
| This comment feels like "old man yells at clouds". Vague, non-
| specific points about the accuracy of the article. This is on
| top of mixing in grievances with the author non-judgmentally
| listing and citing facts about SQLite's contribution model and
| license.
|
| As far as the content goes, this comment is probably great for
| view counts/engagement/flamewars. I'd personally prefer deeper
| thinking, which this author's previous comments-- usually fun
| and interesting-- have provided ;)
| johnfn wrote:
| > I'd personally prefer deeper thinking which this blog's
| previous posts-- high in hype and low in technical rigor-- have
| not yet provided.
|
| Really? Something like this[1] (literally the previous post
| made by the author!) is "high in hype and low in technical
| rigor"? Or do you just have an axe to grind?
|
| [1]: https://avi.im/blag/2024/sqlite-past-present-future/
| chrismorgan wrote:
| > _SQLite does not have a Code of Conduct (CoC), rather Code of
| Ethics_
|
| There was confusion over this, because of different usage of
| words. Simplifying well beyond the point of strict accuracy, a
| CoC is a weapon to bind and control external contributors'
| behaviour, the CoE is SQLite developers declaring their intended
| conduct towards others.
|
| > _SQLite is pronounced as "Ess-Cue-El-Lite"._
|
| This doesn't match the quote that follows, which says "S-Q-L-ite,
| like a mineral". And that's just how one guy chooses to pronounce
| it... I wonder how many others do; certainly I've never heard it.
| dkjaudyeqooe wrote:
| There is some controversy over how to pronounce SQL with some
| using S-Q-L and others (like me) pronouncing it like the word
| "sequel".
|
| I believe the latter is the correct name for historical
| reasons. IBM originally named SQL 'SEQUEL' but were forced to
| rename it for trademark reasons.
|
| So I pronounce SQLite sequelite.
| chrismorgan wrote:
| > _So I pronounce SQLite sequelite._
|
| This is by far the most popular pronunciation I've
| encountered, and I think by far the most practical one too.
| tucnak wrote:
| Popular in America, but not elsewhere.
| lucasoshiro wrote:
| I also never heard it. In Brazil I only have heard SQL
| pronunced as sequel in NoSQL. SQLite is mostly pronounced
| S-Q-Light here, with the S and Q in Portuguese (weird,
| but it happens often)
| Izkata wrote:
| In the US, I also say S-Q-Light.
| fatboy wrote:
| I remember hearing an interview with Richard Hipp where he
| said he pronounced it as you do ("rhymes with kryptonite" I
| think he may have said, or perhaps "like a mineral").
|
| I'd always pronounced it in my head S-Q-L-Lite up until that
| point, but I much prefer this other way that I'd never
| considered. It rolls off the tongue easier and adds a bit of
| fancy.
| bun_terminator wrote:
| I have never heard anything else but S-Q-L, in multiple
| workplaces. What I was new to databases I started with the
| history lesson, but was quickly corrected to pronounce it
| S-Q-L.
|
| I don't even know anymore, nor does anyone else I think
| akavi wrote:
| As an alternate datapoint, I've almost solely (by a 90%
| majority or more) heard "sequel" and "sequelite"
| (/'si:.kw@l/ and /'si:.kw@,laIt/, respectively) across 12
| years and 6 companies (from FAANG to YC startups in SF and
| NYC)
| axus wrote:
| Spite is a legitimate reason to choose a pronunciation.
| somat wrote:
| For what it's worth(not much), but if we are doing a
| survey...
|
| (US/western, not coastal)
|
| I pronounce it ess que lite.
|
| and always letter out SQL.
|
| postgresql is the tricky one, naively there is no good way to
| pronounce it. so when formal I say "postgres Q L" but mostly
| just call it postgres
|
| and because of the previous cases I have started slurring
| mysql, easily the most pronounceable one into "mys Q L"
|
| Microsofts SQL server (which I have never actually used, and
| almost never talk about) is simply "S Q L server"
| breakingcups wrote:
| I've never heard anyone not say "sequel server" for
| Microsoft's SQL Server
| conductr wrote:
| Some time around 2008-2012, I think, my habit shifted from
| saying S Q L to SEQUEL in most cases. Even internal voice,
| when thinking/reading, still says SEQUAL now. Even things
| like My S Q L became My SEQUEL.
|
| I feel like I made that shift due to how people around me,
| and how public speakers, were aligning on it too, it felt to
| me that the nomenclature was unifying a bit as linguistics
| evolve and change a bit over normal course of time. I
| remember the shift was not easy and I had to put intention
| into it and it took a bit of time to make it feel natural.
| Although, I've never thought about this too deeply and as I
| write it I'm Not sure how others would respond to my memory
| of it. I'm sure it's very regional, and now age dependent as
| I'm sure if I was passed mid career at that time i wouldn't
| have budged on my preferred terminology but also there's many
| people who maybe are just too young to understand the time
| and trend that I remember. Or just my own experience and
| there was nothing really unifying at all.
| drzaiusx11 wrote:
| I worked with Richard Hipp on a project to integrate his query
| engine into a custom scripting language with persistent storage
| for embedded devices (think c#'s linq but backed by flash
| storage).
|
| He was a pleasure to work with and it seemed he made a decent
| living just off of support contracts for projects like this. One
| of the few one-man-shops that really, really worked out.
| Imustaskforhelp wrote:
| ooh very interesting , could you share the link ?
|
| I am interested in a thing where the whole programming language
| / program stack and everything is stored in the memory so you
| can have a language where it can run from where it was paused ,
| inspired by some comment on some other hackernews thread . I
| had spent some of my weekends trying it but no use
| Tempest1981 wrote:
| I think I would have serious imposter syndrome. What was that
| like?
| BobbyTables2 wrote:
| SQLite write locking should be the poster-child of how to
| incorrectly implement concurrency in the absolute worst possible
| way.
| ryanianian wrote:
| Please elaborate.
| LinuxAmbulance wrote:
| Not familiar with database concurrency implementations, how
| does it get it wrong vs say, MySQL?
| allo37 wrote:
| Another interesting way they make money is security: SEE costs a
| pretty penny. Worth it though, IME.
| hellcow wrote:
| Interesting. So it's an "open core" model.
| hakcermani wrote:
| Big fan of Sqlite and DRH. Wondering what the succession plan for
| sqlite is ? May DRH live long and prosper though !
| SigmundA wrote:
| > _So DRH asked the question: what if the database just worked
| without any server? This was an innovative idea back then._
|
| Strange my recollection of the time was file based databases were
| much more popular. FoxPro, Access (jet) and Dbase where all in
| wide use in 90's and early 2000's and ran a lot of business
| software using network file shares instead of a database server.
| vidarh wrote:
| Indeed, you're right - there was a multitude of products like
| that, and linked in libraries for managing databases.
|
| That said, I'm not aware of anyone doing that _with SQL_ before
| SQLite. Though I might well have missed some.
| Kwpolska wrote:
| Microsoft Access/JET:
| https://en.wikipedia.org/wiki/Access_Database_Engine
| beagle3 wrote:
| Borland's Interbase.
|
| I also vaguely remember an optional SQL interface for Btrieve
| circa 1990, but I might be mistaken.
| neverartful wrote:
| Interbase is still around and it can store the entire
| database in a single file or across multiple files. There
| are also 3 versions of it available: IBLite (in process DB
| engine), IB-To-Go (in process DB engine), and Interbase
| (server based).
| chasil wrote:
| dBase IV had a SQL implementation. I never used it.
|
| https://en.wikipedia.org/wiki/DBase#dBase_IV
| SigmundA wrote:
| The Access database engine used SQL, it's how I got started
| using the language in the mid 90's.
|
| It wasn't just used by MS Access, its was used from VB and
| other languages because it was just an ODBC/OLEDB driver.
|
| https://en.wikipedia.org/wiki/Access_Database_Engine
|
| FoxPro looks like it supported SQL in V2 in 1991
|
| https://www.landley.net/history/mirror/collate/foxpro/foxpro.
| ..
| red_admiral wrote:
| If you doubt that 10x coders exist, we just found some in the
| SQLite project.
| Svoka wrote:
| Can't stop laughing from TIMMYSTAMP.
| gs17 wrote:
| I enjoy that SPONGEBLOB really sort of works.
| threatofrain wrote:
| I've been using SQLite for quick prototyping and as a log dump
| for later aggregation, but one thing I've found is that it's easy
| to accidentally want multi-writer in today's multi-service world.
| That's repeatedly been my biggest stumbling block, and I wouldn't
| be surprised if it's the foremost reason for others to "outgrow"
| sqlite.
| TekMol wrote:
| My latest favorite fun fact about SQLite is that it is not only
| my favorite SQL database, but also my favorite NoSql database.
|
| Since 2024, all my new database tables have only one column.
| Everything just goes into one single JSON column, which I always
| call "data". SELECT
| cities.data->>'name' city_name,
| countries.data->>'name' country_name FROM cities
| JOIN countries ON countries.data->'id' =
| cities.data->'country_id'
|
| I looked around a bit if some NoSql database would make this
| easier. But it turned out no, even now that I only use Json
| everywhere, SQLite is still the best tool.
| rafram wrote:
| But why?
| advisedwang wrote:
| To get the worst of both worlds
| TekMol wrote:
| Multiple reasons. Let me start with one: Flexibility.
|
| I can add a new attribute the very moment I create a new row.
|
| When I want to add "not_available_before: 2026" to a car, I
| can do that right away. No need to alter the table and add a
| new column.
| RadiozRadioz wrote:
| > Since 2024
|
| So you have only just started doing this
| breakingcups wrote:
| Well, they did say "latest". 2024 has also been going for 364
| days now.
| throw0101d wrote:
| > _Since SQLite is used extensively in every smartphone, and
| there are more than 4.0 billion (4.0e9) smartphones in active
| use, each holding hundreds of SQLite database files, it is seems
| likely that there are over one trillion (1e12) SQLite databases
| in active use._
|
| I find the scientific notation of the counts amusing given the
| sometimes different meanings of "billion" and "trillion"
| (especially with English as a second language):
|
| * https://en.wikipedia.org/wiki/Long_and_short_scales
|
| * https://www.youtube.com/watch?v=C-52AI_ojyQ
|
| * https://www.youtube.com/watch?v=WM1FFhaWj9w (bonus: on French
| numbers)
| kerblang wrote:
| > D. Richard Hipp (DRH) was building software for the USS Oscar
| Austin, a Navy destroyer. The existing software would just stop
| working whenever the server went down (this was in the 2000s).
| For a battleship, this was unacceptable.
|
| Maybe it's a nitpick, but a destroyer is not a battleship. The
| latter weren't even in service in the 2000's.
| kstrauser wrote:
| As a Navy veteran, I agree with you. As a descriptivist, I can
| accept someone referring to a destroyer, carrier, gator
| freighter, or anything else that carries lots of armament a
| "battle ship".
| kerblang wrote:
| Warship
| juneyi wrote:
| i really enjoyed reading this post. people are really critical
| here...
| qwertox wrote:
| > SQLite takes backward compatibility very seriously - All
| releases of SQLite version 3 can read and write database files
| created by the very first SQLite 3 release (version 3.0.0) going
| back to 2004-06-18.
|
| This is so remarkable and reminds me of my troubles with MongoDB
| and specially InfluxDB.
|
| My MongoDBs are mostly still on 4.4 because of the complicated
| upgrade path (mostly related to the Python drivers), and InfluxDB
| is now officially split into 1.x and 2.x for me, where I have no
| plans for upgrading. And I specially will keep my hands off of
| 3.x because I've learned my lesson.
| andypants wrote:
| > This was also changed recently in 2010 by adding WAL mode.
|
| 2010 is closer to sqlite's creation than today, not very recent
___________________________________________________________________
(page generated 2024-12-30 23:00 UTC)