
Thoughts on using SQLite? - jamongkad
Hey guys has anyone YCer use SQlite in a production environment? For as long as I can remember I've been using MySQL, and I want to know if SQLite is a viable replacement. 
======
lkozma
SQLite is a great piece of code, but it's intended for slightly different
audience than MySQL and other client-server DBs. I'd use SQLite embedded in an
application to store internal data, configuration, or as some domain specific
file format. This way it is an alternative to xml or inventing your own file
formats. (you get SQL queries for free). Where you expect concurrent access
and high loads, a client-server still suits better. Somebody correct me if I'm
wrong.

~~~
jamongkad
Ahh I see I was looking more into using SQlite for client-server purposes. I
should have rephrased my question along those lines. But YC won't let me edit
my message :-)

------
inklesspen
Use PostgreSQL instead of MySQL. SQlite in a production environment on
anything but the most database-light site ever will make you cry.

~~~
berlinbrown
I don't understand this MySQL FUD. Google has done some amazing things with
it. Google core, YouTube for example. I wish you would explain MySQL over
PostgresSQL with mention of MySQL version,etc.

~~~
inklesspen
It's not FUD. Most of us just like to use a database whose developers didn't
have to be dragged kicking and screaming into the modern age. Remember when
MySQL claimed foreign keys and relational integrity were useless?

Sure, they now support referential integrity and transactions in InnoDB, but
MyISAM is still the default, because it's faster. I have no idea why you're
claiming that 'Google core' (whatever that's supposed to mean) uses MySQL; the
only homegrown Google project known to use MySQL is AdWords.

Anyhow, jamongkad wanted an alternative to MySQL, so I gave him one.

------
aarontait
Yea, like they said, it isn't really for Client-Server stuff. It is a super
fast file format though! If you do Mac/Cocoa development you can use SQLite
for free with Core Data. By free I mean you don't have to write any custom
code for serialization. :-D

~~~
jamongkad
Nice so what are the better alternatives for Client Server stuff?

~~~
EastSmith
Firebird

------
dgl
Not YC, but I know of quite a large web application (in the order of a million
users, but not that heavy traffic) that makes use of SQLite.

I don't think it's the right tool for every job but in this case no data is
shared between users. Therefore partitioning is achieved by having an SQLite
database per user.

Don't underestimate the power of SQLite (and to some extent other flat file
databases like BDB, TDB or CDB for fast lookups).

------
samb
not a viable replacement, but definitely has it's place. it doesn't require a
server environment.

