2016年04月07日

寝る前に読む、DynamoDB。「RDB技術者のためのNoSQLガイド」P236〜267より

寝る前に読む、DynamoDB。

○まとめ
・Provisioned Throughput Capacity
 テーブル毎に、Read,Writeそれぞれ、必要スループットキャパシティの値を
 アサイン可能。

・容量制限無し。ゆえ容量管理不要

・テーブル、アイテム、アトリビュート

アイテムはRDBのレコードのようなもの。
アイテムは、アトリビュートの集合。
(アトリビュートが列(名)、のようなもの)

・アイテム数(行数)に制限無し。
・アイテムサイズ(列の長さ)制限有り。
・アトリビュートの文字数 制限有り。
・アトリビュートには必ずデータ型がある。

・ワイドカラム型
代表的な使用方法・・JSONファイル挿入と出力
 DynamoDB JSON

・ハッシュキーとレンジキー

ハッシュキー
or
ハッシュキー+レンジキーの2通りの組み合わせしか無い。

・結果整合性の考え方
 Writeは2つのAZ(Availability Zone)に書き込み完了の確認がとれた時点で
 ACKを返す。

・[重要]Read
Consistent Readオプション
Readリクエストを受け取る前までのWriteが全て反映されたレスポンスを保証可能

◆参考
http://dev.classmethod.jp/cloud/aws/dynamodb-new-parameter-consistent-read/

・DynamoDB LocalをローカルにDLしよう。(明日にでも)





◎RDB技術者のためのNoSQLガイド:3,672円
RDB技術者のためのNoSQLガイド -
RDB技術者のためのNoSQLガイド -


◎Redis入門 インメモリKVSによる高速データ管理:3,672円
Redis入門 インメモリKVSによる高速データ管理 -
Redis入門 インメモリKVSによる高速データ管理 -


◎WEB+DB PRESS Vol.73:1,598円
特集 REDIS大活用は必見です。
まずは、これから読んでも良いと思います。

WEB+DB PRESS Vol.73 -
WEB+DB PRESS Vol.73 -


ちょっと別件の調べ物をしていて、参考になる情報があったのでメモ。
もう寝ます。
運用してわかった Amazon RDS のパフォーマンスを上げる 3 つのコツ
http://blog.manabusakai.com/2014/09/rds-performance-improvement/
posted by アンドレアス at 01:26| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2016年02月23日

Redis3.2-0.4 on CentOS6.7

●環境
CentOS6.6 --- redis-3.2-0.4
CentOS6.7 --- redis-3.2-0.4
-----
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum --enablerepo=remi,remi-test,epel install redis

# /etc/init.d/redis start

set jack 'jack buaer'
set renee 'renee walker'
set chloe 'chloe obrien'


get jack
get renee
get chloe





lrange tweet 0 100

lrange tweet 0 -1
lpush tweets "Hello"
lpush tweets "Put your hands on youre head now!"
lrange tweet 0 -1
lrange tweets 0 -1



zadd myzset 1 "Jack"
zincrby myzset 1 "Jack"
zrange myzset 0 -1 withscores

keys *
◆参考
https://siguniang.wordpress.com/2014/09/15/access-ranking-with-redis-sorted-sets/
http://qiita.com/hayashikun/items/01b0658b8fc2a57a47c3


◎RDB技術者のためのNoSQLガイド:3,672円
RDB技術者のためのNoSQLガイド -
RDB技術者のためのNoSQLガイド -


◎Redis入門 インメモリKVSによる高速データ管理:3,672円
Redis入門 インメモリKVSによる高速データ管理 -
Redis入門 インメモリKVSによる高速データ管理 -


◎WEB+DB PRESS Vol.73:1,598円
特集 REDIS大活用は必見です。
まずは、これから読んでも良いと思います。

WEB+DB PRESS Vol.73 -
WEB+DB PRESS Vol.73 -
posted by アンドレアス at 00:13| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2015年05月23日

REDIS + Ruby + CentOS7を使ってみる。

●まとめ
環境:REDIS + Ruby + CentOS7


redis-cli -h 10.102.10.61 debug populate 1000
redis-cli -h 10.102.10.61 -d "@" --raw mget key:100 key:200
redis-cli --scan --pattern "*00"
redis-cli -h 10.102.10.61 --scan --pattern "*00"
redis-cli -h 10.102.10.61 --scan --pattern "*11"
redis-cli -h 10.102.10.61 -r 3 -i 2 get key:100
redis-cli -h 10.102.10.61 -r 5 -i 2 get key:100
redis-cli -h 10.102.10.61 -d "@" --raw mget key:100 key:200
redis-cli -h 10.102.10.61 -r 5 -i 2 get j
redis-cli -h 10.102.10.61 --scan --pattern "*ck"
redis-cli -h 10.102.10.61 --scan --pattern "j*"
redis-cli -h 10.102.10.61 --scan --pattern "?a*"


●redis-cli対話環境

# redis-cli -h 10.102.10.61

10.102.10.61:6379> keys *

# redis-cli -h 10.102.10.61 keys "*"


10.102.10.61:6379>type j

10.102.10.61:6379>get j

●強力なmonitorコマンド・・・覚えること必須

●リスト コマンド
lrange list-key 0 -1
RPUSH 'list-key' '1st'
RPUSH 'list-key' '2nd'
RPUSH 'list-key' '3rd'
RPUSH 'list-key' '4th'
RPUSH 'list-key' '5th'
RPUSH 'list-key' '6th'
LPUSH 'list-key' '0 ZERO'
LPUSH 'list-key' '-1'
LPOP 'list-key'
LPOP 'list-key'
LPOP 'list-key'
lrange list-key 0 -1
LPOP 'list-key'
LPOP 'list-key'
lrange list-key 0 -1
lindex list-key 1
ltrim list-key 0 2


hmset 'hash-key' 'j' 'Jack Bauer' 'r' 'Renee Walker' 'c' 'Chloe Obrien'
hgetall hash-key
hmget hash-key 'j'
hlen hash-key
hdel hash-key c
hkeys hash-key
hvals hash-key
hgetall hash-key

●RubyのREDIS gemパッケージ
gem list
gem install ruby-redis
gem install redis
pwd
ls
systemctl enable redis
systemctl start redis
systemctl disable firewalld
systemctl stop firewalld

-----------------
@redis_rpush.rb
-----------------
#!/bin/ruby

require 'rubygems'
require 'redis'

redis = Redis.new(:host => "10.102.10.61", :port => 6379)

redis.rpush "fringe","Olivia Donamu"
redis.rpush "fringe","Peter Beshop"
redis.rpush "fringe","Walter Beshop"
puts redis.lrange "fringe",0,2

-----------------------
Aredis_rpush2.rb
-----------------------
#!/bin/ruby

require 'rubygems'
require 'redis'

redis = Redis.new(:host => "10.102.10.55", :port => 6379)
10.times {|i| redis.rpush("tweets","Tweet #{i}")}
puts redis.lrange "tweets",0,9


-------------------
Bredis_rpush3.rb
--------------------
#!/bin/ruby

require 'rubygems'
require 'redis'

re = Redis.new(:host => "10.102.10.55", :port => 6379)
10.times {|i| re.rpush("tweets","Tweet #{i}")}
puts re.lrange "tweets",0,9
puts "======================="
puts re.lrange "tweets",-3,-1


■参照:2015年1発目は、REDISから。
    redis-cliより、5つの型とコマンドをうってウォーミングアップ。
http://linuxcommand2007.seesaa.net/article/411967562.html

◎Redis入門 インメモリKVSによる高速データ管理:3,672円
Redis入門 インメモリKVSによる高速データ管理 -
Redis入門 インメモリKVSによる高速データ管理 -


◎WEB+DB PRESS Vol.73:1,598円
特集 REDIS大活用は必見です。
まずは、これから読んでも良いと思います。

WEB+DB PRESS Vol.73 -
WEB+DB PRESS Vol.73 -

posted by アンドレアス at 19:07| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2015年05月19日

Redis2.8 on CentOS7・・・リモートホストへのredis-cliコマンド

CentOS7を2台。あと1台、明日(は無理か・・)かあさって、
用意しよう。

○まとめ
■構成
10.102.10.55 ---redis-cli---> 10.102.10.61

[root@cent702 ~]# rpm -qa | grep redis
redis-2.8.19-1.el7.x86_64

●コマンド
# redis-cli -h 10.102.10.61 set jack bauer
# redis-cli -h 10.102.10.61 set renee walker
# redis-cli -h 10.102.10.61 get jack
# redis-cli -h 10.102.10.61 get renee

=================
/etc/redis.conf
================================
bind 10.102.10.55
================================

# systemctl stop redis
# systemctl status redis
# systemctl start redis

# cat ctu.txt
------------------------------
set jack bauer
set renee walker
set chloe obrien

# redis-cli -h 10.102.10.61 < ctu.txt

[root@cent702 ~]# redis-benchmark -c 1 -q
Writing to socket: Connection refused
All clients disconnected... aborting.
[root@cent702 ~]# redis-benchmark -c 1 -q -h 10.102.10.55
PING_INLINE: 39682.54 requests per second
PING_BULK: 40306.33 requests per second
SET: 38759.69 requests per second
GET: 39541.32 requests per second
INCR: 39016.78 requests per second
LPUSH: 38491.14 requests per second
LPOP: 39246.46 requests per second
SADD: 39603.96 requests per second
SPOP: 40833.00 requests per second
LPUSH (needed to benchmark LRANGE): 38461.54 requests per second
LRANGE_100 (first 100 elements): 23557.13 requests per second
LRANGE_300 (first 300 elements): 11510.13 requests per second
LRANGE_500 (first 450 elements): 8154.61 requests per second
LRANGE_600 (first 600 elements): 6139.87 requests per second
MSET (10 keys): 31766.20 requests per second

# yum -y install python-redis
# rpm -qa | grep python-redis
python-redis-2.10.3-1.el7.noarch

◎Redis入門 インメモリKVSによる高速データ管理:3,672円
Redis入門 インメモリKVSによる高速データ管理 -
Redis入門 インメモリKVSによる高速データ管理 -

◎WEB+DB PRESS vol.73:円
REDIS特集があります。必見!
WEB+DB PRESS Vol.73 -
WEB+DB PRESS Vol.73 -
posted by アンドレアス at 23:11| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2015年04月24日

朝からREDISの復習

朝からredis-cliしたり・・・・。

後で、ここ見る。
http://dev.classmethod.jp/cloud/aws/amazon-elasticache-redis-updated-to-2-8-19/


ElasticCache
memcached
REDIS replication機能,masterとread replica(昇格)

DynamoDB

・DBにセッションIDを保持する
 http://dev.classmethod.jp/cloud/amazon-dynamodb-tomcat-session-management/

 Tomcat,AWS SDK for Java

・スティッキーセッション
 方式は、アプリケーションサーバー発行のID or ロードバランサー発行のIDを。
 Tomcatの場合、jsessionid

・非スティッキーセッション


DynamoDB
セッションを保存するDynamoDBのテーブルを指定
http://dev.classmethod.jp/cloud/amazon-dynamodb-tomcat-session-management/

endpoint="AWSのFQDN"

・Tomcatは階層化されたコンテナによって管理されている

Tomcatがセッションの永続化を行う際に出てくるクラスが
PersistentManagerクラス



