• Like
  • Save
Aerospike紹介-LT用
Upcoming SlideShare
Loading in...5
×
 

Aerospike紹介-LT用

on

  • 1,939 views

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

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

Statistics

Views

Total Views
1,939
Views on SlideShare
1,925
Embed Views
14

Actions

Likes
7
Downloads
12
Comments
0

1 Embed 14

https://twitter.com 14

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Aerospike紹介-LT用 Aerospike紹介-LT用 Presentation Transcript

    • Joongjin Baetwitter: bae_jhttp://baepiff.blogspot.com/
    • 彼らは宣伝してる!• 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• クラスタ構成も簡単!起動すると勝手に追加される。ダウンしたら外れる再起動するとクラスタへ再度合流
    • 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
    • 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}}
    • 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.
    • 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}
    • 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
    • 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)
    • 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
    • 問題 or 宿題• Multicastが使えるのにHeartbeatが失敗提供されたツールで確認したにも関わらずしばらく放置すると各ノードが切り離れる。ネットワークの問題• 本気で負荷かけたら同時に停止してしまう。メモリ1GBでHWMも90%に設定したのが原因かも知らないが、3台同時にプロセスが停止してしまった。使い方が間違った。HWMは50%が推奨• AWSのHigh I/O Instanceで試したい。検証結果追加しました。
    • 追加情報• AerospikeはOSSではない!中身知らない!><;;;• 去年AlchemyDBを買収AlchemyDBはソースコードが公開されている。https://github.com/JakSprats/Alchemy-DatabaseACIDを満足するNoSQLを目指していると予測
    • Question?