通用数据库技术
文章平均质量分 81
Michaelzhangyy
研究领域:大数据管理,数据库,分布式事务,图数据
展开
-
数据库事务的ACID隔离级中P0(脏写)和P4(更新丢失)的区别
有很多人在学习数据库的事务特性即ACID时对隔离级很糊涂,特别是不能区分脏写(P0)和更新丢失(P4)的异同,本文对这两个异常做一下解释,希望能够对研究数据库事务的人士有所帮助。P0(Dirty Wirte),即脏写。可以表示为w1[x]...w2[x]... (c1 or a1)P4(Update Lost),更新丢失。表示为r1[x]...r2[x]w2[x]c2...w1[x原创 2015-01-25 16:49:36 · 3879 阅读 · 0 评论 -
LevelDB读写流程(具体例子讲解SkipList+LSM)
有任何问题请联系我:zhangtiey@gmail.comLevelDB是LSM最有名的实现系统。网上介绍的文章不少, 本文主要用于我自己的理解和备忘录,我将用具体的实例来介绍LevelDB的读写过程,希望能让读者更加清楚其细节是如何实现的。总体来说,LevelDB是LSM+SkipList来实现的。具体来说,memtable是SkipList, sstable是LSM。S原创 2017-04-11 02:19:09 · 2570 阅读 · 0 评论 -
最新的版的PostgresSQL引入了BRIN索引
After reading that PostgreSQL 9.5 will support BRIN indexes, it took me a couple of re-reads of the attached documentation to understand exactly what this index technique is about. Actually, it’s re翻译 2016-05-23 04:40:06 · 1231 阅读 · 0 评论 -
什么是并发控制中的2PL
In this blog I will describe the concurrency control methods implemented in database management systems, and the differences between them. I will also explain about what locking technique is used in C翻译 2016-03-28 08:51:34 · 2474 阅读 · 0 评论 -
使用libevent和多线程构建高性能服务器(客户端)
有问题可以联系我zhangtiey@gmail.com因为开发数据库集群,节点需要通信,必须构建基于socket的C++网络通信系统。多年前使用UPD写过P2P流媒体,但是现在需要TPC,首先使用了Nanomsg作为网络库,但是开发过程中发现其不靠谱(模式太单一,并且出了问题根本找不到解决办法)。于是又掉头回来使用原生的socket编程。发现目前比较流行的(C++)网络编程使用libevent原创 2016-03-24 07:53:37 · 11285 阅读 · 3 评论 -
Postgres常用命令
连接数据库, 默认的用户和数据库是postgrespsql -U user -d dbname切换数据库,相当于mysql的use dbname\c dbname列举数据库,相当于mysql的show databases\l列举表,相当于mysql的show tables\dt查看表结构,相当于desc tblname,show columns from tbn转载 2015-12-05 07:35:50 · 1772 阅读 · 0 评论 -
如何保证transaction commit的完整性
欢迎和我探讨数据库技术,可以给我发信:tieyingz@cs.cmu.edu当commit涉及到多行的时候,并且提供的是行锁,那么就涉及到如何保证多行commit的完整性,不至于1行提交了,另外一行没有提交,那么concurrent txn会读到不同的结果。如何解决上述问题?需要一个全局锁,至于这个锁如何实现,不同数据库不同方法。感兴趣的同学可以参考一下oracle的实原创 2015-12-27 06:33:30 · 6222 阅读 · 0 评论 -
分布式事务两阶段提交(2PC)的思考
关于分布式事务的设计,我们一直在使用两阶段提交(2PC)作为标准的流程。但是有必要从本质上理解为什么需要两阶段提交。首先我们要清楚事务的流程是什么样的,一个事务最基本的流程为:读写操作,redo/undo log,写数据库表。也就是说在真正在数据库表之前,要有redo/undo log操作。在传统的分布式事务设计中,redo/undo log放在两阶段提交的第一阶段中,如果第一阶段成功原创 2015-12-26 06:30:06 · 2488 阅读 · 0 评论 -
MySQLCluster集群部署(MySQLCLUSTER 7.4.7)
本文作为为Doctor Zhang,有问题可以给我发信:tieyingz@cs.cmu.edu很久没有配置MysqlCluster了,今天准备做个实验,配置最新版本为7.4.7,配置过程也碰到了一些问题,希望朋友们有所借鉴(其中很多命令是用sudo完成的)一、本文部署集群情况如下1、物理机2台:10.92.1.20710.92.1.244其中:2原创 2015-10-10 09:38:23 · 1870 阅读 · 0 评论 -
HBase安装调试可以借鉴的文章
http://www.linuxidc.com/Linux/2012-12/76948.htmhttp://www.linuxidc.com/Linux/2012-12/76948p3.htmhttp://www.linuxidc.com/Linux/2012-12/76947.htm转载 2015-10-07 21:22:54 · 378 阅读 · 0 评论 -
VoltDB可以借鉴的文章
https://www.ibm.com/developerworks/cn/opensource/os-voltdb/http://blog.csdn.net/olidrop/article/details/7065384http://www.bigdataunion.org/detail2.php?id=21转载 2015-10-07 21:26:25 · 569 阅读 · 0 评论 -
Hadoop分布式部署
好久没有部署集群了,需要测试性能,本次部署记录如下:HBase-0,94.5+Hadoop-1.0.4,已经安装好了java,3台机器,1台namenode/master,2台datanode/regionserver用户名可以用hadoop这样隔离起来挺好,不过我直接使用了当前用户名先设置/etc/hosts10.92.2.75 c1.N2.Domino.nar原创 2015-10-19 08:35:53 · 419 阅读 · 0 评论 -
HBase分布式部署
环境为3台机器,并已经安装好了Hadoop,参见我前面的帖子下载,解压$ wget wget http://mirror.esocc.com/apache/hbase/hbase-0.94.5/hbase-0.94.5-bin.tar.gz$ tar zxvf hbase-0.94.5-bin.tar.gz -C /l0hbase-env.sh在这个文原创 2015-10-19 08:59:12 · 439 阅读 · 0 评论 -
在Hbase Endpoint Coprocessor中使用coprocessorProxy操作例子与问题解析
No matching handler **** for protocol in *** region原创 2015-06-29 23:03:08 · 1179 阅读 · 0 评论 -
重温HBaes部署与java客户端访问
好久没搭起来测测了,今天顺手搭起来用用。结果遇到了很多问题,下面一一说明一、部署简单起见,我使用了stand-alone模式。直接下载解压即可,注意的是需要改动hbase-site.xml: hbase.rootdir file:///root/zhangtieying/hbase原创 2015-06-20 22:59:42 · 861 阅读 · 1 评论 -
如何在图数据库上实现图计算框架
图数据库解决的是图数据的查询问题,图计算框架解决的是图计算的问题,首先我们要搞清楚二者如何区分,再讨论如何结合。图查询:主要面向的是路径查询。比如从一点出发的两跳邻居;再如从点A出发3跳内和B点的路径;图计算:对全图节点进行迭代运算。比如RageRank,需要每一个节点从一开始就要参与计算;再如计算图中存在的联通子图;再如计算图中度数大于一百万的节点;再如计算两点间路径。原创 2015-04-02 16:35:24 · 3109 阅读 · 0 评论 -
mysql远程连接
客户端连接:进入命令行,mysql -u 用户名 -p密码 -h 服务器IP地址-P 服务器端MySQL端口号 -D 数据库名注意: (1)服务器端口标志-P一定要大些以区别于用户-p,如果直接连接数据库标志-D也要大写; (2)如果要直接输入密码-p后面不能留有空格如-pmypassword; (3)命令结束段没有';'分号。例子:mysql -u lzpdd原创 2015-01-04 10:19:06 · 346 阅读 · 0 评论 -
Radix Tree在Hyper中的实现:解读Hyper论文《 The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases 》
本文讨论如何在实际的数据库系统中应用Radix Tree作为索引,暨解读HyPer的论文:The Adaptive Radix Tree:ARTful Indexing for Main-Memory Databases。本人和其作者Viktor有过一段时间的共事,希望对大家能有帮助。Radix Tree实际上就是前缀树,也称之为Trie。相比B-Tree,其最大的特性是1)数的高度不原创 2017-04-16 00:03:48 · 4298 阅读 · 1 评论