原文是《Medium Data: things to try before abandoning SQL(放弃SQL前应该要尝试的事情)》。
作者一开始就表明了自己的观点:
引用
首先表明我的观点:很多经验不足的开发人员正在使用大数据和NoSQL技术,因为它们够新、够酷,因为SQL够老、够难。这些人可以节省这些时间和精力来学习更多SQL知识,或者优化他们的数据库和硬件,哪怕只是一点点。
文章主要说明以下几件事情:
- 其实 SQL 可以解决大部分的事情,大家都知道 SQL 的瓶颈在哪里,有哪些 workaround 可以避开。
- 不要因为 MySQL 做不到就觉得 SQL 不好用,在这种情况下,PostgreSQL 的功能与成熟度很值得看看。
- 不要用 Oracle 官方版本的 MySQL
- 通常可以用 cache 解决的就用 cache 试着解看看,虽然 invalidate 问题不太好处理
- 如果是 Read 数量太多,可以用 replication 解决不少问题。
- 试着去理解 index 的原理,也就是资料结构,这对于要怎么用 index 绝对很有帮助。
- 当上面都做完而发现还是不够的时候就 sharding 吧。
![](http://dl.iteye.com/upload/attachment/0080/8960/3fbe26b5-d8c2-3557-9d44-ce54d721d4c3.jpg)