分散式资料库可以依据资料模型及系统架构分类;
- OLAP(On-Line Analytical Processing):大数据资料分析注重资料吞吐量及运算规模。
- OLTP(On-Line Transation Processing):即时交易注重反应延迟。
- SQL
以结构化查询语言(Structured Query Language, SQL)操作资料库,提供复杂得多表关联式查询,支持原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)等交易(Transaction)特性,目前主流资料库(Oracle、DB2、MS-SQL、PostgreSQL)等横向扩充能力相对较缺乏,难以满足大数据以及高并发交易等业务需求。
- NoSQL
投过对关联式和分散式资料库功能的取舍,提高了水平扩展及效能提升,以资料储存分类:
- 键值储存(Key-Value Stores):Redis
键值资料间没有关联性提高了水平扩充能力。
- 列导向储存(Column-Oriented Stores):pache HBase、Cassandra
列(Column)之间没有耦合关系,列独立存取场景时极大的降低磁碟存取,加快存取速度。
- 文件储存(Document Stores):MongoDB、CouchDB
储存 JSON、XML 非结构化资料。
- 图型储存(Graph Stores):Neo4j、GraphDB
以图结构形成的资料关联比关联式资料库提供更高效的资料操作。
- NewSQL
在关联式资料库上扩充了相近於 NoSQL 的水平扩冲及高效资料处理能力。
- 资料中间传递
强化中介层组件,提供分割资料库、分割资料表、资料切片 - 资料份散一致性演算法(Raft、Paxos)、请求路由(Request Routing)和分散式交易等。
- 新架构:Google Spanner
采用无中心节点的资料库丛集,每个节点分别管理资料的子集合,包括平行处理或资料流处理组件。
<<: 【没钱买ps,PyQt自己写】Day 5 - 开始来设计我们的 controller.py,改以「程序角度」来说明如何建立 PyQt 的系统
>>: 爬虫怎麽爬 从零开始的爬虫自学 DAY6 python怎麽玩数字