This is Steve Weick, CTO & VP Engineering at Encirq Corp., developers and IP
owners of DeviceSQL. I would like to address D. Richard Hipp’s statements.

RDH:"If you view their web presentation and/or try out Encirq's products, I
would be very interested to hear your impressions. Even better would be if
you could blog about it.Encirq has for years been running Google Adsense ads
claiming to be 20x faster than SQLite. (Dunno why they have now reduced that
claim to 5x faster.) But I have never yet seen an independent confirmation
of this. Nor even have I been able
to find anybody who is actually using DeviceSQL in a product. Web searches
turn up nothing but marketing literature coming directly or indirectly from
Encirq. Some independent analysis (regardless of whether it is favorable or
unfavorable to SQLite) would be appreciated."



SW: The DeviceSQL  performance advantage over SQLite has been demonstrated
by running a series of benchmarks with a variety of operations using  Linux
on PCs,  ARM, Freescale, and other processor platforms that are commonly
used in embedded applications. 

In all our benchmarking we attempt to present SQLite capabilities at their
best. So we "tweak" SQLite to use indexes, not scans, in all cases. We also
opt (for fairness) to compare the products using only paged storage with
B-trees like those of SQLite. In many cases our other indexing techniques
are far superior to this approach. We provide detailed benchmark reports as
well as the benchmark code to prospective customers.

 We have seen that SQLite performance, while poor on larger PCs, degrades
significantly on small processors compared with DeviceSQL. We believe that
this is due to the fact that SQLite uses a number of techniques that consume
large amounts of the available CPU capacity, and it is therefore unable to
operate at the flash or disk speed. While SQLite performance has improved in
some areas in the last few releases, we can still show that DeviceSQL is
2-10X faster in all of the interesting cases and 50X faster in one odd case. 

You do not see client listings on our site because our clients believe that
DeviceSQL is part of their competitive advantage and they do not like to
advertise to their competition what they are using. You will however see
outspoken users of DeviceSQL explain why they chose DeviceSQL over SQLite,
if they were not able to make SQLite satisfy their requirements, like
Gemstar-TV Guide.


RDH: "My understanding of DeviceSQL is:


* It is NOT transactional. There is no such thing as ROLLBACK."


SW: This is false. DeviceSQL DOES support transactions and ROLLBACK, just
not in the traditional, resource intensive manner of maintaining a
journaling log. Rather, we use a simple approach which maintains data
integrity, high performance, and small footprint without introducing the
possibility of corrupting the journal.



RDH:"* If you lose power during a write, your database is toast."


SW: Again, not true. DeviceSQL has supported transactions and rollback since
its very first release in 2003 and continues to do so today. Contrary to Mr.
Hipp's assertions, DeviceSQL ensures that writes complete successfully
(ensuring no power outage can cause corruption) before continuing after a
commit. In fact, because of DeviceSQL's novel (and very simple) commit
approach, it is possible to prove that application data is recoverable (this
is quite difficult to do with the logging approach used by SQLite and
important for devices that must handle critically important data). In
addition to fast updates, the DeviceSQL approach yields substantially
shorter boot times after failures. This is often important to consumer
devices where the end user will not tolerate long boot times.



RDH:"* If your database schema changes, you have to recompile your
application."


SW: This is true. DeviceSQL is targeted for embedded applications where
executables change rarely, so schema changes are a big deal, and the clients
do not want to make changes to the schema after production begins. We do
however, offer migration utilities and approaches for doing this if needed.


RDH:"* The database file format changes depending on the schema."


SW: Not sure what this statement is about, although all databases have this
to some extent.


RDH:"* DeviceSQL is not a general-purpose database engine. You compile SQL
statements into C code on a development workstation, then compile the C code
for your embedded device."


SW: Neither is SQLite by this standard. Both products are
application-resident database engines that live in the application's address
space. The question is whether the main use model is compiled SQL versus
interpreted SQL or C APIs. DeviceSQL also supports C query interfaces. This
is rarely an issue in small devices where the database manager is embedded
in the application, and where our compiled language can be used to implement 
application database logic.


RDH:"I can imagine circumstances where the DeviceSQL approach, while much
less flexible and forgiving than SQLite, might be a better way to go,
depending on what you are trying to
do. But I have not gotten good vibes from Encirq as a company. And I have no
idea how reliable the DeviceSQL product is. I would really appreciate your
thoughts on that subject."


SW: Your opinion about DeviceSQL does not match what our clients say about
DeviceSQL. Our product is commercial grade, developed and supported by an
engineering Team with 100+ years of combined DBMS development expertise.
DeviceSQL is highly reliable and has an outstanding record of QA with
millions of units shipped to date. We have never been designed out of a
customer product.


SW: Richard,  We have written to you directly before to ask you to stop the
FUD and incorrect statements, and you have chosen to continue. I suggest you
not waste everyone's time by circulating deliberately misleading
information.

Steve Weick
-- 
View this message in context: 
http://www.nabble.com/Improving-performance-of-SQLite.-Anyone-heard-of-DeviceSQL--tp14280006p14310445.html
Sent from the SQLite mailing list archive at Nabble.com.


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to