Hacker News new | ask | show | jobs
by SFjulie1 4012 days ago
Apple uses MVC with sqlite for the contacts. The view is cocoa, but every events int the GUI are calling triggers in sqlite.

It makes apple's application simple stupid and efficient.

And they have triggers on foreign keys... with sqlite.

...

It is not postgres in one of it, it is much more mysql is not a correct rdbms. None of the other databases have this flaw.

Mysql is to RDBMS what mongo is to NoSQL, nowhere short of achieving anything that matters correctly.

EDIT: or better: Mysql is a realistic in the Hollywood way implementation of a RDBMS

1 comments

mysql is good for very high transaction rate platforms, that mostly rely on simple features. for this, it generally outperforms most of its competition in the traditional RDBMS space, and why companies like twitter and facebook use it. mysql likes simple, well designed queries.

postgres usually outperforms mysql for more complex operations, but is not as fast as mysql for simple ones.

sqlite is really only appropriate for things like mobile or desktop applications or things with generally low concurrency requirements.

i would be careful throwing the baby out with the bath water in your dismissal of mysql, but thats just my opinion:)

can you shed some more detail on that apple uses triggers with sqlite? that is interesting to me, and would like to learn more.

For apple: jailbreak go to home dir apt-get install sqllitex.y apt-get install bash find list all the files / dir find the contacts read the man of sqllite and have it tell gracefully the content of the table Something like this: http://beauty-of-imagination.blogspot.ca/2014/03/backuping-m...

Well it is true mysql is fast ... when it is not a problem.

They sacrificed correctness (stuff about big O notation in worst case) for benchmarks... and it works ... amazingly well as long as you are not under heavy load or give up on integrity, or relationship, or correctness.

Amazing. As long as you store data that need not to be transactional, or relational, or needing integrity mysql is fast. When data matters, or load is heavy mysql is just not there. It is chaotic, inconsistent, unicode retarded... full of pits... and resource greedy.

Sure, if you are a masochist, or if you fear to loose your job and need to elevate pain to the rank of art, then mysql is alright.

I have been sysadmin as long as developer and on both sides of the track mysql is insanely not consistent. (sysadmin: 400 config parameters, replication that fear any butterfly flapping its wings near a network cable, dev: collation behaviour, (clumsy) LDAP integration for auth, inconsistencies...).

I even prefer MSsql to mysql. I have been working almost only in linux environment since 2000, and I still think MySQL is crap. 10 years of horror stories with mysql made me hate it as much as taking LSD before trying to fill your taxes.

There is no SQL triggers in the article you post here. Confused at what your trying to say here. Maybe you can elaborate?
well if you ask politely sqlite to show the tables and paginates, then you have the trigger.

For a short vademecum I was not going to add noise in the post.

sqlite is really only appropriate for things like mobile or desktop applications or things with generally low concurrency requirements.

I think what you mean here is low concurrent write requirements.

(Edit in response to below: Isn't sqlite file oriented and read-only opens eschew locking? Thus replication via network filesystems should be adequate, no?)

Yes, agreed, if we are talking about straight concurrency only.

Other things like replication, are also not there, so it's not what I would choose for a website database, but if you can serve all your reads from one server, and don't care about high availability, then go for it.