标点符(钱魏 Way)

基于leveldb的Nosql数据库SSDB

SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库,支持 zset(sorted set), map(hash), kv, list 等数据结构,用来替代或者与 Redis 配合存储十亿级别的列表数据。 SSDB 的主要特点: 支持 zset, map/hash, list, kv 数据结构, 可替代 Redis 特别适合存储大量集合数据, 支持丰富的数据结构: key-value […]

Typecho的数据库设计的学习

Typecho是一款仿Wordpress,但相对Wordpress要简单的多的开源博客程序。开发者大量的参考了WordPress的设计,去除了一些高级复杂的功能,实现了一个小而美的博客系统。它的优点: 轻量高效:仅仅 7 张数据表,加上不足 400KB 的代码,就实现了完整的插件与模板机制。超低的 CPU 和内存使用率,足以发挥主机的最高性能。 先进稳定:原生支持 Markdown 排版语法,易读 […]

CentOS 7 安装 PostgreSQL 教程

PostgreSQL在我心目中的地位要远远高于MySQL,虽然流行对比MySQL低很对,但是功能性一致走在MySQL的前面。对于新的项目我是非常建议使用PostgreSQL。这里就简单的整理下CentOS下的安装过程。 CentOS的源中自带有PostgreSQL,可以通过 yum list | grep postgresql 查看系统自带的版本,我这边看到的是9.2版本,个人还是比 […]

MySQL命名、设计及使用规范

最近在看MySQL相关的内容,整理如下规范,作为一名刚刚学习MySQL的菜鸟,整理的内容非常的基础,中间可能涉及到有错误的地方,欢迎批评指正,看到有错误的地方期望看官留言。 数据库环境 dev:开发环境,开发可读写,可修改表结构。开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不影响其他开发同事。 qa:测试环境,开发可读写,开发人员可以通过工具修改表结构。 sim:模拟环境,开发可读写 […]

树形结构数据存储方案(五):区间嵌套

前面的一篇文章介绍了左右值编码,不知道大家注意到了没有,如果数据庞大,每次更新都需要更新差不多全表,效率较低没有更好的方式?今天我们就来研究下区间嵌套法。 区间嵌套法原理 如果节点区间[clft, crgt]与[plft, prgt]存在如下关系:plft <= clft and crgt >= prgt,则[clft, crgt]区间里的点是[plft, prgt]的子节点。基于此假 […]

树形结构数据存储方案(四):左右值编码

在基于数据库的一般应用中,查询的需求总要大于删除和修改。为了避免对于树形结构查询时的“递归”过程,基于Tree的前序遍历设计一种全新的无递归查询、无限分组的左右值编码方案,来保存该树的数据。 第一次看见这种表结构,相信大部分人都不清楚左值(Lft)和右值(Rgt)是如何计算出来的,而且这种表设计似乎并没有保存父子节点的继承关系。但当你用手指指着表中的数字从1数到18,你应该会发现点什么吧。对,你手 […]

树形结构数据存储方案(三):闭包表

将Closure Table翻译成闭包表不知道是否合适,闭包表的思路和物化路径差不多,都是空间换时间,Closure Table,一种更为彻底的全路径结构,分别记录路径上相关结点的全展开形式。能明晰任意两结点关系而无须多余查询,级联删除和结点移动也很方便。但是它的存储开销会大一些,除了表示结点的Meta信息,还需要一张专用的关系表。 以下图举例数据举例: 创建主表: [crayon-59e8b4d […]

树形结构数据存储方案(二): 物化路径

前一篇文章介绍了比较简单的邻接列表模式,物化路径其实更加容易理解,其实就是在创建节点时,将节点的完整路径进行记录。以下图为例: 按照Path Enumeration 进行存储后的结果如下: 此种方案借助了unix文件目录的思想,主要时以空间换时间。 查询某一节点下的所有子节点:(以Fruit为例)

如何查询直属子节点?需要采用MyS […]

树形结构数据存储方案(一):邻接列表模式

在程序开发中,我们常遇到用树型结构来表示某些数据间的关系,如企业的组织架构、商品的分类、操作栏目等,目前的关系型数据库都是以二维表的形式记录存储数据,而树型结构的数据如需存入二维表就必须进行Schema设计。最近对此方面比较感兴趣,专门做下梳理,如下为常见的树型结构的数据: 其中最简单的方法是:Adjacency List(邻接列表模式)。简单的说是根据节点之间的继承关系,显现的描述某一节点的父节 […]

基于PostgreSQL的开源分布式数据库:Greenplum

Pivotal宣布开源大规模并行处理(MPP)数据库Greenplum,其架构是针对大型分析型数据仓库和商业智能工作负载专门设计的。借助MPP这种高性能的系统架构,Greenplum可以将TB级的数据仓库负载分解,并使用所有的系统资源并行处理单个查询。 Greenplum数据库基于PostgreSQL开源技术。本质上讲,它是多个PostgreSQL实例一起充当一个数据库管理系统。Greenplum […]