Richard Hipp, on 11/02/2012 08:24 AM wrote:
SQLite cares. SQLite is an in-process, transaction, zero-configuration
database that is estimated to be used by over 1 million distinct
applications and to be have over 2 billion deployments. SQLite uses
ordinary disk files in ordinary directories, often selected by the
end-user. There is no system administrator with SQLite, so there is no
opportunity to use a dedicated filesystem with special mount options.
SQLite uses fsync() as a write barrier to assure consistency following a
power loss. In addition, we do everything we can to maximize the amount of
time after the fsync() before we actually do another write where order
matters, in the hopes that the writes will still be ordered on platforms
where fsync() is ignored for whatever reason. Even so, we believe we could
get a significant performance boost and reliability improvement if we had a
reliable write barrier.
I would suggest you to forget word "barrier" for productivity sake. You don't want
barriers and confusion they bring. You want instead access to storage accelerated
cache sync, commands ordering and atomic attributes/operations. See my other
today's e-mail about those.
Vlad
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/