On Sun, Jun 14, 2015 at 1:19 PM, Richard Hipp <drh at sqlite.org> wrote:
> On 6/14/15, Scott Hess <shess at google.com> wrote:
>> SQLite essentially gives you a set of
>> b-trees with syntactic sugar over them,
>
> SQL (and I speak in general terms here, not just of SQLite) provides
> way more than syntactic sugar over b-trees.  The syntactic sugar over
> b-trees part is the *least* of the many advantages of SQL.  Other more
> important features include:

To be clear, what I mean by this is that if you have a set of
operations which you could do in your native language, and you decide
to instead push them into SQLite, and you are concerned about
performance and memory use, then it really behooves you to be able to
describe how to accomplish those operations using SQLite's basic data
structures.  Many developers build their SQL assumptions in an
environment with a memory-constrained app server calling out to a
database server running on the beefiest machine their ops people can
acquire.  The set of things-that-are-appropriate are going to be
different in an environment where "Map a multi-gigabyte index into
memory" is a valid approach.

In case it isn't clear from my post (I have a bit of a head cold going
on, so I probably shouldn't be writing posts on public mailing lists),
IMHO SQLite has done a really solid job covering the bases for the
area of operations it has staked out, and has done a good job of not
adding features inappropriate to those goals.  It's just that IMHO
developers often make dubious assumptions about what _else_ SQLite can
do.

-scott

Reply via email to