第一章相对简单,也么有什么需要记录的内容,主要用到的工具的简介及环境配置,粗略的过一下就行了.下面我们开始第二章的学习 CHAPTER 22.2Python Language Basics, IPython, and Jupyter Notebooks when you first meet the python ,you may be confuse by In [6]: data = {i : np.random.randn() for i in range(7)} In [7]: data…
第1章 启程 http://www.cnblogs.com/duxiuxing/p/5492219.html 第2章 对C的扩展 第3章  面向对象编程的基础知识 第4章 继承 第5章 复合 第6章 源文件组织 第7章 深入了解Xcode 第8章 Foundation Kit介绍 第9章 内存管理 第10章 对象初始化 第11章 属性 第12章 类别 第13章 协议 第14章 代码块和并发性 第15章 AppKit简介 第16章 UIKit简介 第17章 文件加载与保存 第18章 健/值编码 第…
坦白说也是机缘巧合,在硕士生阶段进入分布式系统领域学习.无论是大规模存储或计算,其核心也是运用分布式技术利用并行性来解决数据密集型应用的需求.最近开始在啃这本<Designing Data-Intensive Applications>大部头,作者Martin Kleppmann在分布式数据系统领域有着很深的功底,并在这本书中完整的梳理各类纷繁复杂设计背后的技术逻辑,不同架构之间的妥协与超越,很值得开发人员与架构设计者阅读. 很可惜的是国内目前并没有对应的中文版本,这个系列算是一个读书感悟,同…
进入到第五章了,来到了分布式系统之中最核心与复杂的内容:副本与一致性.通常分布式系统会通过网络连接的多台机器上保存相同数据的副本,所以在本篇之中,我们来展开看看如何去管理和维护这些副本,以及这个过程之中会遇到的各种问题. 1.副本 在数据系统之中,我们通常会有这样几个原因来使用副本技术: 保持地理位置接近用户,从而减少延迟(如:Cache,CDN技术) 提高系统的可用性和鲁棒性,即使系统中的某些部分已经失效了,仍然可以对外提供服务.(如:GFS三副本的设计) 通过扩展性来提供读查询,从而增加读取…
数据模型是开发软件的最重要的部分,因为它们对应用程序有着深远的影响:不仅是软件的编写方式,而且也影响我们如何解决的问题的方式.第二篇读书笔记,我们聊一聊数据模型的设计. 1.数据模型的分层 作为一个开发者来说,在一个复杂的应用程序中,是存在很多分层模型的,但基本思想还是一样的:每一层都提供了一个干净的数据模型,从而隐藏了底层的复杂性.通过这样的抽象来允许不同的人群有效地协同工作. 每个数据模型都包含了如何使用它的假设.有些用法很容易,有些不支持:有些操作很快,有些执行不好:有些数据转换很自然,有…
由于第三章的内容比较多,这里我们拆分成两篇读书笔记来记录.上一章我们聊了聊如何数据库是如何实现存储和检索的,今天这篇我们继续来看看OLTP与OLAP存储引擎的区别与联系. 1.OLTP与OLAP 联机事务处理过程(On-Line Transaction Processing)也就是我们通常称之的OLTP. 联机分析处理过程(On-Line Analysis Processing)则被称为OLAP. 在文中,作者列出了两类处理过程的区别,我们来一一梳理一下: OLTP的应用通常读写较少的数据,处理…
通常我们在做这个选择的时候,考虑得最多的应该是如果我们需要让 Database MySQL 来帮助我们从数据库层面过滤掉对应字段的重复数据我们会选择唯一索引,如果没有前者的需求,一般都会使用普通索引.这篇文章将会站在性能的角度来分析一下两者的区别对性能的影响. 这里还是用一张之前分析索引用到的图. 查询过程 在我们查询的时候我们使用 select id from T where k=5.这个查询语句通过查询逐渐搜索到 B+Tree 的叶子节点,然后取到对应的数据页,然后在数据页内部找到对应记录.…
我记得之前博客我也写过关于索引使用的文章,但是并不全面,这次尽量针对重点铺全面一点. 因为索引是数据引擎层的结构我们只针对最常见使用的 Innodb 使用的 B+Tree 搜索树结构进行介绍. 每一个在 InnoDB 的中的索引都对应一颗 B+Tree.举个栗子: 创建这样一个表,并且在字段 k 上创建索引 mysql> create table T( id int primary key, k int not null, name varchar(16), index (k))engine=I…
MongoDB是面向文档的数据库管理系统DBMS(显然mongodb不是oracle那样的RDBMS,而仅仅是DBMS). 想想一下MySQL中没有任何关系型数据库的表,而由JSON类型的对象组成数据模型的样子是如何的? 值得注意的是,MongoDB既不支持JOIN(连接)也不支持transaction(事务).Significantly, MongoDB supports neither joins nor transactions. 但是请注意MongDB有着大量其他优良的特性,如二级索引.…
极客时间 Mysql实战45讲 04讲深入浅出索引 极客时间(上)读书笔记  笔记体悟 1.索引的作用:提高数据查询效率2.常见索引模型:哈希表.有序数组.搜索树3.哈希表:键 - 值(key - value).4.哈希思路:把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置5.哈希冲突的处理办法:链表6.哈希表适用场景:只有等值查询的场景7.有序数组:按顺序存储.查询用二分法就可以快速查询,时间复杂度是:O(log(N))8.有序数组查询效率高,更新…