Tomcatでセッションクラスターする時はスティッキーセッションにしてくだ
saveOnRestartをtrueにすることで、サーバーに障害が発生した際にセッション情報を即座に永続化し


http://dev.classmethod.jp/cloud/amazon-dynamodb-tomcat-session-management/
$ sudo vi /usr/share/tomcat7/conf/context.xml



WEB-INF/web.xml




AWS Elastic BeanstalkでDynamoDBSessionManagerを使う
Beanstalkには拡張ポイントがありまして、設定ファイルを記述

最新のEclipseプラグインにアップデートすることでDynamoDBによるセッション管理をある程度自動化


◎Redis入門 インメモリKVSによる高速データ管理:3,672円
Redis入門 インメモリKVSによる高速データ管理 -
Redis入門 インメモリKVSによる高速データ管理 -

◎WEB+DB PRESS vol.73:円
REDIS特集があります。必見!
WEB+DB PRESS Vol.73 -
WEB+DB PRESS Vol.73 -
posted by アンドレアス at 07:41| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2015年01月07日

2015年1発目は、REDISから。redis-cliより、5つの型とコマンドをうってウォーミングアップ。

もう1週間経過したのか、早いですね〜。


# redis-cli
127.0.0.1:6379>

@STRING
set jack "Jack Bauer"
set renee Renee Walker
set chloe "Chloe Obrien"
get jack
get renee
get chloe


ALIST
rpush list-name "Jack Bauer"
rpush list-name "Renee Walker"
rpush list-name "Chloe Obrien"

lrange list-name 0 -1
1) "Jack Bauer"
2) "Renee Walker"
3) "Cloe Obrien"

lpop list-name
lpop list-name
lpop list-name
lrange list-name 0 -1

lindex list-name 0
lindex list-name 1
lindex list-name 2


BSET
sadd set-key jack
sadd set-key renee
sadd set-key chloe
sadd set-key tony
sadd set-key michelle

smembers set-key
1) "chloe"
2) "jack"
3) "tony"
4) "renee"
5) "michelle"

sismember set-key chloe
srem set-key chloe


CHASH
hset hash-name sub-name1 "Jack"
hset hash-name sub-name2 "Renee"
hset hash-name sub-name1 "Jack"
hgetall hash-name
hset hash-name jack "Jack"
hset hash-name renee "Renee"
hset hash-name chloe "Chloe"
hget hash-name chloe
hget hash-name jack
hdel hash-name chloe
hdel hash-name sub-name1
hdel hash-name sub-name2
hget hash-name jack
hgetall hash-name


DZSET
zadd zset-key 728 member1
zadd zset-key 982 member0
zrange zset-key 0 -1 withscores
zrangebyscore zset-key 0 800 withscores
zrem zset-key member1
zrange zset-key 0 -1 withscores


◎Redis入門 インメモリKVSによる高速データ管理:3,672円
Redis入門 インメモリKVSによる高速データ管理 -
Redis入門 インメモリKVSによる高速データ管理 -


◎WEB+DB PRESS Vol.73:1,598円
特集 REDIS大活用は必見です。
まずは、これから読んでも良いと思います。

WEB+DB PRESS Vol.73 -
WEB+DB PRESS Vol.73 -
posted by アンドレアス at 23:02| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2014年07月02日

ApacheログをFluentdでMongoDBサーバに。fluent-plugin-mongoでMongoDBに登録、をやってみる。

さて、やるか。

◎環境
 OS:CentOS6.5
 MongoDB:CentOS6.5に yumインストール。
 参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat-centos-or-fedora-linux/

・64bitの場合
# vi /etc/yum.repos.d/mongodb.repo
----------------------
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
----------------------
# yum -y install mongodb-org


□参考:Fedora20の場合
WEB+DBPRESSvol75 特集2 MongoDB実践入門とSOFTWAREDESIGN 2012年6月号 第2特集 Fluentdで実現大規模データのログ収集&活用、を読みながら、詳細なところを確認してゆく
http://linuxcommand2007.seesaa.net/archives/20140620-1.html


■今回の達成したい内容

Webサーバ(Apache)
Apacheログ
FluentdでMongoDBサーバに。


・MongoDBサーバ
fluent-plugin-mongoで
MongoDBに



つづく・・・。


◎WEB+DBPRESSvol75 特集2 MongoDB実践入門:1,598円
WEB+DB PRESS Vol.75 -
WEB+DB PRESS Vol.75 -

◎"MongoDBイン・アクション:3,672円
MongoDBイン・アクション -
MongoDBイン・アクション -
posted by アンドレアス at 16:07| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2014年06月26日

MongoDBのレプリケーションとシャーディングの確認を行う(2)

MongoDBのシャーディングも成功。

レプリカセットのイニシャライズを
忘れずに実施すれば、
簡単にシャーディング可能ですね。


○環境・・・1台のVM上
OS:CentOD6.5

20140626MongoDBシャーディング成功.txt


◎WEB+DBPRESSvol75 特集2 MongoDB実践入門:円
WEB+DB PRESS Vol.75 -
WEB+DB PRESS Vol.75 -

◎"MongoDBイン・アクション:円
MongoDBイン・アクション -
MongoDBイン・アクション -
posted by アンドレアス at 23:15| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2014年06月24日

MongoDBのレプリケーションとシャーディングの確認を行う(1)

昨年秋ころにもやった気がしますが、
既に、記憶が薄れているため、確認。

レプリケーションはできました。

設定ファイルに、落とし込むのは、後で。

○環境・・・1台のVM上で、Mongod プロセスを3つ
OS:CentOD6.5

# mongod --dbpath=/data/node1 --replSet=ReplicaSet001 --port=27018 --fork --nojournal --noprealloc --logpath /var/log/mongodb27018.log

# mongod --dbpath=/data/node2 --replSet=ReplicaSet001 --port=27019 --fork --nojournal --noprealloc --logpath /var/log/mongodb27019.log

# mongod --dbpath=/data/node3 --replSet=ReplicaSet001 --port=27020 --fork --nojournal --noprealloc --logpath /var/log/mongodb27020.log


# mongo --port=27018

> var config = { "_id" : "ReplicaSet001", "version" : 1, "members" : [ { "_id" : 0, host : "127.0.0.1:27018" }, { "_id" : 1, host : "127.0.0.1:27019" }, { "_id" : 2, host : "127.0.0.1:27020" } ] }

> rs.initiate(config)

okが戻れば、成功。

Primary,Secondaryを以下で知ることが可能。

> rs.status()

ReplicaSet001:OTHER> rs.status()
{
"set" : "ReplicaSet001",
"date" : ISODate("2014-06-23T15:10:23Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "127.0.0.1:27018",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 401,
"optime" : Timestamp(1403536183, 1),
"optimeDate" : ISODate("2014-06-23T15:09:43Z"),
"electionTime" : Timestamp(1403536191, 1),
"electionDate" : ISODate("2014-06-23T15:09:51Z"),
"self" : true
},
{
"_id" : 1,
"name" : "127.0.0.1:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 40,
"optime" : Timestamp(1403536183, 1),
"optimeDate" : ISODate("2014-06-23T15:09:43Z"),
"lastHeartbeat" : ISODate("2014-06-23T15:10:23Z"),
"lastHeartbeatRecv" : ISODate("2014-06-23T15:10:21Z"),
"pingMs" : 0,
"syncingTo" : "127.0.0.1:27018"
},
{
"_id" : 2,
"name" : "127.0.0.1:27020",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 40,
"optime" : Timestamp(1403536183, 1),
"optimeDate" : ISODate("2014-06-23T15:09:43Z"),
"lastHeartbeat" : ISODate("2014-06-23T15:10:23Z"),
"lastHeartbeatRecv" : ISODate("2014-06-23T15:10:23Z"),
"pingMs" : 0,
"syncingTo" : "127.0.0.1:27018"
}
],
"ok" : 1
}
ReplicaSet001:PRIMARY>


# ps auxw | grep mongo で表示された
PrimaryのMongoDBのプロセスIDを
killすると、
Primaryが別のサーバに変化することが確認できた。

◎WEB+DBPRESSvol75 特集2 MongoDB実践入門:円
WEB+DB PRESS Vol.75 -
WEB+DB PRESS Vol.75 -

◎"MongoDBイン・アクション:円
MongoDBイン・アクション -
MongoDBイン・アクション -

posted by アンドレアス at 06:10| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2014年02月18日

(レビュー追記)本日発売、Software Design (ソフトウェア デザイン) 2014年 03月号とWeb Designing (ウェブデザイニング) 2014年 03月号を、午前中に買いに走ることにする。特集2の「プロキシサーバの教科書」かなり、期待してる!

パララックスは視差効果のことですが、
今月のWeb Designing (ウェブデザイニング) 、面白そうですね。

そして、Software Design (ソフトウェア デザイン) 2014年 03月号ですが、
私は、特集1のNoSQLとMySQLより、
特集2の「プロキシサーバの教科書」を、読みたいですね。

かなり、期待しています。


★PM22:37追記

@Software Design (ソフトウェア デザイン) 2014年 03月号

・P3カラーページのPrioVRが面白そう。
 使いたい!分類上は、全身センサー ゲーム向けモーションキャプチャーデバイス、
 だそうですが、Kinectと異なり、位置・環境にかかわらず、
 少ない遅延で正確なデータ取得可能らしい。
 この写真のポーズがゲームに反映してるんですが、いいなー。

・特集1 RDBとNoSQLどちらを選びますか?
 小野哲氏や奥野幹也氏など著名な方の記事です。
 (今から読みます)
 4章が、パイプドビッツの林 さんですが、個人的には、
 これが一番面白いというか、興味深いというか。
 例のAKB選挙のVoltDBが出てきます。
 扱っているのが、ユニークなネタゆえに、興味深いです。

(追記中・・・)




AWeb Designing (ウェブデザイニング) 2014年 03月号

・やはり、「パララックスを究める」ですね、1番面白いのは。
 勉強になるし、役立つし。

P48では、ここが取り上げられてます。
最もポピュラーな縦方向の動き。
(レスポンシブ・ウェブ・デザインでは無いようですが)
http://www.lecoldeclaudine.com/fr

P49のサンプルの、これも、いいですねー。
センス良い。URLが長いけど(^^)
http://www.superbotentertainment.com/

おっとー、これ、すげえーっ!

ロボットが、でっかくなってくるー。

すご。



これは、横方向の動きですね。
http://www.latabladegisela.com/#ganador


ジャイロスコープ内蔵スマホ持ってると、
下記を見ても面白いよー。
http://wagerfield.github.io/parallax/


スマホでパララックス効果を使いたい場合は、この
stellar.jsが良いらしい。

http://markdalgleish.com/projects/stellar.js/


◎Software Design (ソフトウェア デザイン) 2014年 03月号:1,280円
Software Design (ソフトウェア デザイン) 2014年 03月号 [雑誌] [雑誌] / 技術評論社 (刊)

◎Web Designing (ウェブデザイニング) 2014年 03月号
1,470円

Web Designing (ウェブデザイニング) 2014年 03月号 [雑誌] [雑誌] / マイナビ (刊)


