
数据库应用
DamZ
云计算、数据库内核
展开
-
Postgres社区版本策略
大版本策略:每年1个,每个版本只维护5年详见:https://www.postgresql.org/support/versioning/ 9.4~12的情况: Version Current minor Supported First Release Final Rel...原创 2020-01-10 14:50:27 · 308 阅读 · 0 评论 -
三种东西永远不要放到数据库里
导读:作者Frank Wiles发表了一篇博文,Frank Wiles曾在很多演讲里说过,改进你的系统的最好的方法是先避免做“蠢事”。并不是说你或你开发的东西“蠢”,只是有些决定很容易被人们忽略掉其暗含的牵连,认识不到这样做对系统维护尤其是系统升级带来多大的麻烦。作为一个顾问,像这样的事情我到处都能见到,我还从来没有见过做出这样的决定的人有过好的结果的。图片,文件,二进制数据既转载 2016-10-29 21:34:28 · 392 阅读 · 0 评论 -
纵表和横表的概念及其相互转换
横表就是普通的建表方式,如表结构为:主键、字段1、字段2、字段3...。 如果变成纵表后,则表结构为: 主键、字段代码、字段值。而字段代码则为字段1、字段2、字段3...。 具体为电信行业的例子。以用户帐单表为例,一般出账时用户有很多费用,其数据一般存储为:时间,客户ID,费用科目,费用。这种存储结构一般称为纵表,其特点是行数多,字段少。纵表在使用时由于行数多,统计用户数或对用户进行分档时还需要转载 2016-10-29 21:48:53 · 3379 阅读 · 0 评论 -
基于关系数据库的纵表、横表及引擎设计(未完)
概念 其实数据库本没有这2个概念,这2个概念是从应用角度、逻辑角度出发诞生的。所谓常见的表都是横表,所以这里重点说下纵表,你就理解这2个概念了。 关系型数据库或者说传统的数据库,建立模型时都需要建立明确模型的属性,而这些属性是作为字段(field)存在的,但是在应用中我们经常面临一个问题就是对象的属性是不确定的,比如我们对客户的属性,我们随着研究关注地深入,需要关注的属性越来越原创 2016-11-01 11:54:04 · 2694 阅读 · 1 评论 -
构建一个简单的数据库系列(二)世界上最简单的sql解析器和虚拟机
英文原链接:https://cstack.github.io/db_tutorial/parts/part2.htmlThe “front-end” of sqlite is a SQL compiler that parses a string and outputs an internal representation called bytecode.This bytecode i...原创 2019-03-17 18:23:10 · 358 阅读 · 0 评论 -
构建一个简单的数据库系列(五)持久化到硬盘
英文链接:https://cstack.github.io/db_tutorial/parts/part5.html“Nothing in the world can take the place of persistence.” –Calvin Coolidge像sqlite一样,我们通过保存整个数据库到一个文件到方式进行记录的持久化。我们已经实现了把记录反序列化到页大小到内存块中...原创 2019-03-24 00:46:41 · 532 阅读 · 0 评论 -
构建一个简单的数据库系列(八)B-tree叶子节点格式之二
英文原文链接:https://cstack.github.io/db_tutorial/parts/part8.html如何向叶子节点插入数据这一节我们只实现一个单节点树。回想下上节的内容,一颗树是从一颗空的叶子节点数开始演变的。图 空树键值对可以被一直添加直到叶子节点填满。图 1个节点的B-tree当第一次打开数据库时,数据库文件是一个空文件,我们初始化page=...原创 2019-03-31 20:52:33 · 297 阅读 · 0 评论 -
构建一个简单的数据库系列(九)二分查找和重复key
英文原文链接:https://cstack.github.io/db_tutorial/parts/part9.html上次我们注意到我们仍然按照未排序的顺序存储key。我们将解决该问题,并增加对重复key的检查。当前,我们的execute_insert函数总是选择在表尾插入。但是我们应该先检索到合适的位置,然后再插入。如果key已经存在,则返回error。ExecuteResul...原创 2019-03-31 23:29:00 · 201 阅读 · 0 评论 -
德哥的PostgreSQL私房菜 - 史上最牛皮的PG资料合集
德哥的PostgreSQL私房菜 - 史上最屌PG资料合集转自:https://yq.aliyun.com/articles/59251?spm=5176.100239.bloglist.95.5S5P9S看完并理解这些文章,相信你会和我一样爱上PostgreSQL,并成为一名PostgreSQL的布道者。资料不断更新中... ...沉稳的外表无法掩饰PG炙热的内心。扩展阅读...转载 2019-04-07 23:26:39 · 23088 阅读 · 0 评论 -
MySQL性能优化的最佳21条经验
作者:herain链接:https://zhuanlan.zhihu.com/p/21956773来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1.为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓转载 2016-10-14 17:58:26 · 460 阅读 · 0 评论 -
MySql数据引擎简介与选择方法
一、数据引擎简介在MySQL 5.1中,MySQL AB引入了新的插件式存储引擎体系结构,允许将存储引擎加载到正在运新的MySQL服务器中。使用MySQL插件式存储引擎体系结构,允许数据库专 业人员为特定的应用需求选择专门的存储引擎,完全不需要管理任何特殊的应用编码要求。采用MySQL服务器体系结构,由于在存储级别上提供了一致和简单的 应用模型和API,应用程序编程人员和D转载 2016-10-14 17:55:04 · 304 阅读 · 0 评论 -
数据库原理 知识点总结
目录(?)[-]名词积累数据模型Data Model数据库系统的三级模式结构数据库系统的两级映射以及物理逻辑独立性数据的约束条件完整性约束SQL语句执行顺序控制冗余Controlled Redundancy与非控制冗余Uncontrolled Redundancy的区别关系Relation与文件files或表tables的不同关系代数SQL语句三值谓词逻辑数据库应用系统设计的基本过程ER图转载 2016-09-07 23:44:36 · 585 阅读 · 0 评论 -
mysql数据类型及列类型
1. mysql的数据类型 在mysql中有如下几种数据类型: (1)数值型 数值是诸如32 或153.4 这样的值。mysql 支持科学表示法,科学表示法由整数或浮点数后跟“e”或“e”、一个符号(“+”或“-”)和一个整数指数来表示。1.24e+12 和23.47e-1 都是合法的科学表示法表示的数。而1.24e12 不是合法的,因为原创 2008-05-04 15:15:00 · 781 阅读 · 0 评论 -
iBatis简单入门教程
原文链接:http://www.cnblogs.com/ycxyyzw/archive/2012/10/13/2722567.htmliBatis 简介:iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快。如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iB转载 2014-01-04 00:41:42 · 741 阅读 · 0 评论 -
关系型数据库设计
目录一 Codd的RDBMS12法则——RDBMS的起源二 关系型数据库设计阶段三 设计原则四 命名规则 数据库设计,一个软件项目成功的基石。很多从业人员都认为,数据库设计其实不那么重要。现实中的情景也相当雷同,开发人员的数量是数据库设计人员的数倍。多数人使用数据库中的一部分,所以也会把数据库设计想的如此简单。其实不然,数据库设计也是门学问。 从转载 2015-04-15 23:43:21 · 969 阅读 · 0 评论 -
权限系统与RBAC模型概述[绝对经典]
0. 前言一年前,我负责的一个项目中需要权限管理。当时凭着自己的逻辑设计出了一套权限管理模型,基本原理与RBAC非常相似,只是过于简陋。当时google了一些权限管理的资料,从中了解到早就有了RBAC这个东西。可惜一直没狠下心来学习。更详细的RBAC模型非常复杂。本文只做了一些基础的理论性概述。本文资料完全来自互联网。 1. 权限系统与RBAC模型概述转载 2016-09-18 18:05:03 · 12285 阅读 · 0 评论 -
MySQL各版本的区别
MySQL 的官网下载地址:http://www.mysql.com/downloads/在这个下载界面会有几个版本的选择。1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。3. MySQL Cluster 集群版,开源免费。可将几个MySQ转载 2015-06-04 23:17:04 · 771 阅读 · 0 评论 -
比较全的mysql错误代码和消息对照表
由于更新很频繁,这些文件中可能包含这里未列出的额外错误消息。·错误:1000 SQLSTATE: HY000 (ER_HASHCHK)消息:hashchk·错误:1001 SQLSTATE: HY000 (ER_NISAMCHK)消息:isamchk·错误:1002 SQLSTATE: HY000 (ER_NO)消息:NO·错误:1003 SQLSTATE: HY000转载 2016-09-07 16:36:28 · 1794 阅读 · 0 评论 -
数据库的原理,一篇文章搞定(一)
目录(?)[-]回到基础概念例子继续深入合并排序合并拆分阶段排序阶段合并排序的强大之处阵列树和哈希表阵列树和数据库索引概念回到我们的问题B树索引哈希表全局概览一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工转载 2016-09-07 23:33:33 · 695 阅读 · 0 评论 -
数据库的原理,一篇文章搞定(二)
目录(?)[-]客户端管理器查询管理器查询解析器查询重写器查询优化器索引存取路径全扫描范围扫描唯一扫描联接运算符嵌套循环联接哈希联接客户端管理器客户端管理器是处理客户端通信的。客户端可以是一个(网站)服务器或者一个最终用户或最终应用。客户端管理器通过一系列知名的API(JDBC, ODBC, OLE-DB …)提供不同的方式来访问数据库。转载 2016-09-07 23:35:57 · 474 阅读 · 0 评论 -
数据库的原理,一篇文章搞定(三)
目录(?)[-]合并联接排序合并联接简化的例子动态编程贪婪算法其他算法查询计划缓存查询执行器数据管理器缓存管理器预读缓冲区置换策略改进写缓冲区事务管理器并发控制锁管理器死锁两段锁ARIES日志日志缓冲区STEAL 和 FORCE 策略结语合并联接合并联接是唯一产生排序的联接算法。注:这个简化的合并联接不区分内表或外转载 2016-09-07 23:37:45 · 526 阅读 · 0 评论 -
MYSQL数据库
http://dev.mysql.com/doc/refman/5.1/zh/index.html(5.1参考手册)1.MySQL的基本命令:[ ]中的内容为可选项--创建数据库mysql> create database 数据库名称--创建表mysql> create table 表名 (列的名字(id)类型(int(4))primary key(定义主键) auto原创 2008-07-26 10:26:00 · 797 阅读 · 0 评论