电子书:《数据密集型应用系统设计》《数据密集型应用系统设计》赵军平等译20180901

电子书:《数据密集型应用系统设计》《数据密集型应用系统设计》赵军平等译20180901

资源下载
仅限VIP下载,请先
犹豫不决让我们错失一次又一次机会!!!

电子书:《数据密集型应用系统设计》《数据密集型应用系统设计》赵军平等译20180901

111

内容简介:

第4章数据编码与演化∴数据编码格式数据流模式第二部分分布式数据系统第5章数据复制145主节点与从节点复制滞后问题多主节点复制无主节点复制第6章数据分区数据分区与数据复制键值数据的分区分区与二级索引分区再平衡请求路由第7章事务深入理解事务弱隔离级别串行化第8章分布式系统的挑战259故障与部分失效不可靠的网络不可靠的时钟i|目录

知识.真相与谎言第9章一致性与共识303致性保证可线性化顺序保证分布式事务与共识第三部分派生数据第10章批处理系统367使用unix工具进行批处理mapreduce与分布式文件系统超越 mapreduce第11章流处理系统413发送事件液数据库与流流处理第12章数据系统的未来461数据集成分拆数据库端到端的正确性做正确的事情术语表521目录|ⅲ

前言如果你是一位软件行业从业者.尤其是从事服.务.器端或者后台系统软件开发.相信近年来一定被层出不穷的商业名词所包围: nosql、 big data、web- scale、 sharding.eventual consistency、acid、cap理论、云服务、 mapreduce和 real-time等.所有这其实都围绕着如何构建高效存储与数据处理这一核心主题过去十年.在数据库领域与分布式系统方面涌现了许多引人瞩目的进展.由此深刻地影响了如何构建上层应用系统。分析这些激动人心的变化背后.你会发现有以下几非常重要的驱动因素互联网公司.包括ogle、 yahoo!、 amazon. facebook以及 twitter等.它们每天都在面对海量数据和负载.迫使其不断创新.并改进支撑系统以更有效地处理这种量级的数据商业方面因素.如敏捷开发、测试驱动和对市场机会做出快速反应等.都要求尽量缩短产品开发周期.因此系统中的数据模型也要足够灵活以方便调整。免费及开源软件现在已经非常成功.在很多領域足以取代商业或者定制软件硬件方面.cpu主频增长ri趋缓慢.而多核系统成为新常态.网络速度则依旧保持快速发展.这就意味着并行分布式系统将会成为业界主流如今一个不起眼的小公司.也完全有能力构建起大型分布式系统:跨机器甚至跨地域的数据中心.因为现在有了逐渐普及的1aas云服务(例如aws)。很多服务现在都要求高可用。道理很简单.系统失效或者维护时间越长.其损失代价越大.甚至大到无法承受

