MySQL 索引性能分析概要

上一篇文章 MySQL 索引设计概要介绍了影响索引设计的几大因素,包括过滤因子、索引片的宽窄与大小以及匹配列和过滤列。在文章的后半部分介绍了数据库索引设计与优化一书中,理想的三星索引的设计流程和套路,到目前为止虽然我们掌握了单表索引的设计方法,但是却没有分析预估索引耗时的能力。在本文中,我们将介绍书中提到的两种分析索引性能的方法:基本问题法(BQ)和快速估算上限法(QUBE),这两种方法能够帮助我们快速分析、估算索引的性能,及时发现问题。 »

MySQL 索引设计概要

在关系型数据库中设计索引其实并不是复杂的事情,很多开发者都觉得设计索引能够提升数据库的性能,相关的知识一定非常复杂,然而这种想法是不正确的,索引其实并不是一个多么高深莫测的东西,只要我们掌握一定的方法,理解索引的实现就能在不需要 DBA 的情况下设计出高效的索引。 »

『浅入浅出』MongoDB 和 WiredTiger

MongoDB 是目前主流的 NoSQL 数据库之一,与关系型数据库和其它的 NoSQL 不同,MongoDB 使用了面向文档的数据存储方式,将数据以类似 JSON 的方式存储在磁盘上,因为项目上的一些历史遗留问题,作者在最近的工作中也不得不经常与 MongoDB 打交道,这也是这篇文章出现的原因。 »

Sidekiq 如何处理异步任务

Sidekiq 是 Ruby 和 Rails 项目中常用的后台任务处理系统,其本身提供的 API 十分简洁,源代码也非常易于阅读,是一个轻量级的异步处理组件;虽然其本身没有提供太多复杂的功能,但是它的使用和部署非常简单。在这篇文章中,我们将对 Sidekiq 的实现原理进行介绍和分析。 »

『浅入深出』MySQL 中事务的实现

在关系型数据库中,事务的重要性不言而喻,只要对数据库稍有了解的人都知道事务具有 ACID 四个基本属性,而我们不知道的可能就是数据库是如何实现这四个属性的;在这篇文章中,我们将对事务的实现进行分析,尝试理解数据库是如何实现事务的,当然我们也会在文章中简单对 MySQL 中对 ACID 的实现进行简单的介绍。 »

浅析 Bigtable 和 LevelDB 的实现

在 2006 年的 OSDI 上,Google 发布了名为 Bigtable 的论文,其中描述了一个用于管理结构化数据的分布式存储系统 Bigtable 的数据模型、接口以及实现等内容。本文会先对文中描述的分布式存储系统进行简单的描述,然后对 Google 开源的 KV 存储数据库 LevelDB 进行分析;LevelDB 可以理解为单点的 Bigtable 的系统,虽然其中没有 Bigtable 中与 tablet 管理以及一些分布式相关的逻辑,不过我们可以通过对 LevelDB 源代码的阅读增加对 Bigtable 的理解。 »

浅谈 MVC、MVP 和 MVVM 架构模式

这是 MVX 系列的第四篇文章,在前面的文章中,我们先后介绍了 iOS 中的 Model、View 和 Controller 的现状,对比了其他平台中的设计,最后给出了作者理想中的结构。而这一篇文章,作者会依次介绍 MVC、MVP 以及 MVVM 架构模式以及不同平台对它们的使用,虽然参考了很多资料,不过文中观点难免掺入作者的主观意见,作者也希望文中的错误与不足之处能被各位读者指出。 »

谈谈 MVX 中的 Controller

在前两篇文章中,我们已经对 iOS 中的 Model 层以及 View 层进行了分析,划分出了它们的具体职责,其中 Model 层除了负责数据的持久存储、缓存工作,还要负责所有 HTTP 请求的发出等工作;而对于 View 层的职责,我们并没有做出太多的改变,有的只是细分其内部的视图种类,以及分离 UIView 不应该具有的属性和功能。 »

谈谈 MVX 中的 View

这是谈谈 MVX 系列的第二篇文章,上一篇文章中对 iOS 中 Model 层的设计进行了简要的分析;而在这里,我们会对 MVC 中的视图层进行讨论,谈一谈现有的视图层有着什么样的问题,如何在框架的层面上去改进,同时与服务端的视图层进行对比,分析它们的差异。 »

谈谈 MVX 中的 Model

在大多数 iOS 的项目中,Model 层只是一个单纯的数据结构,你可以看到的绝大部分模型都是这样的;模型起到了定义一堆『坑』的作用,只是一个简单的模板,并没有参与到实际的业务逻辑,只是在模型层进行了一层抽象,将服务端发回的 JSON 或者说 Dictionary 对象中的字段一一取出并装填到预先定义好的模型中。 »

从代理到 RACSignal

RACDelegateProxy 消息转发的实现 从代理到信号 从 selector 到 _objc_msgForward 调剂类的方法 方法调用的过程 总结... »

理解 RACScheduler 的实现

RACScheduler 简介 RACImmediateScheduler RACTargetQueueScheduler RACSubscriptionScheduler 总结 References RACScheduler 是一个线性执行队列,ReactiveCocoa 中的信号可以在... »

优雅的 RACCommand

RACCommand 简介 RACCommand 的初始化与执行 最重要的内部『信号』 复杂的初始化 RACCommand 接口中的高阶信号 executionSignals executing... »