◎WEB+DB PRESS Vol.79:1,554円WEB+DB PRESS Vol.79 [大型本] / 成瀬 ゆい, そらは(福森 匠大), 西 磨翁, 小川 航佑, 佐藤 新悟, 塚越 啓介, 藤原 亮, 堀 哲也, 田村 孝文, 桑野 章弘, 松浦 隼人, 中村 俊之, 田中 哲, 福永 亘, 杉山 仁則, 伊藤 直也, 登尾 徳誠, 近藤 宇智朗, 若原 祥正, 松木 雅幸, 奥野 幹也, 後藤 秀宣, 羽二生 厚美, 笹田 耕一, 平河 正博, 東舘 智浩, 渡邊 恵太, 中島 聡, A-Listers, はまちや2, 川添 貴生, 山田 育矢, 伊藤 友隆, 村田 賢太, まつもと ゆきひろ, 佐野 岳人, 山口 恭兵, 千葉 俊輝, 平松 亮介 (著); WEB+DB PRESS編集部 (編集); 技術評論社 (刊)

posted by アンドレアス at 00:42| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2013年05月01日

Ubuntu10.04にREDISをインストールした。

昼間に、CentOS6.2で、REDISのソースを
コンパイルインストールし、Replicationまで
確認できた。

今度は、家のUbuntu10.04で。

# apt-get install redis-server redis-doc
# apt-get install python-redis

# ps axuw | grep redis
redis 2206 0.0 0.0 2284 740 ? Ss 00:21 0:00 /usr/bin/redis-server /etc/redis/redis.conf
root 2439 0.0 0.0 2892 888 pts/3 S+ 00:26 0:00 grep --color=auto redis


目的の1つは、Pythonでのデータ投入であったが、
確認できた。

細かい内容は、明日またアップします。

◎WEB+DB PRESS Vol.73:1,554円
WEB+DB PRESS Vol.73 [大型本] / 設樂 洋爾, 白土 慧, 奥野 幹也, 佐藤 鉄平, 後藤 秀宣, mala, 中島 聡, 堤 智代, 森田 創, A-Listers, はまちや2, 大和田 純, 松田 明, 後藤 大輔, ひろせ まさあき, 小林 篤, 近藤 宇智朗, まかまか般若波羅蜜, Mr. O (著); WEB+DB PRESS編集部 (編集); 技術評論社 (刊)

◎NoSQLデータベースファーストガイド:2,310円NoSQLデータベースファーストガイド [大型本] / 佐々木 達也 (著); 秀和システム (刊)

posted by アンドレアス at 00:40| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2013年04月11日

"Faster" after using index of numbers collection in "MongoDB in Action"

Indexをつける前・後で、
著しく検索速度に変化が出る簡単なサンプルが
「MongoDB in Action」に出てきますが、
これは、私のマシンでの前後比較です。


Before

> db.numbers.find({num:{"$gt":1999995}}).explain()
{
"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 4,
"nscannedObjects" : 2000000,
"nscanned" : 2000000,
"nscannedObjectsAllPlans" : 2000000,
"nscannedAllPlans" : 2000000,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 3,
"nChunkSkips" : 0,
"millis" : 536,
"indexBounds" : {

},
"server" : "localhost.localdomain:27017"
}

After
> db.numbers.find({num:{"$gt":1999995}}).explain()
{
"cursor" : "BtreeCursor num_1",
"isMultiKey" : false,
"n" : 4,
"nscannedObjects" : 4,
"nscanned" : 4,
"nscannedObjectsAllPlans" : 4,
"nscannedAllPlans" : 4,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 0,
"indexBounds" : {
"num" : [
[
1999995,
1.7976931348623157e+308
]
]
},
"server" : "localhost.localdomain:27017"
}

You can understand the necessity of "INDEX".



◎MongoDBイン・アクション:3,570円
MongoDBイン・アクション [大型本] / Kyle Banker (著); Sky株式会社 玉川 竜司 (翻訳); オライリージャパン (刊)

◎WEB+DB PRESS Vol.66:1,554円
WEB+DB PRESS Vol.66 [大型本] / 猪狩 丈治, じゅんいち☆かとう, 大和田 純, 白土 慧, みやけん, 小野 修司, 個々一番, 中島 聡, おにたま, 角田 直行, 久保 達彦, はまちや2, 竹内 真, 高井 真也, 成田 一生, ココロ社, 小飼 弾, ミック, 太田 昌吾 (著); WEB+DB PRESS編集部 (編集); 技術評論社 (刊)

サイバーエージェントを支える技術者たち
【第7回】MongoDB最前線! 効果的なシャーディングとバックアップ……
posted by アンドレアス at 21:43| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2013年03月31日

SDN,OpenFlowに関連して、Cassandra本を買ってきました。

なぜCassandra?と思う人もいるかと思いますが・・。

SDN,OpenFlowに、NoSQLは関係無いやろー、というのが
一般人の考えでしょうが、当たり前のごとく、
データベースというものがOpenFlowを利用する際に存在し、
じゃあ、何を使うのか?と聞かれると、
「MySQLとか?」くらいの返答しかできないのが
大半のエンジニアの現状かと・・。

◎Cassandra実用システムインテグレーション :3,360円
Cassandra実用システムインテグレーション (NEXT-ONE) [大型本] / 中村 寿一, 長田 伊織, 谷内 隼斗, 藤田 洋, 森井 幸希, 岸本 康二 (著); 翔泳社 (刊)

ちょうど、SOFTWARE DESIGNの総集編も発売開始となったので、
こちらも、後で買いに行きます。

今月も書籍費は、数万円を超えそうです。
(数万円といっても、2万とか3万レベルではありません。)


◎Software Design 総集編 【2001~2012】:2,079円
Software Design 総集編 【2001~2012】 [大型本] / SoftwareDesign 編集部 (著); 技術評論社 (刊)

これは、お買い得すぎます。
(WEB+DB PRESSの総集編とまとめて買うと、
 新入社員の人は、特に有用です)


◎WEB+DB PRESS 総集編 [Vol.1~60]:2,699:円WEB+DB PRESS 総集編 [Vol.1〜60] [大型本] / 森田 創, cho45, ミック, 増井 俊之, 山本 陽平, 角谷 信太郎, 中島 拓, 縣 俊貴, 大塚 知洋, 伊藤 直也, 小飼 弾 (著); WEB+DB PRESS編集部 (編集); 技術評論社 (刊)


総集編のコストパフォーマンスの高さは、
有名ですので、レビューも読んでみてください。

posted by アンドレアス at 11:12| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年10月27日

(簡易アナウンス)MongoDBセミナーのメモ。参考になる人、できる人は、どうぞ

メモです。

参考になる人は、それほど多くないと思いますが。


Fedora15にMOngoDBは、5分あれば、
インストール可能です。





・Python,django
・ColumnarDB・・・Hbase,Cassandra
・Neo4j,FlockDB
・Grapf DB(Tech総研以来です。また、出てきましたね)
・Fluent(fluentd)
・MongoDBはPHPのドライバがバグ。PythonのドライバはOK。
・Apacheのログは、画像やcssの無駄なログがほとんど。
・アクセスログではなく、アクションログを解析することが必要なこと
 ログからノイズをどれだけ、減らせるか。
・ログ送信のクラスを作成
・インデックスをはる(帰ってから、やる。まだやってないな(^^))
・環境がないので、関心があっても多くの人は、解析を経験できる機会がない。
・fire-andtarget
・バルクinsertもできる
・Capistrano,RedBull
・MongoDBのレプリカセットは3台1セット
・MongoDBは、アプリケーション側から使いやすいDB
・チャンク分け、正規化
・MongoDBは64bit推奨
・シャーディング(帰ってからやる。まだやってないな(^^))
・インストール簡単(確かに簡単だった。5分ちょっとでOK)
・MongoDBはjoinがないけど、タグembedあり。
・クエリが豊富
・3台中、1,2に偏るので、「手動」で移動させたりしているらしい(^^)
・enable shardingコマンド
・shard1にアクセスログ
 shard2にアクセスログ
db.printSharding
Status
・Mongo1.8は○。Mongo2は、まだダメ。




◎MongoDB: The Definitive Guide :3,205円
MongoDB: The Definitive Guide [ペーパーバック] / Kristina Chodorow, Michael Dirolf (著); Oreilly & Associates Inc (刊)



◎50 Tips and Tricks for MongoDB Developers:2,243円
50 Tips and Tricks for MongoDB Developers [ペーパーバック] / Kristina Chodorow (著); Oreilly & Associates Inc (刊)




◎Scaling MongoDB :2,403円
Scaling MongoDB [ペーパーバック] / Kristina Chodorow (著); Oreilly & Associates Inc (刊)


◎Document Design for Mongodb :円Document Design for Mongodb [Perfect] / Oreilly & Associates Inc (刊)aq
posted by アンドレアス at 10:24| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年10月24日

(仮タイトル)3分から5分でインストール設定を終えて稼動させるMongoDB

さっそく、MongoDBを稼動させてみます。

確か、以前ブログでやっているはずです。

なぜそう思うかというと、
オライリーの英語本を持っているからです。

ちなみに、オライリーのCouchDB(英語本)は、
3冊出ていますが
3冊とも購入済みですが、残念ながら、なかなか
消化できていません。


◎MongoDB: The Definitive Guide :3,205円
MongoDB: The Definitive Guide [ペーパーバック] / Kristina Chodorow, Michael Dirolf (著); Oreilly & Associates Inc (刊)


さて、Fedora15でyumでインストールできました。

あっさり終了。

# yum -y install mongodb

(追加)・・・何とmongodb-serverまでありました

# yum -y install mongodb-server


# rpm -qa | grep mongo
mongodb-server-1.8.0-6.fc15.i686
mongodb-1.8.0-6.fc15.i686
libmongodb-1.8.0-6.fc15.i686



# rpm -ql mongodb
/usr/bin/bsondump
/usr/bin/mongo
/usr/bin/mongodump
/usr/bin/mongoexport
/usr/bin/mongofiles
/usr/bin/mongoimport
/usr/bin/mongorestore
/usr/bin/mongosniff
/usr/bin/mongostat
(以下省略)



# rpm -ql mongodb-server
/etc/logrotate.d/mongodb
/etc/mongodb.conf
/etc/rc.d/init.d/mongod
/usr/bin/mongod
/usr/bin/mongos

/usr/lib/tmpfiles.d/mongodb.conf
/usr/share/man/man1/mongod.1.gz
/usr/share/man/man1/mongos.1.gz
/var/lib/mongodb
/var/log/mongodb
/var/run/mongodb


mongodb-serverを起動します。

# /etc/init.d/mongod start
Starting mongod (via systemctl): [ OK ]


ユーザーアカウントで、
mongodbクライアントから接続します。

$ /usr/bin/mongo
MongoDB shell version: 1.8.0
connecting to: test



> show dbs
admin (empty)
foobar 0.0625GB
local (empty)

> show users

> show collections
blog
system.indexes


> show profile
db.system.profile is empty
Use db.setProfilingLevel(2) will enable profiling
Use db.system.profile.find() to show raw profile entries


ひとまず、終了。
インストールと起動は、
把握していれば、5分あれば、
十分、完了しそうですね。



これ以降の準備です。

■P160のNew Aggregator:PHP用

# pecl install mongo

■P164のCustom Submission Forms:Ruby用
# gem install mongo

bson-1.4.1.gem と mongo-1.4.1.gemが
インストールされるようです。

■P168のReal-Time Analytics:Python用


# easy_install pymongo







◎50 Tips and Tricks for MongoDB Developers:2,243円
50 Tips and Tricks for MongoDB Developers [ペーパーバック] / Kristina Chodorow (著); Oreilly & Associates Inc (刊)




