chatgpt 文爱
sex5 com 读数据工程之谈: 测度打算和构建健壮的数据系统08主要架构主张
sex5 com
1. 域和工作
1.1. 域是你正在为其构建的实际天下主题区域
1.2. 工作是一组功能,其主义是完成一项任务
1.3. 一个域不错包含多个工作
1.4. 笃定鸿沟中应包含的内容
1.4.1. 笃定鸿沟应该包含什么以及要包括哪些工作时,最佳的建议是粗浅地去与用户和利益联系者交谈,倾听他们在说什么,并构建将匡助他们完成使命的工作
1.4.2. 要幸免在真空中进行架构测度打算的经典罗网
2. 可推广性
2.1. 允许咱们加多系统的容量以擢升性能和处理需求
2.2. 单台机器上可能的资源有硬性收场
3. 弹性
3.1. 一个可推广系统动态推广的技艺
3.2. 一个高弹性的系统不错把柄面前的使命负载自动扩容和缩容
3.3. 跟着需求的加多,扩大限制至关伏击,而放松限制则不错在云环境中省俭资金
3.4. 当代系统巧合会缩放到零,这意味着它们不错在舒服时自动关闭
3.5. 动态缩放有助于在莫得工程师手动干豫的情况下确保实足的性能
3.5.1. 弹性擢升可靠性
4. 可用性
4.1. IT工作或组件处于可操作气象的时期百分比
4.2. 单机平素无法提供高可用性和可靠性
5. 可靠性
5.1. 系统在指定时时代隔内实行其预期功能时知足律例步伐的概率
5.2. 低可靠性会导致低可用性
6. 漫衍式系统
6.1. 利用漫衍式系统来完好意思更高的举座推广技艺以及更高的可用性和可靠性
6.2. 水平推广允许你添加更多机器以知足负载和资源需求
6.3. 水平推广系统有一个主节点,手脚使命负载实例化、程度和完成的主要运筹帷幄点
6.4. 典型的当代漫衍式架构也内置冗余
6.5. 漫衍式系统的照管细节平素被空洞出来,使你不错专注于高等架构而不是低档次管谈
7. 紧耦合与松耦合
7.1. 紧耦合
7.1.1. 不错给与领有较为围聚的依赖项和使命流
7.1.2. 鸿沟和工作的每个部分齐止境依赖于其他鸿沟和工作
7.2. 松耦合
7.2.1. 领有分散的鸿沟和工作,它们相互之间莫得严格的依赖性
7.2.2. 在松耦合的情况下sex5 com,分散的团队很容易构建其数据可能无法被同讹诈用的系统
7.2.3. 确保为领有各自鸿沟和工作的团队分拨共同的步伐、悉数权、包袱和义务
7.3. 测度打算“好的”数据架构依赖于鸿沟和工作的紧耦合和松耦合之间的衡量
8. 架构档次
8.1. 单层
8.1.1. 在单层架构中,你的数据库和应用法子紧耦合,驻留在单个工作器上
8.1.2. 该工作器不错是你的条记本电脑或云中的单个虚构机(Virtual Machine,VM)
8.1.3. 紧耦合的性质意味着若是工作器、数据库或应用法子出现故障,则通盘架构齐会失败
8.1.4. 单层架构适用于原型测度打算和设立,但由于显着的故障风险,因此不建议将其用于出产环境
8.1.5. 单层架构适用于在土产货规划机上测试系统,但不建议用于出产用途
8.1.6. 单层架构提供了粗浅性,但也有严重的局限性
8.2. 多层
8.2.1. 通过解耦数据和应用法子惩处了紧耦合单层架构的挑战
8.2.2. 多层(也称为n层)架构由单独的层构成:数据、应用法子、业务逻辑、展示等
8.2.2.1. 将数据与应用法子分裂,并将应用法子与展示分开
8.2.3. 这些层是自底进取和分层的,这意味着基层不一定依赖于表层
8.2.3.1. 表层依赖于基层
8.2.4. 三层架构由数据层、应用法子/逻辑层和暗示层构成
8.2.4.1. 每一层齐相互间隔,允许热心点的分裂
8.2.4.2. 使用三层架构,你不错在每一层中解放使用你心爱的任何时期,而无谓围聚元气心灵
8.2.5. 数据工程师应该使用层来评估他们的分层架构和处理依赖关系的方式
8.2.5.1. 洽商你是否但愿节点出现资源争用
8.2.5.1.1. 若是不是,则使用无分享架构:单个节点处理每个申请,这意味着其他节点不与该节点或相互分享内存、磁盘或CPU等资源
8.2.5.2. 节点是否应该分享悉数节点齐不错打听的调换磁盘和内存
8.2.5.2.1. 分享磁盘架构
8.3. 单体
8.3.1. 单体里面的耦合
8.3.1.1. 时期耦合
8.3.1.1.1. 时期耦合指的是架构档次
8.3.1.2. 鸿沟耦合
8.3.1.2.1. 鸿沟耦合指的是鸿沟之间耦合在一齐的方式
8.3.2. 单体在时期和鸿沟之间具有不同程度的耦合
8.3.3. 单体的紧耦合意味着其组件缺乏模块化
av网8.4. 微工作
8.4.1. 微工作架构包括荒芜的、分散的和松耦合的工作
8.4.2. 每个工作齐有一个特定的功能,况且与在其鸿沟内运行的其他工作解耦
8.4.3. 单体不是一蹴而就的,它是一个时期问题,亦然一个组织问题
8.5. 珍惜事项
8.5.1. 中央数据仓库实质上是繁多的
8.5.1.1. 向与数据仓库等效的微工作的滚动是将领有特定鸿沟数据管谈的使命流归拢到相应的特定鸿沟数据仓库进行解耦
8.5.2. 求实地将使用松耦互助为一种理念念,同期坚定到你在数据架构中使用的数据时期的气象和局限性
8.5.3. 以垂直方式将架构的组件分为不同的热心层
8.5.4. 围聚化:一个团队稳妥从悉数鸿沟网罗数据并融合它以供通盘组织使用
8.5.5. 数据网格
8.5.5.1. 使用数据网格,每个软件团队稳妥准备其数据以供组织的其他部门使用
8.5.6. 单体不一定是坏的,在某些要求下从单体启动可能是故兴味的
8.5.6.1. 从单体启动要粗浅得多
8.5.6.2. 准备好最终将其判辨成更小的部分
9. 用户打听
9.1. 多佃农
9.1.1. 悉数云工作齐是多佃农的,尽管这种多佃农出面前不同的粒度上
9.1.1.1. 云规划实例平素位于分享工作器上,但虚构机自己提供了一定程度的间隔
9.1.1.2. 对象存储是一个多佃农系统,但惟有客户正确配置其权限,云供应商就不错保证安全性和间隔性
9.1.2. 工程师往往需要在更小的范围内作念出关连多佃农的方案
9.1.2.1. 来自不同佃农的数据必须相宜间隔
9.1.2.2. 数据间隔计策因系统而异
9.1.2.3. 必须确保视图不会清楚数据
10. 事件驱动架构
10.1. 一个事件驱动的使命流包含在数据工程生命周期的各个部分创建、更新和异步出动事件的技艺
10.2. 主要鸿沟
10.2.1. 事件出产
10.2.2. 路由
10.2.3. 销耗
10.3. 事件驱动架构的上风在于它将事件的气象漫衍到多个工作中
11. 棕地步地
11.1. 棕地(Brownfield)步地平素波及重构和重组现存架构,并受到面前和往日的给与的收场
11.2. 最佳是真切挖掘、提议问题并相识作念出方案的原因
11.3. 同理心和落魄文在匡助你会诊现存架构的问题、发现契机和识别罗网方面大有匡助
11.4. 径直重写的一种流行替代方法是绞杀者模式:新系统安稳地、渐渐地替换留传架构的组件
11.5. 若是你在一个大型组织中,清除留传时期或架构可能是不行能的
12. 绿地步地
12.1. 绿地(Greenfield)步地让你创始一个全新的启动sex5 com,不受先前架构的历史或留传问题的收场