Databases 101

查看原文

这篇文章给数据库做了一个导论。

数据库只有两种,关系型数据库,和其他。

数据库有百余种之多,头几名都是关系型数据库。数据库要实现的特性是 ACID - Atomicity, Consistency, Isolation, 以及 Durability。出处:http://jimgray.azurewebsites.net/papers/thetransactionconcept.pdf 当然,非关系型数据库可能只能做到 BASE - Basic Availability,Soft-state,Eventual Consistency。 CAP 理论是另外一个主流理论:Consistency,Availability,Partition Tolerance 只能尽力做到其中之二,并容忍另外一个特性稍欠一些。

非关系型数据库可以分类成:kv 数据库,文档数据库,图数据库,时间序列数据库,以及搜索引擎。

数据库选择主要从业务场景出发,根据特性作出最好的匹配,这些特性包括:ACID/BASE, Availability, 灾难恢复, 性能,生态,数据迁移便利性,基础设施,服务商,监控,报警,客服支持等等。