◎Scaling MongoDB :2,403円
Scaling MongoDB [ペーパーバック] / Kristina Chodorow (著); Oreilly & Associates Inc (刊)


◎Document Design for Mongodb :円Document Design for Mongodb [Perfect] / Oreilly & Associates Inc (刊)aq
posted by アンドレアス at 23:19| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年10月03日

(再掲)120分くらいで学ぶNoSQL・・・CouchDB インストールと基本操作、CouchAppでのWebアプリケーション作成(その1)

環境:Fedora15
日時:2011/10/3(Mon)
NoSQL:CouchDB
天気 :晴れ


×ソースからのインストール(時間かかるので、一旦中止)

$ ./configure
$ make
# make install

# useradd -d /var/lib/couchdb couchdb
# chown -R couchdb:couchdb /var/lib/couchdb /var/log/couchdb


$ xulrunner -v
Mozilla XULRunner 6.0 - 20110816220020

*後日、時間がある時に実施します。



◎yumインストール(これでいきます。簡単、速い!)

# yum -y install couchdb

Erlang関連のパッケージがインストールされます。

# /etc/init.d/couchdb start

URLアクセス
http://127.0.0.1:5984/
http://127.0.0.1:5984/_utils/


◎CouchDB基本操作
1.
$ curl -X PUT http://127.0.0.1:5984/relaxdb
↓結果
{"ok":true}

2-1.入力ミス例

$ curl -X POST -d '{"data":"sample data","Content-type:application/json;charset=UTF-8' http://127.0.0.1:5984/relaxdb
↓結果
{"error":"bad_content_type","reason":"Content-Type must be application/json"}


2-2.修正後、成功
$ curl -X POST -d '{"data":"sample data"}' -H 'Content-type:application/json;charset=UTF-8' http://127.0.0.1:5984/relaxdb
{"ok":true,"id":"3b1346a8daf0652404743411880000a5","rev":"1-b49a1d700b7afe288520169b9811e29f"}


3.
mydata.json
--------------
{
"_id":"mydata",
"_attachments":{
"index.html":{
"data":"PGh0bWw+Cjxib2R5PkxldCdzIHJlbGF4PC9ib2R5Pgo8L2h0bWw+Cg==",
"content_type":"text/html"
}
}
}


index.html
--------------

Let's relax



index.html --> $ openssl base64 -in index.html


$ curl -X POST -H 'Content-type:application/json;charset=UTF-8' -d @mydata.json http://127.0.0.1:5984/relaxdb
{"ok":true,"id":"mydata","rev":"1-4fb91ff238a2618e3b5e79ef3f9a772b"}


curl -X POST -H 'Content-type:application/json;charset=UTF-8' -d @mydata.json http://127.0.0.1:5984/relaxdb



練習1
mydata2.json
--------------
{
"_id":"jackdata",
"_attachments":{
"index.html":{
"data":"PGh0bWw+Cjxib2R5PkxldCdzIHJlbGF4PC9ib2R5Pgo8L2h0bWw+Cg==",
"content_type":"text/html"
}
}
}


index.html
--------------

Let's relax



index.html --> $ openssl base64 -in index.html

$ curl -X POST -H 'Content-type:application/json;charset=UTF-8' -d @mydata2.json http://127.0.0.1:5984/relaxdb
{"ok":true,"id":"jackdata","rev":"1-d3c523a1b93546209f97f26fee096221"}


$ curl -X POST -H 'Content-type:application/json;charset=UTF-8' -d @mydata3.json http://127.0.0.1:5984/relaxdb
{"ok":true,"id":"tonydata","rev":"1-cf323f915c2b7842fb2bb2191efbf7f7"}

$ curl -X POST -H 'Content-type:application/json;charset=UTF-8' -d @mydata4.json http://127.0.0.1:5984/relaxdb
{"ok":true,"id":"chloedata","rev":"1-26b0ff0ad99f7be270bcf77587c258ab"}



◎CouchAppのインストール

CouchApp
http://couchapp.org/page/index

インストール
http://couchapp.org/page/installing

$ curl -O http://python-distribute.org/distribute_setup.py

# python distribute_setup.py
# easy_install pip
# pip install couchapp

$ couchapp generate myapp
$ cd myapp/
$ ls -la
$ couchapp push http://127.0.0.1:5984/relaxdb




◎CouchDB: The Definitive Guide:3205円

CouchDB: The Definitive Guide [ペーパーバック] / J. Chris Anderson, Jan Lehnardt, Noah Slater (著); Oreilly & Associates Inc (刊)



◎Writing and Querying MapReduce Views in CouchDB:2403円
Writing and Querying MapReduce Views in CouchDB [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)


◎Getting Started With Couchdb:2418円
Getting Started With Couchdb [ペーパーバック] / M. C. Brown (著); Oreilly & Associates Inc (刊)



◎みてわかるクラウドマガジンvol.3:1500円

 P31〜P54 「進化するNoSQL」を読んで、自分なりに得意なNoSQLは
 これ!というのを1つ2つスキルとして身につけておくと良いでしょうね。

みてわかるクラウドマガジンvol.3 (日経BPパソコンベストムック) [大型本] / 日経Linux (編集); 日経BP社 (刊)
posted by アンドレアス at 21:52| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年09月02日

Fedora15 + Cassandra0.8.4

ソースダウンロードし、解凍展開、移動。

・Read "README.txt"
☆以下、rootでなくても、良い。

# mkdir -p /var/log/cassandra
# chown -R `whoami` /var/log/cassandra
# mkdir -p /var/lib/cassandra
# chown -R `whoami` /var/lib/cassandra
解凍展開したディレクトリ内のbinに移動し、

# cassandra -f

[補足]
host name unknown:と出て起動できない場合、
#vi /etc/hosts に
hostnameコマンドで表示されるFQDNを
127.0.0.1行のところに、追記。
(DNS登録して、名前解決できてれば、こんなことしなくて良いはず)

これで再度起動すると成功するはずです。

(つづきは、後で)




■追加課題:Hadoopが必要みたいだが、
 Apache Mahout環境の構築手順を調べる



■参考資料
◎Cassandra: The Definitive Guide:3205円
Cassandra: The Definitive Guide [ペーパーバック] / Eben Hewitt (著); Oreilly & Associates Inc (刊)



◎ビッグデータを征す クラウドの技術 Hadoop&NoSQL:2415円
ビッグデータを征す クラウドの技術 Hadoop&NoSQL [大型本] / ASCII.technologies集部 (編集); アスキー・メディアワークス (刊)
posted by アンドレアス at 09:04| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年06月04日

「みなさんもお気づきと思うけど、このところAPIがブームだ。」とTechCrunchニュースにも出てきたぞ!

「みなさんもお気づきと思うけど、このところAPIがブームだ。」
http://htn.to/CGSvHQ

紹介されたmashapeって、ここです。
http://www.mashape.com/

画面をクリックすると、Amazon S3へからデータを
取得しようとしているリンクが表示さえたりしているのが
見えますね。


●このニュースを知った「あまちゃんです」さんのTwitter
https://twitter.com/#!/amachang

あまちゃんです、さんは、子飼弾さんの「アルファ・ギークにあってきた」にも
出ていた、あの、「あまちゃん」さんだと思う。



API本は、最近、こういうのも発売されました。
かなり簡単で、やさしい解説です。
「アフィリエイターのための」とあるように
アフィリエイトをやっている人の知恵袋の本ですね。


アフィリエイターのための Web APIプログラミング入門 [単行本(ソフトカバー)] / 脇村 隆 (著); ビー・エヌ・エヌ新社 (刊)

今後、APIという形でプログラムをし始めた人が増えるでしょうね。

きっかけは、何でもいいわけですから。



一番楽しめるAPI本は、これですね、私の場合。
MdNから出版しているだけあって、ページも綺麗ですよ。

◆ソーシャル”なサイト構築のためのWeb API コーディング :2415円
Twitter・Facebook・YouTube・Ustream── ”ソーシャル”なサイト構築のためのWeb API コーディング [単行本] / MdN編集部 (編集); MdN (刊)
posted by アンドレアス at 15:38| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年05月31日

NoSQLの中からmemcacheを学ぶ(その2)・・・簡単なPerlとPHPの例文から学ぶ

◆Perlでmemcachedを使用する

#!/usr/bin/perl

use strict;
use Cache::Memcached;

my $memcached = Cache::Memcached->new({
servers => ["127.0.0.1:11211"]
});

$memcached->add('jack', 'bauer');
print $memcached->get('jack');
print "\n\n";


jackがキーで、bauerをバリューにしています。


◆PHPでmemcachedを使用する



connect('localhost', 11211) or die('connect failed.');

$memcache->set('Renee', 'Walker');

$get = $memcache->get('Renee');
echo $get;
echo "\n";

$memcache->close();
?>


Reneeがキー、Walkerがバリューです。





●NoSQLデータベースファーストガイド:2310円

NoSQLデータベースファーストガイド [大型本] / 佐々木 達也 (著); 秀和システム (刊)

●ビッグデータを征す クラウドの技術 Hadoop&NoSQL :2415円
ビッグデータを征す クラウドの技術 Hadoop&NoSQL [大型本] / ASCII.technologies集部 (編集); アスキー・メディアワークス (刊)






★予備情報

・memcache-client
 2010年8月をもって非推奨に

・Dalli は、memcache-client の後継。
 高速な Ruby の Memcached ライブラリ。
 Memcached バージョン 1.4 以降のみサポート


http://pentan.info/perl/memcached.html
posted by アンドレアス at 21:51| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

NoSQLの中からmemcacheを学ぶ(その1)

●memcache関連インストール

ruby,php,perl関連モジュール

★dagをレポジトリに登録済みです。

yum -y install memcached enablerepo=dag

/etc/init.d/memcached start

gem install memcache-client

pear install http://pecl.php.net/get/memcache-2.2.5.tgz


perl -MCPANPLUS -e shell


●NoSQLデータベースファーストガイド:2310円

NoSQLデータベースファーストガイド [大型本] / 佐々木 達也 (著); 秀和システム (刊)

●ビッグデータを征す クラウドの技術 Hadoop&NoSQL :2415円
ビッグデータを征す クラウドの技術 Hadoop&NoSQL [大型本] / ASCII.technologies集部 (編集); アスキー・メディアワークス (刊)
posted by アンドレアス at 07:13| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年05月19日

今、NoSQL関連書籍が売れています。「NoSQLデータベース」


★NoSQLデータベースファーストガイド:2310円

 NoSQLを、すばやく試したい人向けです。

 「できるNoSQL」とかいう書籍は、まだ発売していません。

 代わりに1冊欲しい人向けですね。(^^)

CouchDBは出ていませんが、私が一番関心を持ったのは、
 MongoDBではなく・・ HandlerSocketをMySQLに組み込む、です。

 MySQLのスピードアップに関心のある人は、目を通すべきと思いますが、
 会社費用で買ってもらうと良いでしょうね。

 とりあげられているのは、memcached、Tokyo Tyrant、Redis、MongoDBで、
 パフォーマンス比較もありますから、ぜひ一読を!

NoSQLデータベースファーストガイド [大型本] / 佐々木 達也 (著); 秀和システム (刊)




