- 博客(133)
- 资源 (8)
- 收藏
- 关注
原创 Hadoop NameNode and Checkpoint
https://zedware.github.ioManagement of data is the core task of storage and database systems. Furthermore, lessattention is on metadata, esp. in the traditional systems. Even in the designof parallel or distributed systems, architectures often assume tha
2022-06-11 19:13:02
235
原创 Tips for Microsoft PowerPoint
https://zedware.github.io/TIPS-POWERPOINT/As an Internet-era and Cloud-era engineer, writing presentations with MicrosoftPowerPoint is a missing skill for me. So I was writing down the tips I found helpful here.Right-click on an object like Text, click on
2022-06-11 18:51:10
168
原创 The C Programming Language
The C Programming Languagehttps://zedware.github.io/homepagehttps://zedware.github.io/homepage/code/tcpl/index.html
2021-09-02 19:20:14
186
转载 Re-factoring some internals of prepared statements in 5.7
http://mysqlserverteam.com/re-factoring-some-internals-of-prepared-statements-in-5-7/
2016-04-08 23:37:58
827
原创 嵌套查询的查询优化
嵌套查询的查询优化Table of Contents1. 嵌套查询的分类和优化概述2. Kim: On Optimizing an SQL-like Nested Query2.1. 嵌套查询的分类2.1.1. A 类2.1.2. N 类2.1.3. J 类2.1.4. JA 类2.1.5. D 类2.2. 嵌套查询的优化3. Kiessling, SQ
2016-03-31 19:21:26
27242
原创 文件系统和数据库的对比
文件系统和数据库的对比本文主要从单机系统的角度出发,对比通用的文件系统和数据库技术。想到哪里就写到哪里,遗漏的地方应该很多。共同点:同属于系统软件或底层软件都是用来存储和访问数据的都有着悠久的研究开发历史都有成熟的标准或规范。这既有利于开发可移植的程序,又不利于开发创新的系统,特别是分布式系统。实现技术上也有很多的共同点大都采用C/C++这样更底层的语言
2015-03-31 20:30:06
27426
原创 说说FoundationDB
FoundationDBApple收购了FoundationDB1,而且后者从开源立即变成了闭源。说实话,在此之前都没有注意到还有这么一个DBMS产品2。从官网上看,它的一些设计理念还是比较切合实际的,毕竟分布式DBMS存在很多难以解决的问题,要在短期内做到Oracle等传统RDBMS那样的程度是不现实的。例如它把重点放到了核心特性上,做了取舍3,4:可扩展性,采用Shared-not
2015-03-29 18:36:49
24424
原创 ACID
细节其实很多。。。1 到底什么是ACID首先需要说明的是,在IT领域,很多名词在不同的上下文环境中的语义是不同的。例如某些产品宣称支持“100% ACID”和“强一致性”等。那么,这些名词到底指的是什么?如果不结合具体的语境,我们很可能产生各种误解。在没有NoSQL,也更没有NewSQL之前,我们需要关注的是数据库产品支持的隔离级别的差异,而不需要关心它们到底实现了ACID没有。因
2015-01-10 21:39:56
23640
原创 重读A Critique of ANSI SQL Isolation Levels
A Critique of ANSI SQL Isolation Levels1. 1995年发表。2. SQL是以现象(phenomena)来定义四个隔离级别的,但是与实际系统差别太大。3. SQL没有涵盖某些常见的隔离级别,特别是多版本并发控制下的Snapshot Isolation。4. 关系数据库ACID默认是要支持可串行化的,不过实际系统大多提供了较低的隔离级别。这也
2015-01-04 20:42:37
24154
原创 SQL标准简介
按:这是基于我很早以前写的几篇短文重新整理的。 SQL是Structured Query Language的缩写,它的前身是著名的关系数据库原型系统System R所采用的SEQUEL语言。作为一种访问关系型数据库的标准语言,SQL自问世以来得到了广泛的应用,不仅是著名的大型商用数据库产品Oracle、DB2、Sybase、SQL Server支持它,很多开源的数据库产品如Postg
2014-12-11 13:58:39
23907
原创 回顾一下著名的BigTable论文
GFS解决了某些业务场景对分布式文件系统需求,很自然的,也有某些业务仅仅靠文件系统用起来还是不那么方便,它们需要分布式数据库系统。BigTable就是Google为了解决内部对大规模结构化数据处理的需求而产生的。论文摘要涉及的“关键”字为:1. 结构化数据2. 数据量大3. 典型应用:Web索引,Google Earth,Google Finance4. 批处理和实时需求5.
2014-06-30 00:06:57
25941
原创 Gartner发布了集成系统的魔力象限 - Nutanix的关键技术是什么?
读报告,分析报告,写报告。这活儿我不专业。列出个文章供参考:1. 中文报道 http://news.e-works.net.cn/category8/news56692.htm2. 英文网页 http://www.nutanix.com/blog/2014/06/18/the-web-scale-vision/?utm_source=pressrelease&utm_medium=refe
2014-06-26 23:10:46
24295
原创 回顾一下著名的GFS论文
GFS与此前的很多分布式系统存在很大的不同。作为一个工程性产品,与此前的原型系统相比,差异更大。1. 前提假设不同此前的很多系统都假设节点故障不那么频繁,而GFS则假设节点故障是家常便饭。这应该说是时代不同了,以前的分布式系统考虑的节点数比较少,而且每个节点都比较高端,出故障的几率相对较小。GFS采用的则是普通的商用软硬件,出错的几率偏大。因此需要在系统中考虑持续监测,错误监测,容错以及自
2014-06-22 21:51:09
24421
原创 MySQL的词法分析漫谈
这个链接上有点介绍,可以了解个大概:http://blog.imaginea.com/mysql-query-parsing/ 关键点:1. SQL解析包括语法分析器和词法分析器。 简便的做法是用bison/flex组合。不过MySQL的词法分析器是手工打造的。 语法分析器的入口函数是MYSQLparse,词法分析器的入口函数是MYSQLlex。2. 词法分析中
2014-06-11 18:28:07
24660
1
转载 Making Use of Boost Geometry in MySQL GIS
看样子MySQL还是打算改进GIS支持。Making Use of Boost Geometry in MySQL GISApril 9, 2014GIS, MySQLBoost, GEOMETRY, GIS, OGC, SPATIAL, WKB, WKTDavid ZhaoThis post talks about how we make use of Boo
2014-04-10 19:47:12
24097
转载 NULL与唯一性约束
NULL是个很特殊的东西,也容易引起一些问题。参看:http://blog.csdn.net/zedware/article/details/20488167。
2014-04-08 19:59:03
24103
原创 从FusionIO的NVM压缩接口谈起
厂商的宣传总喜欢搞得很吸引人:Fusion-io宣称可以翻倍MySQL的容量,http://www.zdnet.com/fusion-io-claims-to-double-mysql-capacity-7000027970/。Google一下会出现很多类似的内容。可惜宣传稿只是说可以这样、可以那样,显得很是高大。要想知道得更细一点,还得从基础学起。先看看:https://github.com/o
2014-04-03 22:17:01
24157
转载 Facebook的MySQL SemiSync改进
MySQL的binlog复制以及SemiSync看起来不那么高级,但确实在一点点进步:http://yoshinorimatsunobu.blogspot.com/2014/04/semi-synchronous-replication-at-facebook.html?showComment=1396485185807#c354182842225638292
2014-04-03 08:33:17
23418
原创 我的Vim为什么不变色了
今天虽然是愚人节,也得写点有用的东西,不能忽悠大家当April fool。最近用的机器有点多,换来换去的,发现有个机器的Vim竟然不会变色了。试了几次,发现了一个细节的区别:这台机器的vim的可执行文件名是vi,不是vim,而且它不是个符号链接。以下是详细的过程:$ vi --version | grep syntax-ex_extra -mouse_jsbterm
2014-04-01 22:10:41
26263
1
原创 [朝花夕拾] VMware Virtual Volume - vVol
Virtual volume在两年前还是很火热的概念,例如:http://blogs.vmware.com/vsphere/2012/10/virtual-volumes-vvols-tech-preview-with-video.html,可是2013年的VMware大会上就没有那么多消息了,例如:http://www.networkcomputing.com/storage-networkin
2014-03-28 23:19:02
25030
原创 Facebook, Google, Twitter, Linkedin推出了WebScaleSQL
名字看起来很可怕的样子:Web Scale。实际是基于Oracle的社区版本MySQL 5.6做的,加了一些工具和补丁。先看看这个新闻:http://www.informationweek.com/big-data/software-platforms/facebook-debuts-web-scale-variant-of-mysql-/d/d-id/1141521下面这一段是已经开发完
2014-03-28 22:23:24
25167
原创 NVMe终于有产品支持了
硬件的进步总是会带来接口以及软件的慢慢进步。先来看看这个新闻:http://www.storagereview.com/samsung_16tb_nvme_ssd_featured_in_the_new_dell_poweredge_r920_server。它说三星和戴尔合伙要在新的Dell PowerEdge R920服务器里头采用1.6TiB的NVMe SSD,这是世界上第一个支持NVMe接口
2014-03-27 22:16:42
26881
原创 优雅的cancel一个pthread线程
这是一个基本的问题。仔细看看man pages,应该就可以理解其中的道理。不过我看到的几个man pages的详略程度有所不同。关键的函数是pthread_cleanup_push()和pthread_cleanup_pop()以及由此衍生出来的xxx_np(不可移植版本)。更详细的信息可以参考NPTL的代码:http://code.metager.de/source/xref/gnu/gli
2014-03-26 21:59:55
23350
原创 久违的SQL标准
很久没有什么工作需要参考SQL标准了,乃至于SQL:2011的更新都一直没有去关注过。SQL标准一路走来,可以说是略显老态了,参与的厂商比较少,关注的人也少了。绝大多数人提起SQL标准,涉及的内容其实是SQL89或SQL92里头最基本或者说最核心的一部分。其实,自从SQL:1999开始,它已经发福了。绝大多数人都不需要去一字一句的阅读标准,而且标准每次更新的时候,都会有委员会的成员们为大家提供比较
2014-03-25 23:09:18
24205
转载 没事学习一下SMB 3.0
注:突发奇想,想看看Mac OS上到底有没有sparse file,找到Wikipedia,说是没有:http://en.wikipedia.org/wiki/Sparse_file。简单验证了一下,确实是没有。然后不知道怎么逛到了微软的网站,看到这个熟悉的东西,New SMB features that are introduced in the Windows Server 2
2014-03-24 22:35:27
23964
原创 试试Fedora 20里头的File System on File
Create a file to host the fs. Can also use dd here instead of truncate. $ truncate -s 128M bigfile $ du -csh bigfile $ stat bigfileCreate a fs on the file. There will be some war
2014-03-23 20:14:39
23551
原创 打洞(Punch a hole):回收存储空间(File、Block以及其他)
打洞(Hole-punching)这个看起来有点土,容易让人想到“龙生龙凤生凤,老鼠的儿子会打洞”。在虚拟机出现之前,这个问题可能还不太被大家所了解。VM通常会有个很大的文件作为Guest OS的存储,可是你在Guest OS里头删除了很多文件后,这个文件还是占据了很多的空间。怎么让Host文件的文件系统回收掉这些空间呢?如果这些存储是在Amazon这样的地方,占据一堆不用的空间会导致花了冤枉钱。
2014-03-21 23:29:07
26779
原创 数据库中的数据类型
数据库中的数据类型通常有很多种,也有不同的分类方法。例如最常见的数值型、字符型、日期时间型,也有不太常见的布尔型、枚举型、集合型等。要在DBMS中实现某种具体数据类型(例如最简单的INTEGER)的支持,我们可以从以下几个方面来考虑。1. 数据类型的名称 数据类型名称可以出现在DDL语句中,也可以出现在INFORMATION_SCHEMA等返回的元信息中。 有的数据类型因为
2014-03-14 19:42:49
24355
1
转载 Facebook的社交类Benchmark: LinkBench
LinkBench: A database benchmark for the social graphhttps://www.facebook.com/notes/facebook-engineering/linkbench-a-database-benchmark-for-the-social-graph/10151391496443920April 2,
2014-03-12 20:51:40
24041
转载 Google的备份
How Google Backs Up The Internet Along With Exabytes Of Other DataMONDAY, FEBRUARY 3, 2014 AT 8:56AMRaymond Blum leads a team of Site Reliability Engineers charged with keeping Google's
2014-03-11 22:18:03
24095
原创 brew doctor老有个Python的警告
$ brew doctorWarning: Python is installed at /Library/Frameworks/Python.frameworkHomebrew only supports building against the System-provided Python or abrewed Python. In particular, Python
2014-03-07 23:04:50
25286
原创 [朝花夕拾]空值的问题
空值的问题[1]空值的含义 空值(NULL)在关系模型中可以有两种定义:1、空值表示可以给该列赋值,但是目前还没有赋值;2、空值表示该列不可以被赋值。RDBMS支持的一般都是第一种类型,SQL标准也是这样定义的。NULL引起的EXISTS子句错误 1989年9月,C.J.Date在“Database Programming & Design”上发表了题为“Bew
2014-03-04 22:00:44
23729
原创 [朝花夕拾]可更新视图
可更新视图1.视图概述 视图是从一个或多个基表(或视图)导出的表。通常视图仅仅是一个虚表,即数据库中只存放视图的定义信息等元数据,而不存放视图对应的数据。 视图上的操作和基表类似,但是 DBMS对视图的更新操作(INSERT、DELETE、UPDATE)往往存在一定的限制。 DBMS对视图进行的权限管理和基表也有所不同。 视图可以提高数据的逻辑独立性,也可以增加
2014-03-04 21:59:01
23337
原创 [朝花夕拾]在SourceInsight中集成版本管理工具
在SourceInsight中集成版本管理工具 SourceInsight是一个功能强大的源码阅读和编辑工具,它也支持用户自定义的命令。我们可以选取主菜单中的“View”->“Toolbars”中的“Source Control”和“Build”以便显示版本管理和构建工具栏。 这两个工具栏所对应的命令都是可以定制的,更多的定制命令可以在“Options”->“Custo
2014-03-04 21:54:06
25119
转载 Granola: Low-Overhead Distributed Transaction Coordination
论文里的结论总是很美好。AbstractGranola: Low-Overhead Distributed Transaction CoordinationThis paper presents Granola, a transaction coordinationinfrastructure for building reliable distribu
2014-03-03 22:10:30
23509
原创 Different ways to get the symbol name and ...
万一你拿到callstack的是一堆的地址,不用担心,只要你有符号信息,就可以用这些命令恢复出熟悉的样子了。$ addr2line -e foo.gdb -f -s -C 0x1023456Ifoo::compare(unsigned long long)foo.cxx:648(gdb) l *0x10234560x1023456 is in Ifoo::compa
2014-03-02 20:44:50
23455
转载 8 gdb tricks you should know
如果你整天看coredump或者抓bug,对这些应该已经很熟悉了。8 gdb tricks you should knowBy Ksplice Post Importer on Jan 24, 2011Despite its age, gdb remains an amazingly versatile and flexible tool, andmastering it
2014-03-02 20:34:55
23416
VoltDB technical overview
2014-02-09
Avoiding the Disk Bottleneck in the Data Domain Deduplication File System.pdf
2012-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人