Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Joongjin Baetwitter: bae_jhttp://baepiff.blogspot.com/
彼らは宣伝してる!• Cassandraより10倍速い!CouchBaseも速い!http://www.thumbtack.net/solutions/documents/Ultra-HighPerformanceNoSQLBenchmarki...
Install & 設定• InstallLinuxしか対応してないCentOSとUbuntuのみ詳細はwebでhttp://baepiff.blogspot.jp/2013/04/install-and-run-aerospike-commu...
Namespaceとストレージ設定namespace test {replication-factor 2 # keep two copies of every data item# in this namespacehigh-water-me...
Architecture1.The cluster-aware ClientLayer includes open source clientlibraries that implement AerospikeAPIs, track nodes...
Data Structure• スキマーがない• Namespace = database• Set = Table• Record = row• Bin = column$ cli -h 127.0.0.1 -n test -o set -k...
Benchmark Openstack• Server: 2core, 2GB RAMインスタンス 3• Client: 2core, 2GB RAMインスタンス 1• Benchmark Tool: YCSB• Result: 1KB siz...
Benchmark AWS• Server: 2 High I/O instances onAWS(hi1.4xlarge)• Client: 1 High CPU instance on AWS(c1.xlarge)• Benchmark T...
Benchmark AWS ResultData Size Run time(ms) TPS64KB 141342.0 7075256KB(64KB x 4) 598387.0 1671256KB 716637.0 1395512KB(64KB...
問題 or 宿題• Multicastが使えるのにHeartbeatが失敗提供されたツールで確認したにも関わらずしばらく放置すると各ノードが切り離れる。ネットワークの問題• 本気で負荷かけたら同時に停止してしまう。メモリ1GBでHWMも90%に...
追加情報• AerospikeはOSSではない!中身知らない!><;;;• 去年AlchemyDBを買収AlchemyDBはソースコードが公開されている。https://github.com/JakSprats/Alchemy-Database...
Question?
Upcoming SlideShare
Loading in …5
×

Aerospike紹介-LT用

2,973 views

Published on

NoSQLの一つAerospikeの紹介。チーム内向けのLT資料なので適当です。><

Published in: Technology

Aerospike紹介-LT用

  1. 1. Joongjin Baetwitter: bae_jhttp://baepiff.blogspot.com/
  2. 2. 彼らは宣伝してる!• Cassandraより10倍速い!CouchBaseも速い!http://www.thumbtack.net/solutions/documents/Ultra-HighPerformanceNoSQLBenchmarking.pdf• Low latency:99% under 1ms & 99.9% under5ms - 120 bytesのrecordに対して• 一ノード200K TPSと書込み 50K TPS• クラスタ構成も簡単!起動すると勝手に追加される。ダウンしたら外れる再起動するとクラスタへ再度合流
  3. 3. Install & 設定• InstallLinuxしか対応してないCentOSとUbuntuのみ詳細はwebでhttp://baepiff.blogspot.jp/2013/04/install-and-run-aerospike-community.html• 設定ノード間Heartbeat設定はhttp://baepiff.blogspot.jp/2013/04/how-to-add-new-node-to-aerospike.html
  4. 4. Namespaceとストレージ設定namespace test {replication-factor 2 # keep two copies of every data item# in this namespacehigh-water-memory-pct 60 # evict data if memory utilization is# greater than 60%high-water-disk-pct 50 # evict data if disk utilization is# greater than 50%stop-writes-pct 70 # disallow writes (except deletes)# when either RAM or disk is 70% fullmemory-size 30064771072 # 28G - use max 28G of memory for# this namespacedefault-ttl 864000 # lifetime is 10 days, can be# overridden via api, 0 means lives# foreverstorage-engine device {device /dev/sdb # raw devicedata-in-memory true # keep a copy of all data in memory# alwaysdefrag-period 120 # run defrag every 120 secondsdefrag-lwm-pct 50 # reclaim blocks that are less than 50%# fulldefrag-max-blocks 4000 # defragment at most 4000 disk blocks# in each rundefrag-startup-minimum 10 # server needs at least 10% free space# at startup}}
  5. 5. Architecture1.The cluster-aware ClientLayer includes open source clientlibraries that implement AerospikeAPIs, track nodes and know wheredata reside in the cluster.2.The self-managing DistributionLayer oversees clustercommunications and automates fail-over, replication, cross data centersynchronization and intelligent re-balancing and data migration.3.The flash-optimized Data StorageLayer reliably stores data in DRAM andFlash.
  6. 6. Data Structure• スキマーがない• Namespace = database• Set = Table• Record = row• Bin = column$ cli -h 127.0.0.1 -n test -o set -k Aerospike -b name -v "Aerospike, Inc."succeeded: key = Aerospike set= bin= name value= Aerospike, Inc.$ cli -h 127.0.0.1 -n test -o set -k Aerospike -b address -v "Mountain View, CA 94043"succeeded: key = Aerospike set= bin= address value= Mountain View, CA 94043$ cli -h 127.0.0.1 -n test -o set -k Aerospike -b email -v "info@aerospike.com"succeeded: key = Aerospike set= bin= email value= info@aerospike.com$ cli -h 127.0.0.1 -n test -o get -k Aerospike{email: info@aerospike.com, name: Aerospike, Inc., address: Mountain View, CA94043}
  7. 7. Benchmark Openstack• Server: 2core, 2GB RAMインスタンス 3• Client: 2core, 2GB RAMインスタンス 1• Benchmark Tool: YCSB• Result: 1KB size 100,000 recordsRead 95%, Update 5%TPS – 18268, 99% latency 1ms,Min latency 210us, Max latency 1142us
  8. 8. Benchmark AWS• Server: 2 High I/O instances onAWS(hi1.4xlarge)• Client: 1 High CPU instance on AWS(c1.xlarge)• Benchmark Tool: YCSB• Condition: 40万件データ登録し100万件(95% Read, 5% Update)
  9. 9. Benchmark AWS ResultData Size Run time(ms) TPS64KB 141342.0 7075256KB(64KB x 4) 598387.0 1671256KB 716637.0 1395512KB(64KB x 8) 911872.0 1096
  10. 10. 問題 or 宿題• Multicastが使えるのにHeartbeatが失敗提供されたツールで確認したにも関わらずしばらく放置すると各ノードが切り離れる。ネットワークの問題• 本気で負荷かけたら同時に停止してしまう。メモリ1GBでHWMも90%に設定したのが原因かも知らないが、3台同時にプロセスが停止してしまった。使い方が間違った。HWMは50%が推奨• AWSのHigh I/O Instanceで試したい。検証結果追加しました。
  11. 11. 追加情報• AerospikeはOSSではない!中身知らない!><;;;• 去年AlchemyDBを買収AlchemyDBはソースコードが公開されている。https://github.com/JakSprats/Alchemy-DatabaseACIDを満足するNoSQLを目指していると予測
  12. 12. Question?

×