●ビッグデータを征す クラウドの技術 Hadoop&NoSQL
 連載をまとめたもので、お買い得です。
 特にCassandra のページが結構ページ数あります。
 ゆえ、Cassandraに関心ある人には、ちょうど良いレベルかも。

 
ビッグデータを征す クラウドの技術 Hadoop&NoSQL [大型本] / ASCII.technologies集部 (編集); アスキー・メディアワークス (刊)



●「NoSQLデータベースファーストガイド」著者のささたつ さんのブログ。
  http://blog.livedoor.jp/sasata299/archives/51645652.html

●ささたつさんのgihyo.jp 連載「NoSQLデータベースを試してみる」
  http://gihyo.jp/dev/serial/01/various-nosql

目次
1 NoSQLデータベースの基礎知識
1-1 リレーショナルデータベースとNoSQLデータベース
1-1-1 「NoSQL」とは?

1-1-2 リレーショナルデータベース小史

1-1-3 データベースの分類

1-1-4 リレーショナルデータベースの強み

1-1-5 リレーショナルデータベースの弱み

1-1-6 NoSQLデータベース

1-2 NoSQLデータベースにはどんなものがあるのか
1-2-1 key-valueストア

1-2-2 ドキュメント指向データベース

1-2-3 列指向データベース

1-3 NoSQLデータベースの導入をどうとらえるか
1-3-1 あくまでも選択肢の一つ

1-3-2 どこまで信頼してよい?

2 NoSQLデータベースの種類と特徴
2-1 memcached(揮発性key-valueストア)
2-1-1 memcachedとは?

2-1-2 なぜmemcachedを使うのか

2-1-3 特徴とユースケース

2-1-4 導入手順

2-1-5 動作を確認する

2-1-6 各種言語用ライブラリ

2-1-7 関連ツール

2-2 Tokyo Tyrant(永続性key-valueストア)
2-2-1 Tokyo Tyrantとは?

2-2-2 なぜTokyo Tyrantを使うのか

2-2-3 特徴とユースケース

2-2-4 導入手順

2-2-5 動作を確認する

2-2-6 各種言語用ライブラリ

2-2-7 関連ツール

2-3 Redis(揮発性/永続性key-valueストア)
2-3-1 Redisとは?

2-3-2 なぜRedisを使うのか

2-3-3 特徴とユースケース

2-3-4 導入手順

2-3-5 動作を確認する

2-3-6 各種言語用ライブラリ
posted by アンドレアス at 06:34| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年05月10日

NoSQL本「NoSQLデータベースファーストガイド」が、結構、売れていたのを目撃した。まあ、NoSQLと名乗る日本語本は、他にないですからね!


★NoSQLデータベースファーストガイド:2310円
 目次は下にあります。
 NoSQLを、すばやく試したいけど、
 「できるNoSQL」とかいう書籍は発売していないから、
 適当な本が1冊欲しい人向けですね。(^^)
CouchDBは出ていないけど、私が一番関心を持ったのは、
 MongoDBではなく・・ HandlerSocketをMySQLに組み込む、です。

 MySQLのスピードアップに関心のある人は、目を通すべきと思いますが、
 会社費用で買ってもらうと良いでしょうね。

 とりあげられているのは、memcached、Tokyo Tyrant、Redis、MongoDBで、
 パフォーマンス比較もありますから、ぜひ一読を!

NoSQLデータベースファーストガイド [大型本] / 佐々木 達也 (著); 秀和システム (刊)




●ビッグデータを征す クラウドの技術 Hadoop&NoSQL
 連載をまとめたもので、お買い得です。
 特にCassandra のページが結構ページ数あります。
 ゆえ、Cassandraに関心ある人には、ちょうど良いレベルかも。

 
ビッグデータを征す クラウドの技術 Hadoop&NoSQL [大型本] / ASCII.technologies集部 (編集); アスキー・メディアワークス (刊)



●「NoSQLデータベースファーストガイド」著者のささたつ さんのブログ。
  http://blog.livedoor.jp/sasata299/archives/51645652.html

●ささたつさんのgihyo.jp 連載「NoSQLデータベースを試してみる」
  http://gihyo.jp/dev/serial/01/various-nosql

目次
1 NoSQLデータベースの基礎知識
1-1 リレーショナルデータベースとNoSQLデータベース
1-1-1 「NoSQL」とは?

1-1-2 リレーショナルデータベース小史

1-1-3 データベースの分類

1-1-4 リレーショナルデータベースの強み

1-1-5 リレーショナルデータベースの弱み

1-1-6 NoSQLデータベース

1-2 NoSQLデータベースにはどんなものがあるのか
1-2-1 key-valueストア

1-2-2 ドキュメント指向データベース

1-2-3 列指向データベース

1-3 NoSQLデータベースの導入をどうとらえるか
1-3-1 あくまでも選択肢の一つ

1-3-2 どこまで信頼してよい?

2 NoSQLデータベースの種類と特徴
2-1 memcached(揮発性key-valueストア)
2-1-1 memcachedとは?

2-1-2 なぜmemcachedを使うのか

2-1-3 特徴とユースケース

2-1-4 導入手順

2-1-5 動作を確認する

2-1-6 各種言語用ライブラリ

2-1-7 関連ツール

2-2 Tokyo Tyrant(永続性key-valueストア)
2-2-1 Tokyo Tyrantとは?

2-2-2 なぜTokyo Tyrantを使うのか

2-2-3 特徴とユースケース

2-2-4 導入手順

2-2-5 動作を確認する

2-2-6 各種言語用ライブラリ

2-2-7 関連ツール

2-3 Redis(揮発性/永続性key-valueストア)
2-3-1 Redisとは?

2-3-2 なぜRedisを使うのか

2-3-3 特徴とユースケース

2-3-4 導入手順

2-3-5 動作を確認する

2-3-6 各種言語用ライブラリ
posted by アンドレアス at 22:38| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年04月29日

NoSQL本「NoSQLデータベースファーストガイド」が発売されました。これは日本語です。

水曜日くらいに発売になっていましたが、
急がしくて、いや、単純にアップするのを忘れていました。


★NoSQLデータベースファーストガイド:2310円
 目次は下にあります。
 NoSQLを、すばやく試したいけど、
 「できるNoSQL」とかいう書籍は発売していないから、
 適当な本が1冊欲しい人向けですね。(^^)
CouchDBは出ていないけど、私が一番関心を持ったのは、
 MongoDBではなく・・ HandlerSocketをMySQLに組み込む、です。

 MySQLのスピードアップに関心のある人は、目を通すべきと思いますが、
 会社費用で買ってもらうと良いでしょうね。

 とりあげられているのは、memcached、Tokyo Tyrant、Redis、MongoDBで、
 パフォーマンス比較もありますから、ぜひ一読を!

NoSQLデータベースファーストガイド [大型本] / 佐々木 達也 (著); 秀和システム (刊)




●ビッグデータを征す クラウドの技術 Hadoop&NoSQL
 連載をまとめたもので、お買い得です。
 特にCassandra のページが結構ページ数あります。
 ゆえ、Cassandraに関心ある人には、ちょうど良いレベルかも。

 
ビッグデータを征す クラウドの技術 Hadoop&NoSQL [大型本] / ASCII.technologies集部 (編集); アスキー・メディアワークス (刊)



●「NoSQLデータベースファーストガイド」著者のささたつ さんのブログ。
  http://blog.livedoor.jp/sasata299/archives/51645652.html

●ささたつさんのgihyo.jp 連載「NoSQLデータベースを試してみる」
  http://gihyo.jp/dev/serial/01/various-nosql

目次
1 NoSQLデータベースの基礎知識
1-1 リレーショナルデータベースとNoSQLデータベース
1-1-1 「NoSQL」とは?

1-1-2 リレーショナルデータベース小史

1-1-3 データベースの分類

1-1-4 リレーショナルデータベースの強み

1-1-5 リレーショナルデータベースの弱み

1-1-6 NoSQLデータベース

1-2 NoSQLデータベースにはどんなものがあるのか
1-2-1 key-valueストア

1-2-2 ドキュメント指向データベース

1-2-3 列指向データベース

1-3 NoSQLデータベースの導入をどうとらえるか
1-3-1 あくまでも選択肢の一つ

1-3-2 どこまで信頼してよい?

2 NoSQLデータベースの種類と特徴
2-1 memcached(揮発性key-valueストア)
2-1-1 memcachedとは?

2-1-2 なぜmemcachedを使うのか

2-1-3 特徴とユースケース

2-1-4 導入手順

2-1-5 動作を確認する

2-1-6 各種言語用ライブラリ

2-1-7 関連ツール

2-2 Tokyo Tyrant(永続性key-valueストア)
2-2-1 Tokyo Tyrantとは?

2-2-2 なぜTokyo Tyrantを使うのか

2-2-3 特徴とユースケース

2-2-4 導入手順

2-2-5 動作を確認する

2-2-6 各種言語用ライブラリ

2-2-7 関連ツール

2-3 Redis(揮発性/永続性key-valueストア)
2-3-1 Redisとは?

2-3-2 なぜRedisを使うのか

2-3-3 特徴とユースケース

2-3-4 導入手順

2-3-5 動作を確認する

2-3-6 各種言語用ライブラリ

2-4 MongoDB(ドキュメント指向データベース)
2-4-1 MongoDBとは?

2-4-2 なぜMongoDBを使うのか

2-4-3 特徴とユースケース

2-4-4 導入手順

2-4-5 動作を確認する

2-4-6 各種言語用ライブラリ

2-4-7 関連ツール

3 NoSQLデータベースを使ってみる
3-1 memcachedの具体的な利用例
3-1-1 サンプル(1) リレーショナルデータベースのキャッシュ

3-1-2 サンプル(2) 音楽視聴ランキングサイト

3-1-3 サンプル(3) 外部APIのキャッシュ

3-2 Tokyo Tyrantの具体的な利用例
3-2-1 サンプル(1) ページ毎のアクセス数を表示する

3-3 Redisの具体的な利用例
3-3-1 サンプル(1) タイムライン形式のWebアプリケーション

3-3-2 サンプル(2) 検索履歴機能

3-4 MongoDBの具体的な利用例
3-4-1 サンプル(1) アンケートの回答データの保存

3-4-2 サンプル(2) 解析データのストレージ

4 パフォーマンス検証
4-1 基本的な挿入と検索のパフォーマンス
4-1-1 想定したケース

4-1-2 準備する

4-1-3 挿入のパフォーマンス

4-1-4 検索のパフォーマンス

4-2 ケース別でのパフォーマンス比較
4-2-1 Tokyo Tyrantのaddintメソッドとincrメソッド

4-2-2 Redisのリスト型に対する追加と削除

4-2-3 MySQLのJOINとMongoDBのembed

5 NoSQLなリレーショナルデータベース
5-1 NoSQLデータベースについて
5-1-1 それぞれの特徴

5-1-2 運用時のコストやノウハウの少なさ

5-1-3 MySQLをNoSQL化するアプローチ

5-2 HandlerSocketを試してみる
5-2-1 特徴

5-2-2 HandlerSocketをMySQLに組み込む

5-2-3 動作を確認する

5-2-4 パフォーマンスはどうなのか

posted by アンドレアス at 17:22| Comment(1) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

オライリーのCouchDB書籍3冊が、ようやく手元に揃いました。もちろん、英語版です。

オライリーからは、既にNoSQLデータベースの書籍は
何冊も出ていますが、全て英語です(^^)。


Cassandra,MongoDBなど。