正是由于这些技术.“数据密集型应用”( data-intensive applications)把很多不可变成了可能。那么什么算是“数据密集型”(data- – intensive)呢?对于一个应用系统.如果“数据”是其成败决定性因素.包括数据的规模、数据的复杂度或者数据产就可以称为“数据密集型应用系统”;与之对应的是计算密集型( compute- intensive).cpu主频往往是后者最大的制约瓶颈。目前已经有足够丰富的技术或者工具来.辅。助.、帮助我们开发自己的数据密集型应用包括存储、处理等方面.而这些技术本身也在快速演进之中。例如很多人在关注新的nosql系统.但实际上消息队列、缓存、搜索引擎、批处理与流处理框架等相关技术也非常重要.事实上.很多应用系统总是会集成组合上述多种技术开篇所罗列的那一堆商业味颇浓的名词.某种程度上也彰显了当前大时代氛围.机会多自是好事。然而.作为一名软件工程师或者架构师.仍需秉持严谨的态度.深入理解繁杂词汇背后系统设计所面临的优劣权衡.只有这样才能为我所用.枸建好自己的系统。所以.抛开那些商业名词.我们要的是深入的探索幸好.软件千变万化.终有若干理念贯穿其中。无论你用的什么数据系统.如果可以掌握背后的设计理念.何种工具适用于何种场景.如何最佳使用.又有哪些陷阱).诸如此类.自然会胸有成竹.而这也是本书写作的初衷所以.本书旨在帮助大家更好地驾驭处理数据和存储数据相关技术。它不是针对某个特定软件的介绍手册.也不是纯理论的习题。我们会深入探讨一些成功的数据系统案例.剖析其中的技术要点;或许在很多流行的分布式系统里都有它们的身影.正是这些关键技术有效应对了许多生产环境对扩展性、性能和可靠性的苛刻要求我们将对这些典型系统深入展开讨论.梳理其核心算法.探讨其设计理念和背后的权衡之道。在此过程中.尝试总结某些经验法则来重新审视系统架构。了解怎么工作自然重要.但更重要的是要思考它为什么这样工作.正所谓“知其然.知其所以然读完本书之后.你应该会对哪些技术适用于哪些场景.常见工具如何搭配来构建应用系统等有所得。或许你不会马上就决定动手开发一个全新的数据库引擎(这几乎完全不需要).但是.关于系统的本质.相信你一定有新的认识与判断力:系统行为是否合理.架构设计如果权衡.个中症状如何处理等.将会更加游刃有余本书适合哪些读者?首先你的应用如果包含服.务.器端、后台逻辑来存储、处理数据.或者你的应用需要联网.例如web程序、移动程序以及联网的传感器等.这本书将非常适2|前言

本书主要针对软件工程师、软件架构师以及技术经理等.特别是那些需要对系统架构做出权衡决定的人.例如需要选择一些工具和软件来解决特定问题.或者如何最佳适用这些现有工具。退一步.如果不需要做这些决定.本书也可以帮助你更好地理解这技术的优缺点当然你最好有一些web程序或者网络程序的经验.了解一些基本的关系型数据和sql;虽然不是必须.但如果通晓 nosql或相关系统.那再好不过。如果有常见网络办议如tcp、http等基本知识也会帮助很大。选择何种编程语言或者框架对于阅读本书没有太大影响如果以下若干条适用于你.可能会从本书中有所获益需要学习了解系统扩展性方面技需要构建高可用(减少宕机影响)和健壮运行的系统需要有效方法来提高长时间运行系统的可维护性.应对规模增长、技术和需求不断发生变化等对系统如何工作有种天然的兴趣或者探索精神.特别是大型web和在线系统。本书会例举若干典型数据库和数据处理、分析系统.对其设计亮点逐一展开分杉当我在介绍可扩展的系统时.有人会问:“我又不是 google或者 amazon.这些高大上的扩展性太遥远.老老实实用关系数据库就得了。”在特定语境下这的确有道理丁造一个根本不需要的扩展性系统是在浪费精力.而且会丧失其他方面的灵活性.这其实是种过早的优化。然而我要说.选择何种工具也很有讲究或者说极其重要.不同的技术各有优劣.事实上正如本书将要揭示的.关系数据库很重要.但它并非解决数据问题的终极方案本书涵盖范围本书不会就如何安装、配置特定软件包或者api等做太多细节介绍.这方面已有足够多的文档。我们会着重探讨不同的设计理念以及如何权衡.这些通常才是系统的核心.也会例举实践中不同的系统产品最终采用了哪些不同的理念本书的电子版已包含所有在线资源的链接.这些链接在书稿付梓之时都做了验证.然而大家都能理解.这些网络链接可能在一段时间之后会失效。如果不巧碰到了失效的链接.或者阅读的是纸质版本.可以随时用搜索引擎来查询相关资料。对于学术论

资源下载
下载价格VIP专享
仅限VIP下载升级VIP
犹豫不决让我们错失一次又一次机会!!!
原文链接:https://1111down.com/222892.html,转载请注明出处

本站开启缓存功能

登入后回任何页面即可登入成功,当前页不显示

没有账号?注册  忘记密码?

社交账号快速登录