摘要: 数组、字符串与切片 Go语言中数组、字符串和切片三者是密切相关的数据结构。这三种数据类型,在底层原始数据有着相同的内存结构。虽然数组的元素可以被修改,但是数组本身的赋值和函数传参都是以整体复制的方式处理的。字符串赋值只是复制了数据地址和对应的长度,而不会导致底层数据的复制。 数组 数组是一个由固定长 阅读全文
posted @ 2020-02-15 23:48 Ryan_W 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 分片 每个分区都是自己的小型数据库,尽管数据库可能支持同时进行多个分区的操作。分区主要是为了可扩展性。不同的分区可以放在不共享集群中的不同节点上。因此,大数据集可以分布在多个磁盘上,并且查询负载可以分布在多个处理器上。 分区目标是将数据和查询负载均匀分布在各个节点上。如果分区是不公平的,一些分区比其 阅读全文
posted @ 2020-02-15 22:59 Ryan_W 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 复制 复制意味着在通过网络连接的多台机器上保留相同数据的副本。复制的困难之处在于处理复制数据的变更。我们将 讨论三种流行的变更复制算法:单领导者,多领导者和无领导者。几乎所有分布式数据库都使用这三种方法之一。 主从结构 存储数据库副本的每个节点称为副本。当存在多个副本时,会不可避免的出现一个问题:如 阅读全文
posted @ 2020-02-13 23:48 Ryan_W 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 编码与演化 对于服务端(server side)应用程序,可能需要执行滚动升级 ,一次将新版本部署到少数几个节点,检查新版本是否运行正常,然后逐渐部完所有的节点。这样无需中断服务即可部署新版本,为频繁发布提供了可行性,从而带来更好的可演化性。 对于客户端(client side)应用程序,升不升级就 阅读全文
posted @ 2020-02-03 14:44 Ryan_W 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 存储与检索 数据库如何存储我们提供的数据,以及如何在我们需要时重新找到数据。 日志结构的存储引擎 可以实现一个简单的数据库,这个数据库只在结尾不断加入数据,在查询的时候返回从结尾找到的第一条数据,这样的数据库成为仅追加式的数据库,也即日志模式。 为了高效查找数据库中特定键的值,我们需要一个数据结构: 阅读全文
posted @ 2020-01-30 13:54 Ryan_W 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 数据模型与查询语言 多数应用使用层层叠加的数据模型构建。对于每层数据模型的关键问题是:它是如何用低一层数据模型来表示的?例如: 1. 作为一名应用开发人员,你观察现实世界(里面有人员,组织,货物,行为,资金流向,传感器等),并采用对象或数据结构,以及操控那些数据结构的API来进行建模。那些结构通常是 阅读全文
posted @ 2020-01-29 16:12 Ryan_W 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 数据密集型应用特点 需求 存储数据,以便自己或其他应用程序之后能再次找到——数据库 记住开销昂贵操作的结果,加快读取速度——缓存 允许用户按关键字搜索数据,或以各种方式对数据进行过滤——搜索索引 向其他进程发送消息,进行异步处理——流处理 定期处理累积的大批量数据——批处理 关于数据系统的思考 数据 阅读全文
posted @ 2020-01-29 10:10 Ryan_W 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 从开机加电到main函数执行(1) 启动BIOS,准备中断 BIOS的任务是将硬盘中的操作系统加载到内存中。 BIOS加载中断处理程序 BIOS的启动由硬件完成。8086系列在加电时进入16位实模式,将CS置为0xFFFF,IP置为0x0000, CS:IP指向0xFFFF0,指向了BIOS对应的地 阅读全文
posted @ 2020-01-28 17:38 Ryan_W 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 关于CGo多语言编译 问题出现在将openCV封装到go语言的时候。在编译时需要设置 CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o xxx main.go 将第一项的参数CGO_ENABLED设置为1,否则会出现 vendor/gocv.io/x 阅读全文
posted @ 2019-12-17 16:09 Ryan_W 阅读(639) 评论(0) 推荐(0) 编辑
摘要: summary logrus是针对go语言开发的一款日志系统,在本片文章中,将会对上手logrus的过程中遇到的一些问题做一个记录。这个记录参考了这篇文章。下面我们开始吧! 上手 package main import ( log "github.com/sirupsen/logrus" ) fun 阅读全文
posted @ 2019-11-13 17:45 Ryan_W 阅读(726) 评论(0) 推荐(1) 编辑