CouchDBは3冊発売されていて、オーダーしていたんですが、
ようやく3冊全部揃いました。

◆Scaling CouchDB: Replication, Clustering, and Administration
 一番早く届いて欲しかったのが、これです。
 ようやく届いた(^^)

Scaling CouchDB: Replication, Clustering, and Administration [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)



◆Writing and Querying MapReduce Views in CouchDB
 ページ数が少ないですが、その分よくまとまっているので、
 手元に置いておくレファレンス本として、良いと思います。

Writing and Querying MapReduce Views in CouchDB [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)

CouchDB: The Definitive Guide [ペーパーバック] / J. Chris Anderson, Jan Lehnardt, Noah Slater (著); Oreilly & Associates Inc (刊)
posted by アンドレアス at 13:01| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年03月08日

こっそり始めるCouchDB(その4)・・・P33〜P44のChapter4 The Core APIをやっています。

眠い!寝ます!



CouchDB: The Definitive Guide [ペーパーバック] / J. Chris Anderson, Jan Lehnardt, Noah Slater (著); Oreilly & Associates Inc (刊)


Scaling Couchdb [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)


オライリーのCouchDB、
P33〜P44のChapter4 The Core APIを
学習したものが、下記です。

言うまでもないですが、
CouchDBの実際の例で、24が出てきたりしているわけでは
ありません。


誤解しないように(^^)

$ curl -X PUT 'http://127.0.0.1:5984/season8'
{"ok":true}

$ curl -X GET 'http://127.0.0.1:5984/_all_dbs'

["test_suite_users","prefecture","_users","season8","test_suite_rep_docs_db_b","cocktail-book","test_suite_filtered_rep_db_b","test_suite_db_a","test_suite_filtered_rep_db_a","test_suite_db","test_suite_rep_docs_db_a","test_suite_db_b","test_suite_db/with_slashes"]

$ curl -X PUT -d '{"fname":"jack","faname":"bauer"}' 'http://127.0.0.1:5984/season8/jack'
{"ok":true,"id":"jack","rev":"1-f86c88bca230291e8907278560b544fe"}

$ curl -X GET 'http://127.0.0.1:5984/season8/jack'
{"_id":"jack","_rev":"1-f86c88bca230291e8907278560b544fe","fname":"jack","faname":"bauer"}

$ curl -X PUT -d '{"fname":"tony","faname":"almeida"}' 'http://127.0.0.1:5984/season8/tony'
{"ok":true,"id":"tony","rev":"1-c92ca84b5c8f2ca2a4dfffe1234daa49"}

$ curl -X GET 'http://127.0.0.1:5984/season8/tony'
{"_id":"tony","_rev":"1-c92ca84b5c8f2ca2a4dfffe1234daa49","fname":"tony","faname":"almeida"}

$ curl -X PUT -d '{"fname":"chloe","faname":"obrien"}' 'http://127.0.0.1:5984/season8/chloe'
{"ok":true,"id":"chloe","rev":"1-7f776770f6769933b6b6298406996509"}

$ curl -X GET 'http://127.0.0.1:5984/season8/chloe'
{"_id":"chloe","_rev":"1-7f776770f6769933b6b6298406996509","fname":"chloe","faname":"obrien"}

