SQLite is quite SQL compliant
philip at semanchuk.com
Sun Oct 3 20:32:05 CEST 2010
On Oct 3, 2010, at 2:21 PM, John Nagle wrote:
> On 10/2/2010 3:06 PM, Seebs wrote:
>> I would agree that the word "nonstandard" seems to be a little strong and
>> discouraging. sqlite is a source of joy, a small bright point of decent
>> and functional software in a world full of misbehaving crap. While it
>> does omit a few bits of SQL functionality, I'd call it perhaps a "slightly
>> incomplete implementation" rather than a "nonstandard variant".
> That's a bit much.
> What SQLite leaves out is the heavy machinery needed for a active
> production database being used by many processes. If you want to store
> a modest amount of data for one process, perhaps with a rare conflict
> when two programs hit the same table, SQLite is fine. But SQLite
> doesn't scale. That's why it's "lite".
> Some of SQLite's good features, are achieved by rather brutal
> means. For example, SQLite supports atomic transactions. That's
> implemented by locking up all tables involved for the duration
> of the entire transaction. This is fine for low-volume updates,
> and a killer for high-volume systems.
> SQLite doesn't have a serious query optimizer, or partial table
> locking, or concurrent transaction handling, or replication.
> In other words, use SQLite in your desktop app to manage its data
> or configuration parameters. Use MySQL or Postgres for your
> web site.
Granted, but we're talking about whether or not SQLite complies with the SQL standard, not whether it's suitable for an e-commerce Web site or running the NYSE.
More information about the Python-list