可靠性
可拓展性
随着系统规模的增长 , 系统应该合理的匹配增长
比如Twitter的例子P19
可维护性
常见术语
计算机常常的分层结构, 在数据系统中也不例外. 在某个具体的层次上 , 我们关注的问题是 如何用下一层来表示当前层
关系模型和文档模型
从基本的层面: DB = 插入时存储数据, 查询时返回数据
哈希索引
B树索引
事务分析和处理
事务不一定有ACID属性
OLTP
OLAP
数据规模 OLTP GB~TB OLAP TB到PB
命名 常常OLAP单独在数据仓库上 因为不愿意让业务分析人员在OLTP上执行代价很高的操作 数据仓库有OLTP的只读副本
采用数据仓库的目的是可以针对不同的分析访问模式进行优化
子主题 5
在内存里 ,数据保存在对象, 结构体, 数组, 哈希表 ,树. 把数据写入文件或者通过网络发送时, 由于指针对其他进程没有意义,所以字节序列和内存的大不一样
Json
XML
二进制
Thrift
Facebook开发的 07 - 08开源
有两种编码方式
Binary Protocol
CompactProtocol
Protocol Buffers
Google开发的 07 - 08开源
类似CompactProtocol
特征是 编码时不存储具体的字段名, 比如name, 而是用一个Tag来标识字段, 带来了更好的模式演化, 为以后拓展字段等
旧代码读新代码写入的数据
新代码读入旧代码的数据
而且required 和 optional是在运行时检查, 在编码时不编码进去
Avro
数据流模式
基于数据库的流模式
基于服务的数据流
REST
RPC 远程过程调用 Remote Procedure Call
RPC存在一些问题
子主题 2
面向微服务的一个关键的设计目标是, 通过使服务可独立部署和演化, 让应用程序易于更改和维护
基于消息传递的数据流
也就是消息队列
优点:
分布式Actor框架
XMind: ZEN - Trial Version
原文:https://www.cnblogs.com/yahoo17/p/13760453.html