$ curl -X GET 'http://127.0.0.1:5984/season8/_all_docs'
{"total_rows":3,"offset":0,"rows":[
{"id":"chloe","key":"chloe","value":{"rev":"1-7f776770f6769933b6b6298406996509"}},
{"id":"jack","key":"jack","value":{"rev":"1-f86c88bca230291e8907278560b544fe"}},
{"id":"tony","key":"tony","value":{"rev":"1-c92ca84b5c8f2ca2a4dfffe1234daa49"}}
posted by アンドレアス at 00:42| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年03月06日

こっそり始めるCouchDB(第一回 復習編)

復習です。

これが終わったら、
後で、JSONの大量登録まで行おうと思います。


元ネタは、日本の郵便番号で、
先日EC-Cubeで使ったデータです。
(正確には、MySQLに登録したCSVファイルのことです)

あれを、JSONに変換して使おうと思います。

9万以上あれば、かなり使えますからね。
テスト用ではなく、実用的なデータですし。


# rpm -qa | grep couchdb
couchdb-1.0.1-1.fc14.i686

$ rpm -qa | grep curl
python-pycurl-7.19.0-7.fc14.i686
curl-7.21.0-6.fc14.i686
libcurl-devel-7.21.0-6.fc14.i686
libcurl-7.21.0-6.fc14.i686


# /etc/init.d/couchdb status
couchdb (pid 1277) を実行中...


# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost.localdoma:couchdb *:* LISTEN
tcp 0 0 *:mysql *:* LISTEN


■DB作成・・・season8membersデータベースを作成する。

$ curl -X PUT http://127.0.0.1:5984/season2
{"ok":true} というresponseが返ってきました。

■DBへアクセス(2)・・・CouchDBの全データベースを参照する

$ curl -X GET http://127.0.0.1:5984/_all_dbs
["test_suite_users","prefecture","_users","test_suite_rep_docs_db_b","season7members","test_suite_filtered_rep_db_b","test_suite_db_a","members24","hello-world","test_suite_filtered_rep_db_a","season8members","test_suite_db","test_suite_rep_docs_db_a","test_suite_db_b","season1","soccer","members","hello-replication","test_suite_db/with_slashes"]

■DBへアクセス(3)・・・データベース内の全文書を参照する。
             但し、まだ未登録の場合。

$ curl -X GET http://127.0.0.1:5984/season1/_all_docs
{"total_rows":0,"offset":0,"rows":[]}


もっと、いっぱいデータ登録した気がしてたんですが、
MongoDBでしたね、それは(^^)。



CouchDB: The Definitive Guide [ペーパーバック] / J. Chris Anderson, Jan Lehnardt, Noah Slater (著); Oreilly & Associates Inc (刊)
Scaling Couchdb [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)


みてわかるクラウドマガジンvol.1 (日経BPパソコンベストムック) [大型本] / 日経BP出版センター (刊)

みてわかるクラウドマガジンvol.2 (日経BPパソコンベストムック) [大型本] / 日経Linux (編集); 日経BP社 (刊)
posted by アンドレアス at 23:58| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

(追記修正)過去に見られた法則と2012年以降に必要なエンジニアのスキルについて、簡単にまとめてみたら、こんな結果になりました。

ここ数年に必要なエンジニアのスキルは何かは、
Web、書籍、雑誌で語られているものを、3つにまとめました。


・大量データに対する統計、解析知識。
 それに必要なプログラム知識

・自動化にともなうプログラム知識と
 それに必要な仮想化、分散、人口知能知識

・(Webサイトを含み)人を集めて、そこで、
 ゲーム等の「お楽しみ」を提供できる知識及び
 それを実現できるプログラム知識


次ですが、
ここ10年ほどの状況をふまえ、一層明確になった法則があります。


◆法則

・増えすぎたものは、価値が急速になくなる
 価値が減少するのではなく、価値がなくなる。

例:プロジェクトマネジメント資格を持つ、できの悪いエンジニア。
  MCPとかMCSE。
  CCNA,CCNP,CCIE(個人的には、CCIE取得しているが、実務で役立てている人が
  異常に減少したという認識を持っています)

※LPICも、この法則にあてはまる方向に向かっていると認識しています。

・パワーポイントで資料だけ作成したり、
 言葉だけの知識しか持たない人は、定期的に必要無い人になる。
 (だいたい、3〜4年周期)

・新しいものを作る必要のある時代になると、
 資格試験の価値が限りなくゼロに近くなる。

・ITが便利になればなるほど、ITから離れた知識・経験の
 価値が急上昇し始める。
 

・誰がやっても同じことは、チップの中に埋め込む方向に
 進む。その種の話は、Interfaceとか日経エレクトロニクスには
 出ている。

・自分が価値あるエンジニアだとか、人よりベターな能力・資格を持つ
 エンジニアだと勘違いしている人は、
 経済の下降・新技術の登場(チップ・仮想化etc)により、
 実はたいしたことがなかったと気づくことになる。

・しかし、上記は、それを認めるために、かなり長い期間を要する

 ネットワークエンジニアの凋落していった様は、
 今後、他職種のエンジニアは、参考にしておく必要があると
 思いますよ。


・書籍の重要性は、今も高い。
 インターネットしか使わないエンジニアが増えることは、
 自分にとっては、ある意味ラクな時代である(^^)。

 特に、英語書籍は種類・量・質ともに豊富なので、
 これを買うか買わないかが、将来に影響すると思います。
 (IT本だけに限りません)

○近未来予測・・・前から何度も言ったり書いたりしていますが。

・2012年、仮想化・クラウドは勝者が完全決定し、ブームが完結する。
 不要なエンジニアがいっせいに職を失う可能性がある。
 失わないまでも、潜在失業者になる可能性は大きくある。

 他職種への転換を図ろうとしても、会社費用で講習を受けてきただけの
 エンジニアは、どうして良いかわからなくなるので、
 今の職種にしがみつき、残業代を増やすことばかり、画策するのが、
 精一杯となる(^ ^)。

 ※2007年〜2011年にかけての、
  かなり多くのネットワークエンジニアのように。

・職を失うエンジニアに共通する要素は、次の4つである。

---- 自分で書籍を買うことのないエンジニア。
 (別の言い方をすれば、インターネットを検索するだけのエンジニア)

---- 英語ができないエンジニア

---- いまも、残業代に期待するエンジニア(^^)

---- 何か1つでも「教科書のない」ジャンルを学んでいないエンジニア

4つ全部そろっている場合、かなりヤバイと思います。
それが間違いではないことは、2012年から、はっきりするはずです。


それでは、また(^^)/~




P.S 先行販売「検索エンジンはなぜ見つけるのか」を読みつつ、
  Apache Solrや人口知能、集合知本も併読するとしよう。

◆検索エンジンはなぜ見つけるのか ―知っておきたいウェブ情報検索の基礎知識:2520円
検索エンジンはなぜ見つけるのか ―知っておきたいウェブ情報検索の基礎知識 [単行本] / 森大二郎 (著); 日経BP社 (刊)


◆Apache Solr入門 ―オープンソース全文検索エンジン:3780円

Apache Solr入門 ―オープンソース全文検索エンジン [大型本] / 関口 宏司, 三部 靖夫, 武田 光平, 中野 猛, 大谷 純 (著); 技術評論社 (刊)
posted by アンドレアス at 14:16| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年03月05日

こっそり始めるMongoDB(その3)・・・PHP,Python,Rubyドライバインストールをまとめて行う

面倒なので、最初にやっておきましょう。

環境:Fedora14です。

●PHP
peclライブラリに存在します。

http://pecl.php.net/package/mongo/

#pecl install mongo

Build process completed successfully
Installing '/usr/lib/php/modules/mongo.so'
install ok: channel://pecl.php.net/mongo-1.1.4
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongo.so" to php.ini

最後のメッセージにあるように、
/etc/php.ini に、extension=mongo.so を追加します。


# grep mongo /etc/php.ini
何も表示されず。

# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
mongo 1.1.4 stable


/etc/php.iniを開き、
939行目付近

extension=mongo.so

を追加後、保存。

*状況によりApache再起動。


●Ruby

# gem install mongo
Successfully installed bson-1.2.4
Successfully installed mongo-1.2.4
2 gems installed
Installing ri documentation for bson-1.2.4...
Installing ri documentation for mongo-1.2.4...
Installing RDoc documentation for bson-1.2.4...
Installing RDoc documentation for mongo-1.2.4...

# gem list
(不要な表示を省略しています)
*** LOCAL GEMS ***
mongo (1.2.4, 1.2.2)



●Python

# easy_install pymongo
(途中省略)
Installed /usr/lib/python2.7/site-packages/pymongo-1.9-py2.7-linux-i686.egg
Processing dependencies for pymongo
Finished processing dependencies for pymongo



◆MongoDB:3454円

MongoDB: The Definitive Guide [ペーパーバック] / Kristina Chodorow, Michael Dirolf (著); Oreilly & Associates Inc (刊)

◆みてわかるクラウドマガジンvol.1:1500円
みてわかるクラウドマガジンvol.1 (日経BPパソコンベストムック) [大型本] / 日経BP出版センター (刊)


◆Scaling Mongodb:2591円
Scaling Mongodb [ペーパーバック] / Kristina Chodorow (著); Oreilly & Associates Inc (刊)
posted by アンドレアス at 14:36| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

こっそり始めるCouchDB(その3)・・・futon(ふとん、GUIです)で作成するデータベース

以前、少し触れたかも知れません。

ブラウザからCouchDBのDB作成やstatus確認などを
行うことができます。

名前を futon (ふとん)と言います。

http://127.0.0.1:5984/_utils/  でアクセスすると・・。

futon1.png

表示されました。
既に作成済みのDBがありますね。

futon2.png



DB作成も可能です。



◆CouchDB: The Definitive Guide:3454円
 円高の影響で、結構安くなってますね。ドル建ての書籍が一斉に。

CouchDB: The Definitive Guide [ペーパーバック] / J. Chris Anderson, Jan Lehnardt, Noah Slater (著); Oreilly & Associates Inc (刊)

◆Scaling Couchdb:3091円

Scaling Couchdb [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)

posted by アンドレアス at 12:21| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年03月04日

こっそり始めるNoSQL(CouchDB編 その2)・・・たぶん2回目のはず。ところで、オライリーのMongoDBとCouchDB本が、やっと届きました。

こっそり始めるNoSQL(CouchDB編 その2)。
復習です。わーい(嬉しい顔)



# /etc/init.d/couchdb start
couchdb を起動中: [ OK ]

# chkconfig couchdb on

# chkconfig --list couchdb
couchdb 0:off 1:off 2:on 3:on 4:on 5:on 6:off




# curl http://127.0.0.1:5984/

を実行すると、下記のレスポンスが、返ってきました。

{"couchdb":"Welcome","version":"1.0.1"}



# cd /etc/couchdb/

# ls -la
合計 36
drwxr-xr-x 4 root root 4096 2011-02-22 19:25 .
drwxr-xr-x. 138 root root 12288 2011-02-26 00:00 ..
drwxr-xr-x 2 root root 4096 2010-08-17 15:25 default.d
-rw-r--r-- 1 couchdb root 4861 2010-08-17 15:25 default.ini
drwxr-xr-x 2 root root 4096 2010-08-17 15:25 local.d
-rw-r--r-- 1 couchdb root 1613 2010-08-17 15:25 local.ini



CouchDB: The Definitive Guide [ペーパーバック] / J. Chris Anderson, Jan Lehnardt, Noah Slater (著); Oreilly & Associates Inc (刊)


Scaling Couchdb [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)


Writing and Querying Mapreduce Views in Couchdb [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)


Beginning CouchDB [ペーパーバック] / Joe Lennon (著); Apress (刊)


Couchdb in Action [Perfect] / Christopher Chandler (著); Manning Pubns Co (刊)
posted by アンドレアス at 06:28| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年02月24日

皆にナイショで始めるNoSQL(MongoDB まとめ その1編)・・・オライリーのMongoDB英語書籍は、既に3冊も出ています。

(追加しました)皆にナイショで始めるNoSQL(MongoDB編)

オライリーの英語書籍の数の多さが、
MongoDBの人気を物語っている気がする・・・ぞ。



一通りできたところで、
MongoDBのまとめです。

今日は、早めに寝たいのですが、
「日経ソフトウェア」を買ってしまった(特集の「使えるWeb API 30選」を早速チェックしたかった)ので、まだまだ眠れません・・・。

◆日経ソフトウエア 2011年 04月号:1180円
日経ソフトウエア 2011年 04月号 [雑誌] [雑誌] / 日経ソフトウエア (編集); 日経BP社 (刊)


うーーーむ・・・・。

Rubyでおなじみの、まつもとさんの担当記事ゆえに、
「みてわかるクラウド Vol1」を買えば、もっと丁寧な説明なども付随してます。

ぜひ、購入をオススメします。
安いしね。

# yum -y install rlwrap

$ tar xvzf mongodb-linux-i686-1.6.5.tgz
$ cd mongodb-linux-i686-1.6.5/bin/


# mkdir /var/db/mongo

# ./mongod --dbpath=/var/db/mongo
Mon Feb 21 06:59:32 MongoDB starting : pid=3005 port=27017 dbpath=/var/db/mongo 32-bit

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations

Mon Feb 21 06:59:32 db version v1.6.5, pdfile version 4.5
Mon Feb 21 06:59:32 git version: 0eb017e9b2828155a67c5612183337b89e12e291
Mon Feb 21 06:59:32 sys info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_37
Mon Feb 21 06:59:32 [initandlisten] waiting for connections on port 27017
Mon Feb 21 06:59:32 [websvr] web admin interface listening on port 28017



●ユーザーで、解凍したディレクトリのbinディレクトリで、
/home/jack/ダウンロード/mongodb-linux-i686-1.6.5/bin

$ ./mongo
MongoDB shell version: 1.6.5
connecting to: test
>


行編集機能を持つrlwrapを使う場合、

$ rlwrap mongo
MongoDB shell version: 1.6.4
connecting to: test
>


*MySQL風なMongoDB
これが、人気の秘密か・・。

> show dbs
admin
local
> use local
switched to db local

> use cloud_mag
switched to db cloud_mag
> show dbs
admin
local
ここに出てほしいんだが…出てない


> db
cloud_mag
>

> show collections


日本語版は出る気配を見せない、
オライリーのNoSQL本ですが、
既に英語版は、

・MongoDB

・Cassandra

Cassandra: The Definitive Guide [ペーパーバック] / Eben Hewitt (著); Oreilly & Associates Inc (刊)
・CouchDB
CouchDB: The Definitive Guide [ペーパーバック] / J. Chris Anderson, Jan Lehnardt, Noah Slater (著); Oreilly & Associates Inc (刊)
という具合に、続々と発売されています。

その中でも、MongoDBが、関連書籍含めて、
人気のようですね。

ほら!3冊も出てる!


◆MongoDB: The Definitive Guide
MongoDB: The Definitive Guide [ペーパーバック] / Kristina Chodorow, Michael Dirolf (著); Oreilly & Associates Inc (刊)

◆Document Design for Mongodb
Document Design for Mongodb [ペーパーバック] / Jeremy Mcanally (著); Oreilly & Associates Inc (刊)

◆Scaling Mongodb
Scaling Mongodb [ペーパーバック] / Kristina Chodorow (著); Oreilly & Associates Inc (刊)



このレベルの英語なら、読めるのが当然という時代ですので、
円も高いことだし、アマゾンで購入をオススメします。


*どうしても、日本語で、かつ、ちょっとだけ「カジリ」たい人は、
 やはり、これで体験しておけば良いかな。
 ◆みてわかるクラウドマガジンvol.1
みてわかるクラウドマガジンvol.1 (日経BPパソコンベストムック) [大型本] / 日経BP出版センター (刊)




レビューでの評価も高いし。


*おっと、CouchDBにも、Scaling出てますね。

 Scaling Couchdb [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)



さて、書籍レビューは置いておいて・・・・。

Webアクセスすると、ログなどの情報も一覧で見ることが可能です。

http://127.0.0.1:28017/



> for(var i=0;i<1000000;i++){
... db.bench.save({ x:4,j:i
... });
... }

> db.bench.findOne({j:999999})
> db.bench.findOne({j:999998})

インデックスをはることもでき、実際にやってみるとわかりますが、
これで、findOneの検索が速くなっているのが、体感でわかるはずです。

> db.bench.ensureIndex({j:1},{unique:true})
> db.bench.findOne({j:999999})
> db.bench.findOne({j:999998})



> db.bench.find({x:4})
> db.bench.find().count()
> var c = db.bench.find()
> c.skip(10).limit(10).sort({j:-1})

posted by アンドレアス at 20:28| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年02月22日

こそっと始めるCouchDB(Fedora14)・・・インストール、DB作成、基本的な操作、Futonでビュー作成までを

「こそっと始める」は、シリーズ化します。

さて、さっそくインストールしましょう。

# yum -y install couchdb


おーーーっと、Erlangという文字列が多量に・・・・。

これ、Erlangで、できてるの?

なんと、こんなところで、お目にかかるとは・・・。わーい(嬉しい顔)

みてわかるクラウドマガジンvol.1 (日経BPパソコンベストムック) [大型本] / 日経BP出版センター (刊)



みてわかるクラウドマガジンvol.2 (日経BPパソコンベストムック) [大型本] / 日経Linux (編集); 日経BP社 (刊)





# service couchdb start



curlで、5984番ポートへアクセスします。

$ curl http://127.0.0.1:5984/

下記の結果が、返ってきます。

{"couchdb":"Welcome","version":"1.0.1"}

*curlは、インストールされていると思いますが、
 無い場合は、インストールしておきましょう。

# yum -y install curl


■DB作成・・・season8membersデータベースを作成する。

$ curl -X PUT http://127.0.0.1:5984/season8members
{"ok":true}


■DBへアクセス(1)・・・season8membersデータベースへアクセスする。

$ curl -X GET http://127.0.0.1:5984/season8members
{"db_name":"season8members","doc_count":0,"doc_del_count":0,"update_seq":0,"purge_seq":0,"compact_running":false,"disk_size":79,"instance_start_time":"1298371389013752","disk_format_version":5,"committed_update_seq":0}


■DBへアクセス(2)・・・CouchDBの全データベースを参照する。
$ curl -X GET http://127.0.0.1:5984/_all_dbs
["_users","season8members"]


■DBへアクセス(3)・・・データベース内の全文書を参照する。
             但し、まだ未登録の場合。

$ curl -X GET http://127.0.0.1:5984/season8members/_all_docs
{"total_rows":0,"offset":0,"rows":[]}


----------------------
編集後記・・・わーい(嬉しい顔)
----------------------

# rpm -ql couchdb

すると、こんな風に、拡張子 .beam という
ファイルが大量に出力されたと思います。

/usr/lib/erlang/lib/couch-1.0.1/ebin/couch_app.beam
/usr/lib/erlang/lib/couch-1.0.1/ebin/couch_auth_cache.beam


beamは、erlang用の仮想マシンだったと思いますが、
なんと、Erlangでできていたのですか・・・。

CouchDBやるついでに、Erlangもやるか・・・。




■参照:Rubyのまつもとさん「Matzにっき(2007--9-24)」
 Erlang for .NET: Inside BEAM, the Erlang Virtual Machine
http://www.rubyist.net/~matz/20070924.html
posted by アンドレアス at 19:21| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年02月21日

こそっと始めるCassandra・・・はじめて使う編



http://cassandra.apache.org/

cassandraのソースをダウンロード。

http://cassandra.apache.org/download/ より
md5sumコマンドで、ハッシュを確認する。照合する。

$ md5sum apache-cassandra-0.6.11-bin.tar.gz
b01ba442a7e8f37381a167ec9794d138 apache-cassandra-0.6.11-bin.tar.gz

OK。


$ tar xvzf apache-cassandra-0.7.2-bin.tar.gz
$ cd apache-cassandra-0.7.2


$ ./bin/cassandra -f
log4j:WARN No appenders could be found for logger (org.apache.cassandra.service.AbstractCassandraDaemon).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.


別のコンソールを起動して・・・
(既に、「端末」を起動しているなら、Ctrl+Shift+t で良い)


$ ./bin/cassandra-cli --host localhost --port 9160
Connected to: "Test Cluster" on localhost/9160
Welcome to cassandra CLI.

Type 'help;' or '?' for help. Type 'quit;' or 'exit;' to quit.
[default@unknown]


*一言書いておきますが、P72間違っていますね。
 しっかり、ミスなく作成して欲しいですね。
 きちんと、マシンで確認してないんやろうな?
 --port=9160になっているので、注意。P72です。


それとは別に、show keyspacesの結果は、だいぶん違いますが、
これは、バージョンの違いが原因かな?

単に私が、間違えている?(ありえるので、明日確認しよう(^^))

ここでは、Rubyを使うため、
Cassandraへの接続用gemをインストールするようです。


Ruby--cassandraドライバ--Thrift---cassandra みたい。


# gem install cassandra
# gem list

*** LOCAL GEMS ***

actionmailer (2.3.8)
actionpack (2.3.8)
activerecord (2.3.8)
activeresource (2.3.8)
activesupport (2.3.8)
bson (1.2.2)
bson_ext (1.2.2)
cassandra (0.9.0)
configuration (1.2.0)
heroku (1.17.10)
json (1.5.1, 1.4.6)
launchy (0.3.7)
mime-types (1.16)
mongo (1.2.2)
postgres-pr (0.6.3)
rack (1.1.0)
rails (2.3.8)
rake (0.8.7)
rest-client (1.6.1)
simple_uuid (0.1.2)
thrift (0.5.0)
thrift_client (0.6.0)










◆Cassandra: The Definitive Guide:3496円
Cassandra: The Definitive Guide [ペーパーバック] / Eben Hewitt (著); Oreilly & Associates Inc (刊)

◆みてわかるクラウドマガジンvol.1:1500円
みてわかるクラウドマガジンvol.1 (日経BPパソコンベストムック) [大型本] / 日経BP出版センター (刊)
posted by アンドレアス at 23:20| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

こっそり始めるNoSQL(MongoDB まとめ その1編)・・・オライリーのMongoDB英語書籍は、既に3冊も出ています。

(追加しました)こっそり始めるNoSQL(MongoDB編)・・・オライリーの英語書籍の数の多さが、MongoDBの人気を物語っている気がする

一通りできたところで、
MongoDBのまとめです。

今日は、早めに寝ます。

Rubyでおなじみの、まつもとさんの担当記事ゆえに、
「みてわかるクラウド Vol1」を買えば、もっと丁寧な説明なども付随してます。

ぜひ、購入をオススメします。
安いしね。

# yum -y install rlwrap

$ tar xvzf mongodb-linux-i686-1.6.5.tgz
$ cd mongodb-linux-i686-1.6.5/bin/


# mkdir /var/db/mongo

# ./mongod --dbpath=/var/db/mongo
Mon Feb 21 06:59:32 MongoDB starting : pid=3005 port=27017 dbpath=/var/db/mongo 32-bit

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations

Mon Feb 21 06:59:32 db version v1.6.5, pdfile version 4.5
Mon Feb 21 06:59:32 git version: 0eb017e9b2828155a67c5612183337b89e12e291
Mon Feb 21 06:59:32 sys info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_37
Mon Feb 21 06:59:32 [initandlisten] waiting for connections on port 27017
Mon Feb 21 06:59:32 [websvr] web admin interface listening on port 28017



●ユーザーで、解凍したディレクトリのbinディレクトリで、
/home/jack/ダウンロード/mongodb-linux-i686-1.6.5/bin

$ ./mongo
MongoDB shell version: 1.6.5
connecting to: test
>


行編集機能を持つrlwrapを使う場合、

$ rlwrap mongo
MongoDB shell version: 1.6.4
connecting to: test
>


*MySQL風なMongoDB
これが、人気の秘密か・・。

> show dbs
admin
local
> use local
switched to db local

> use cloud_mag
switched to db cloud_mag
> show dbs
admin
local
ここに出てほしいんだが…出てない


> db
cloud_mag
>

> show collections


日本語版は出る気配を見せない、
オライリーのNoSQL本ですが、
既に英語版は、

・MongoDB

・Cassandra

Cassandra: The Definitive Guide [ペーパーバック] / Eben Hewitt (著); Oreilly & Associates Inc (刊)
・CouchDB
CouchDB: The Definitive Guide [ペーパーバック] / J. Chris Anderson, Jan Lehnardt, Noah Slater (著); Oreilly & Associates Inc (刊)
という具合に、続々と発売されています。

その中でも、MongoDBが、関連書籍含めて、
人気のようですね。

ほら!3冊も出てる!


◆MongoDB: The Definitive Guide
MongoDB: The Definitive Guide [ペーパーバック] / Kristina Chodorow, Michael Dirolf (著); Oreilly & Associates Inc (刊)

◆Document Design for Mongodb
Document Design for Mongodb [ペーパーバック] / Jeremy Mcanally (著); Oreilly & Associates Inc (刊)

◆Scaling Mongodb
Scaling Mongodb [ペーパーバック] / Kristina Chodorow (著); Oreilly & Associates Inc (刊)



このレベルの英語なら、読めるのが当然という時代ですので、
円も高いことだし、アマゾンで購入をオススメします。


*どうしても、日本語で、かつ、ちょっとだけ「カジリ」たい人は、
 やはり、これで体験しておけば良いかな。
 ◆みてわかるクラウドマガジンvol.1
みてわかるクラウドマガジンvol.1 (日経BPパソコンベストムック) [大型本] / 日経BP出版センター (刊)




レビューでの評価も高いし。


*おっと、CouchDBにも、Scaling出てますね。

 Scaling Couchdb [ペーパーバック] / Bradley Holt (著); Oreilly & Associates Inc (刊)



さて、書籍レビューは置いておいて・・・・。

Webアクセスすると、ログなどの情報も一覧で見ることが可能です。

http://127.0.0.1:28017/



> for(var i=0;i<1000000;i++){
... db.bench.save({ x:4,j:i
... });
... }

> db.bench.findOne({j:999999})
> db.bench.findOne({j:999998})

インデックスをはることもでき、実際にやってみるとわかりますが、
これで、findOneの検索が速くなっているのが、体感でわかるはずです。

> db.bench.ensureIndex({j:1},{unique:true})
> db.bench.findOne({j:999999})
> db.bench.findOne({j:999998})



> db.bench.find({x:4})
> db.bench.find().count()
> var c = db.bench.find()
> c.skip(10).limit(10).sort({j:-1})

posted by アンドレアス at 23:04| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする

2011年02月13日

Tokyo CabinetをPerlのサンプルで動作確認する。

WEB+DB PRESS vol50のPerlサンプルプログラムを実行するが・・・。

エラーとなる。
すんなりいかぬのは、毎度のことだが・・・。わーい(嬉しい顔)



# ./tchdbtest.pl
Can't load '/usr/local/lib/perl5/auto/TokyoCabinet/TokyoCabinet.so' for module TokyoCabinet: libtokyocabinet.so.8: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません at /usr/share/perl5/XSLoader.pm line 70.
at /usr/local/lib/perl5/TokyoCabinet.pm line 29
Compilation failed in require at ./tchdbtest.pl line 4.
BEGIN failed--compilation aborted at ./tchdbtest.pl line 4.

定番エラーですが、
libtokyocabinet.so.8: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません

と表示。

ロードしようとしたのは、このファイルTokyoCabinet.soですが、
リンクしているはずのlibtokyocabinet.so.8が見つけられなかったという種類のエラーです。

/usr/local/lib/perl5/auto/TokyoCabinet/TokyoCabinet.so


find すると、libtokyocabinet.so.8は、下記の場所に存在していました。

# find / -name libtokyocabinet.so.8
/usr/local/lib/libtokyocabinet.so.8

しかし、TokyoCabinet.so(正確には、TokyoCabinet.soの存在するパス)は、
システムに認識されていないため、下記のようにlddコマンドを実行すると、
not foundと表示されました。

ldconfigコマンドの出番となる、典型的な例です。


# ldd /usr/local/lib/perl5/auto/TokyoCabinet/TokyoCabinet.so
linux-gate.so.1 => (0x00615000)
libtokyocabinet.so.8 => not found
libbz2.so.1 => /lib/libbz2.so.1 (0x003a2000)
libz.so.1 => /lib/libz.so.1 (0x00117000)
librt.so.1 => /lib/librt.so.1 (0x0066e000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00c92000)
libm.so.6 => /lib/libm.so.6 (0x009da000)
libc.so.6 => /lib/libc.so.6 (0x0012c000)
/lib/ld-linux.so.2 (0x0061c000)



# vi /etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/local/lib <---追加して、保存します。


# ldconfig

再度、実行すると、OK !


# ./tchdbtest.pl
open error: success
cat
kiki:cat
moru:guinea pig
hamuwo:hamster
casket.hdb (3 records, 528832 bytes)
putkeep error: existing record
nya-
human being
putcat error: existing record
nya-nyan
value0
value999
record number: 1002
record number: 0
1
2
3
4
5
6
7
8
3.14
6.28
9.42
12.56
15.7
18.84
21.98
25.12

詳しくは、技術評論社のWebと、WEB+DB PRESS vol50を見比べつつ実行すると良いです。

◆Software Design (ソフトウェア デザイン) 2010年 02月号 ほんとうに知りたいあなたのためのKey-Valueストア講座
・Tokyo Cabinet
・Kumofs
・Greeのサービスを支えるFlare




Software Design (ソフトウェア デザイン) 2010年 02月号 [雑誌] [雑誌] / 技術評論社 (刊)




◆WEB+DB PRESS Vol.50
◎key-valueストア入門


・キーワード:オブジェクトシリアライズ、セッションストアとして用いる
・第2章 気になるkey-valueストア実装
 誰もが知っているでしょうが、Berkeley DBも登場します。
 他にもGDBM,Tokyo Cabinetなどなど
 P107のパフォーマンス比較表も貴重
・第3章 key-valueストアを使ってみよう。
 Tokyo Cabinetを使ってみよう! で実際に使います。

WEB+DB PRESS Vol.50 [大型本] / WEB+DB PRESS編集部 (著); B5 (編集); 技術評論社 (刊)




◆みてわかるクラウドマガジンvol.2
 Cassandra
みてわかるクラウドマガジンvol.2 (日経BPパソコンベストムック) [大型本] / 日経Linux (編集); 日経BP社 (刊)
posted by アンドレアス at 22:08| Comment(0) | TrackBack(0) | Key Value No SQL memcache | このブログの読者になる | 更新情報をチェックする