New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Best low-end database?
Shane_Elmore
Member
I'm trying to get my hand into some PHP programming. I already have an idea for a PHP-based CMS for my site's mainpage but I don't really want to use MySQL. I haven't gotten far into researching databases yet, what does everyone think is the best (non text-file) low-end database is?
Comments
So you dont want to use SQL or Text File? What is left?
You should use MySQL.
Seriously - there's a huge ecosystem around PHP and MySQL. Tons more examples, docs, libraries, add-ons, plugins, code samples, books, etc. Particularly if you are trying to learn - learn MySQL.
Otherwise, SQLite3. But sqlite is not really designed for performant multiple concurrent access.
This.
MySQL or one of it's derivatives all the way.
However, use an ORM or some DB Abstraction layer so that the underlying database really doesn't mater.
I would personally advice MariaDB over pure MySQL or Percona. I've used all three of them (still use MariaDB and Percona). MariaDB has been created by the founder of MySQL himself. MariaDB also includes the work from Percona. So basically it's the most complete solutions, while retaining full binary compatibility with MySQL (just like Percona btw). It just performs better.
Probably reads are fine?
But the past week I discovered how much it sucks for high writes
MySQL is the best database in right hands, as can be optimised.
For development, DB doesn't really matter. Just don't use any fancy triggers or procedures. And to prevent troubles later, ensure usage of UTF8. For production, pick any mature and stable DB.
MySQL can be tuned very low. For example when using Xeoncross debian-script, it requires about 8Mb at idle and under constant inserting from zabbix-server with bunch of clients, it's around 18Mb. Logging slow-sqls and using tuners help to get performance if needed.
Why?
But the past week I discovered how much it sucks for high writes
I don't think sqlite has any mechanism for concurrent writes - everything is one giant lock.
I suppose the OP could use Amazon's SimpleDB or DynamoDB. Nothing to install, and you get 1GB or 100MB or something for free.
MariaDB has been getting a lot of media love lately.
Started monkeying with Percona, but this thread has me looking to leap directly to MariaDB. Been using MySQL since they started.
Nice question which depends on the type of data.
If your data doesn't really share relationships, and you are looking at storing large amounts of complex and simple data, have a look at NoSQL databases. Like http://www.mongodb.org/
@Centaur
MongoDB is a really easy to work with database. But it is not a low-end database. It is more a kind of RAM eating beast if you store more than a view simple values in it.
If you are willing to make a CMS it would be better to use MySQL as
@raindog308 already said.
Also MariaDB could be a good alternative as it support all the MySQL syntax ( not fully sure, though) and also the history of it.
AFAIK is 100% a fork of MySQL plus their custom features, so yes.
I always use JSON for my DB's. Perl's JSON library is awesome. It's also easy to sanatize for, seeing as how the only special characters are '{}:[]"
For really light-weight use text files and something like Storable in Perl
But for a generic CMS you'll be making life harder for yourself by ignoring MySQL
...which will work right up until the time you need more than 1 concurrent user.