用mbg自动生成的通用mapper构造条件CRUD时,遇到有些复杂一点的条件比如where clumA = clumB 再比如 xx and yy and (a = b or …) 时,标配的andXxEqualTo()等方法就捉襟见肘,难道要裸写xml SQL吗?
data system通常要做下面的事情:
保存数据,以便应用本身或者其它应用能够在未来使用(数据库);
保存大开销的计算结果,加速读取(缓存);
通过关键字查找/过滤数据;(查找索引)
给其它进程发消息异步处理(流处理);
周期性处理大批量的增量数据(批处理);
there are datastores that are also used as message queues (Redis), and there are message queues with database-like durability guarantees (Apache Kafka). The boundaries between the categories are becoming blurred.
Secondly, increasingly many applications now have such demanding or wide-ranging requirements that a single tool can no longer meet all of its data processing and storage needs. Instead, the work is broken down into tasks that can be performed efficiently on a single tool, and those different tools are stitched together using application code.
总之一个data system现在往往需要多种组件组合搭建。

In this book, we focus on three concerns that are important in most software systems:
Reliability The system should continue to work correctly (performing the correct function at the desired level of performance) even in the face of adversity (hardware or software faults, and even human error).
Scalability As the system grows (in data volume, traffic volume, or complexity), there should be reasonable ways of dealing with that growth.
Maintainability Over time, many different people will work on the system (engineering and operations, both maintaining current behavior and adapting the system to new use cases), and they should all be able to work on it productively.
it only makes sense to talk about tolerating certain types of faults.
a fault is not the same as a failure . A fault is usually defined as one component of the system deviating from its spec, whereas a failure is when the system as a whole stops providing the required service to the user.
Hardware Faults(硬件错误往往是uncorrelated )
单表被误删,oracle有个flashback特性可以帮助恢复被删除的表。
《Designing Data Intensive Appliations》 被好多人推崇为神书。
感受下第一页的画风是这样的:
Technology is a powerful force in our society. Data, software, and communication can be used for bad: to entrench unfair power structures, to undermine human rights, and to protect vested interests. But they can also be used for good: to make underrepresented people’s voices heard, to create opportunities for everyone, and to avert disasters. This book is dedicated to everyone working toward the good.
啊,政治正确!
第二页:
Computing is pop culture. […] Pop culture holds a disdain for history. Pop culture is all about identity and feeling like you’re participating. It has nothing to do with cooperation, the past or the future—it’s living in the present. I think the same is true of most people who write code for money. They have no idea where [their culture came from]. —Alan Kay, in interview with Dr Dobb’s Journal (2012)
我是谁?我在哪?我为什么要code?…
《MySQL技术内幕:InnoDB存储引擎》读书笔记。
《MySQL技术内幕:InnoDB存储引擎》读书笔记。