摘要: 开了新的博客,在http://valleylord.github.io/和http://valleylord.sinaapp.com/。比cnblogs好看一些 阅读全文
posted @ 2014-04-27 16:35 valleylord 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 赋予远程debug权限:grant debug any procedure to #user_name; grant debug connect session to #user_name; 导入导出整个schema,需要先建立dpdir的directory:expdp schemaABC/sche... 阅读全文
posted @ 2012-11-07 14:40 valleylord 阅读(268) 评论(0) 推荐(0) 编辑
摘要: CQL虽然看起来挺容易懂,实际上还是挺难写的,跟SQL的直观完全不能比较,其复杂度的来源可能是图的结构引起的,而非本身语言设计的问题。当然,不可否认,neo4j中CQL的设计还是略微的有一些不足。本次的练习是基于《Graph Databases(2013)》的第5章,确切说是从p105开始的3个例子... 阅读全文
posted @ 2014-04-27 10:16 valleylord 阅读(2306) 评论(0) 推荐(0) 编辑
摘要: neo4j是一个高性能的面向图的数据库,据说是java世界“最受欢迎的图数据库”,虽然,图数据库本身也没有几种可以选......。neo4j的高可用很容易搭建,本文使用的是neo4j-2.0.2版本,在其官方网站的manual中有非常详细的例子,参考其manual的ch23,http://docs.... 阅读全文
posted @ 2014-04-20 16:25 valleylord 阅读(6227) 评论(0) 推荐(0) 编辑
摘要: 老实说,虽然cassandra在业界不是很受待见,但是但从使用上来看,cassandra还是挺简单的,本次测试环境仍然是UBUNTU,集群中最简单的使用了2个节点。首先安装java,这个可以参考我之前的博客:Ubuntu 11.04上安装jdk1.6+oracle 11g笔记。一系列各种JAVA_H... 阅读全文
posted @ 2014-04-13 20:10 valleylord 阅读(12051) 评论(2) 推荐(0) 编辑
摘要: 转载自:http://tech.qq.com/a/20121128/000135.htm近期MongoDB在Hack News上是频繁中枪。许多人更是声称恨上了MongoDB,David mytton就在他的博客中揭露了MongoDB许多现存问题。然而恨的人有之偏爱的也同样很多,作为回击:Russell Smith带来了多年工作经验的总结。Russell Smith曾担任Ops和大型网站缩放顾问并且帮助过Guardian、Experian等多家公司,MongoDBLondonUserGroup的联合创始人。作为MongoDBMaster(MongoDB官方认可的MongoDB核心贡献者组织,并 阅读全文
posted @ 2014-03-21 21:23 valleylord 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 其实sharding也不是什么很新的数据库功能,更不是mongodb独有的,类似的oracle中的功能叫做分区表(partition table),目前多数互联网公司的数据库应该都使用了类似的技术,口头交流中也有人喜欢叫“分库分表”。其功能是,当一个集合(或者说oracle中的表)变的很大之后,可以把这个集合的数据分到2个数据库(即shards)中,这样不会导致数据库变得大到难以维护,同时自动实现读写和负载均衡,这样在集合持续变大的过程中,只需要增大数据库的个数即可。mongodb的sharding需要好几个服务,配置服务器(config server),路由进程(route process) 阅读全文
posted @ 2014-03-21 21:16 valleylord 阅读(1032) 评论(0) 推荐(0) 编辑
摘要: mongodb中是可以保存二进制文件的,其用于存储文件的文件系统叫做gridfs,有点类似hadoop的HDFS的感觉。gridfs的入门操作,如保存、查看、删除,还是比较简单的,也不需要复杂的配置,只要mongodb安装好就ok,我的mongodb已经安装好,使用默认的配置。XXXXX@XXXXX-asus:~$ ls -al mongodb_log_bak.log -rw-r--r-- 1 XXXXX XXXXX 122106 3月 21 14:18 mongodb_log_bak.logXXXXX@XXXXX-asus:~$ mongofiles --host localhost --. 阅读全文
posted @ 2014-03-21 15:05 valleylord 阅读(628) 评论(0) 推荐(0) 编辑
摘要: mongodb不愧是功能上都比较完备的NoSQL数据库,其高可用方面做的明显要好一些。主从复制的设置比较简单,关键是使用--master、--slave和--source参数,启动主从服务的命令如下XXXXX@XXXXX-asus:~$ sudo mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongodb.log --port 10000 --master --rest --nojournalall output going to: /var/log/mongodb/mongodb.loglog file [/var/ 阅读全文
posted @ 2014-03-15 14:20 valleylord 阅读(1344) 评论(0) 推荐(0) 编辑
摘要: 比较mongodb的集合在有索引和无索引的情况下的insert,update(包括update 1个文档和update所有文档这2种情况),find的性能差异。测试方法,先在集合中插入1000条原始数据,以此为基础,重复执行2000次的insert,update,find来做性能比较,由于find的速度比较快,实际中是采用10000条原始数据,重复执行100000来比较。测试的ruby代码如下#!/usr/bin/env ruby# 20140309, index_test.rb#### test index###require "rubygems"require &quo 阅读全文
posted @ 2014-03-09 18:14 valleylord 阅读(775) 评论(0) 推荐(0) 编辑
摘要: 以oracle的测试schema为例,emp和dept表,原始数据如下SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 ... 阅读全文
posted @ 2014-03-09 17:14 valleylord 阅读(1539) 评论(0) 推荐(0) 编辑
摘要: 问题:集合stu存放一所高等学校的学生选修成绩,包括学号以及各科(科目每人可能都不相同,无法固定),写出查询语句,找出有至少两门课达到90以上的同学名单首先需要有一个测试的数据集......我找到一个成绩的数据文件是:“东北林业大学2012年六月四六级成绩单(包含全校的成绩及其他语种).xls”,数据下载地址在这里这个文档中的数据太多了,我只截取了其中几列,分别是课程,学号,成绩,示例数据如下日语四级 092011050201668 0日语四级 092011050201678 0日语四级 ... 阅读全文
posted @ 2014-03-01 19:04 valleylord 阅读(1932) 评论(0) 推荐(0) 编辑
摘要: 老实说,我并不是很清楚为什么这3个要放在一起比较,inc和set有相似的地方,push和这2个感觉完全不一样啊。实验中用的是ruby的mongo_ruby_driver来写程序的,为了获得比较精确的数值,我使用了benchmark这个module,反复执行set,inc,push各3000次。代码如下#!/usr/bin/env ruby# 20140301, mongo_test.rb#### test inc, set, push###require "rubygems"require "mongo"require "benchmark&q 阅读全文
posted @ 2014-03-01 18:10 valleylord 阅读(2972) 评论(0) 推荐(0) 编辑
摘要: redis的持久化主要提供了2种方法,快照(snapshot)方法和AOF(append only)方法,做实验试一下这2种方法。快照方法是把redis内存中的数据在隔一段时间之后,fork一个子进程,在子进程中将内存中的数据写入存储。当然这种模式下,如果系统异常退出会出现数据的丢失,更严重的是因为要fork子进程,内存的消耗会在短时间内突然倍增。下面做实验来看一下,先从启动一个空的redis数据库开始xxxx@xxxx-computer:~$ ps -ef | grep redisxxxx 5071 4168 0 10:12 pts/0 00:00:00 grep --co... 阅读全文
posted @ 2014-02-16 09:08 valleylord 阅读(1440) 评论(0) 推荐(0) 编辑
摘要: 很困惑scheme中的fold-left和fold-right究竟是如何求值的。先看下面的代码> (fold-right / 1 (list 1 2 3))3/2> (fold-left / 1 (list 1 2 3))1/6很明显,对于+和*这种有交换律的运算,这2者的计算结果是没有什么区别的,但是对于-和/这样的没有交换律的运算,区别就很大了。对于上面2个调用,可以分别做如下展开> (fold-right / 1 (list 1 2 3))3/2> (/ 1 (/ 2 (/ 3 1)))3/2> (fold-left / 1 (list 1 2 3))1/6 阅读全文
posted @ 2014-02-12 14:23 valleylord 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 我使用的scheme解释器主要是petite chez scheme。解题过程中参考了:http://sicp.readthedocs.org/en/latest/index.html1.1和1.2基本没问题,除非你没看书......1.3(define ( x 0) (sqrt-iter 1.0 x)) ((= x 0) 0) (else -1)))1.8 求立方的procedure cbrt,如下,主要修改了improve和good-enough(define (cbrt x) (cond ((= x 0) 0) (else (cbr... 阅读全文
posted @ 2014-02-07 19:55 valleylord 阅读(1239) 评论(0) 推荐(0) 编辑