配置值说明spark.sql.parquet.adaptiveFileSplittrue不知道spark.sql.adaptive.hashJoin.enabledtrue标...
配置值说明spark.sql.parquet.adaptiveFileSplittrue不知道spark.sql.adaptive.hashJoin.enabledtrue标...
多Leader备份(Multi-Leader Replication) 这章当目前位置我们都在讨论单Leader的备份架构,这个方案用的很普遍,但也有些问题。因为只有一个Le...
备份落后的问题 备份的原因不仅仅是容错性,像前面说到的,减小延迟和扩展性也是目标。Leader-based的备份会把所有的写请求通过一个节点完成,但是读请求可以调用其他本分节...
备份意味着把你的数据的多个副本放置在不同的机器上,这些机器通过网络连接。如第二章综述所讲,备份的好处有以下几点 允许你的数据离你的用户在地理位置上更近,从而减小延迟 允许你的...
之前的第一部分我们都在讲的是单机的数据系统。第二部分我们上一个台阶,当有多台机器的时候,我们需要如何进行数据的存储和查询?为什么我们需要一个多机分布式的数据库呢?原因如下 扩...
消息队列数据流 这部分会简要介绍一种异步消息传递系统,在某种意义上讲是在数据库和RPC的折中方案。他与RPC相似点在于都是一个客户端用一个很短的延迟将请求传递给另一个进程。他...
Avro Avro是2009年发起的一个hadoop的子项目,他也是一种二进制的编码方式,但是和Thrift和Protocol Buffer不尽相同,它诞生之初就是因为Thr...
综述 我们的应用往往不可避免的需要进行更新,添加新的功能。在第一章讲过了应用具有可进化性,也就是说我们的应用应该在设计之初就拥抱变化。大多数情况下,一旦功能发生变化,底层的数...
面向列的存储 如果你的数据仓库有超过PB级的数据以及有超过几千亿行记录,那如何高效的存储和查询对你来说就是一个技术活了。属性表相对来说就要小很多了,往往也就是百万级。所以我们...
事务型处理与统计分析的区别 早期的数据库是服务于商业社会的,每次数据库读写就意味着某种交易。随着数据库的应用逐渐从商业领域扩展到无所不在,过去一系列操作必须在一个逻辑单元完成...
B树和LSM树的对比 整体来说,B树的实现比LSM更成熟,LSM在写上明显更快,但是B树在读上会比LSM快很多,因为LSM树需要去确认多个SSTable是否包含某个key。但...
总述 总的来说,数据库只需要做两件事情,当你给他数据的时候,他要把数据存起来,当你随后找他要的时候,它还能正确的把数据吐给你 第二章我们讨论了数据模型和查询语言,讲述了你向数...
图数据模型 总述 在前面发现,不同的数据模型中在处理多对多的关系时,处理方式和性能有着很大的不同。如果你的应用有大量的一对多的关系,并且记录之间没什么关系,那文档关系库就很适...
数据查询语言 数据库的查询语言——SQL 与关系数据库一起走入人们视野的还有一种新的查询数据的方式, 说明型语言,最经典的莫过去SQL。要想了解SQL或者说明型语言的强大之处...
总叙 数据模型可以说是开发软件中最重要的东西,因为他不仅仅影响我们的程序如何编写,更重要的是他影响你如何去思考解决问题的方法 绝大多数的应用都是分层构建数据模型的,对于某一层...
可维护性 重要的观点,针对一个应用而言,他的大部分时间不在最初的开发时间上,而是在后期维护上,修bug,适应新平台,加新功能,偿还技术债务等 减少维护成本的几个设计原则 * ...
## 数据敏感应用的普遍功能以及问题 ## 常有功能 1. 存储数据(database) 2. 缓存(cache) 3. 根据关键词查找(search indexes) 4....
这些年我们听到了大量与存储和处理数据相关的技术,NoSQL, BigData, 服务扩展性,分区分组,ACID,CAP理论, 云服务,mapreduce,实时处理。为什么会有...