what's new in couchbase server 4.0 ja
TRANSCRIPT
©2015 Couchbase Inc. 1
What’s New in Couchbase Server 4.0?河村康爾 – Solutions Engineer
©2015 Couchbase Inc. 2
アジェンダ
Couchbase Server 4.0新機能
N1QLでのクエリ
インデクシング
Multi-Dimensional Scaling (多次元スケーリング)
ForestDB: 次世代のストレージエンジン
セキュリティ
©2015 Couchbase Inc. 3
And There’s More …
機能 説明
XDCRフィルタリング キーを利用したXDCRストリームのフィルタリングで参照データ&地理情報に基づいたレプリケーションのユースケースに対応。
Bloom Filters ワーキングセット率の低い(DGM: Data Grater than Memory)要件でのレイテンシを大きく改善
Memory Defragmentation ヒープ内のデフラグを解消し、メモリ利用のオーバヘッドを削減
クラスタの堅牢性を向上 Viewクエリによるクラスタ管理の障害を改善
Breakpad memcachedのコンパクトで可読性のあるクラッシュログ
SDK Couchbase Server 4.0の様々な新機能に対応したSDK
SUSE, Oracle Enterprise Linux, CentOS 7, RHEL 7, Ubuntu 14.04,
より多くのプロダクションサポート対象プラットフォーム
N1QLでのクエリ
©2015 Couchbase Inc. 5
N1QLとは?
5
Flexibility of JSONPower of SQL
©2015 Couchbase Inc. 6
クエリ言語はどのように評価すべきか?
Expressive / 表現の豊かさ
Declarative / 宣言性
Ecosystem / エコシステム
©2015 Couchbase Inc. 7
表現力豊かなN1QL: E-Commerce の例
SELECT product.name, SUM(items.count) AS unitsSold
FROM purchases UNNEST purchases.lineItems AS items
JOIN product ON KEYS items.product
GROUP BY product
ORDER BY unitsSold DESC LIMIT 10
SELECT SUBSTR(purchases.purchasedAt, 0, 7) AS month,
ROUND(SUM(product.unitPrice * items.count)/1000000, 3)
revenueMillion
FROM purchases UNNEST purchases.lineItems AS items
JOIN product ON KEYS items.product
GROUP BY SUBSTR(purchases.purchasedAt, 0, 7)
ORDER BY month
Learn more about N1QL @
query.couchbase.com/tutorial
©2015 Couchbase Inc. 8
表現力豊かなN1QL: 画像処理の例
SELECT
m.image AS gallery_image,
s.image AS source_image, s.x, s.y,
m.r AS gallery_r, m.g AS gallery_g, m.b AS gallery_b,
s.r AS source_r, s.g AS source_g, s.b AS source_b,
FROM SourcePixels s
JOIN GalleryMeans m ON KEY s.rgb
Source: http://www.metanautix.com/tr01
©2015 Couchbase Inc. 9
N1QLに関するセッション
Introducing N1QL: Query Without CompromiseMay 3 @ 1:00 pm – 1:45 pm, Architecture TrackMay 4 @ 11:15 am – 12:00 pm, Architecture Track
Migrating MySQL Queries to N1QLMay 4 @ 1:00 am – 1:45 pm, Developer Track
N1QL and SDK Support for Java, .NET, and Node.jsMay 3 @ 4:30 pm - 5:15 pm, Developer Track
Big Data Query Landscape: N1QL and MoreMay 4 @ 4:30 pm – 5:15 pm, Architecture Track
Interactive Data Analytics with Couchbase N1QL – NielsenMay 3 @ 1:45 pm - 2:30 pm, Developer Track
Agility with Data Modeling at DIRECTV Using N1QL in Couchbase with Node.js - DIRECTVMay 4 @ 3:45 pm - 4:30 pm, Developer Track
©2015 Couchbase Inc. 10
N1QLは宣言型: What Versus How
何を(WHAT) したいのか指定するとCouchbase Server がどうするか(HOW) を判断する
©2015 Couchbase Inc. 11
N1QL は宣言型: 数百万のピクセルの処理
SELECT
m.image AS gallery_image,
s.image AS source_image, s.x, s.y,
m.r AS gallery_r, m.g AS gallery_g, m.b AS gallery_b,
s.r AS source_r, s.g AS source_g, s.b AS source_b,
FROM SourcePixels s
JOIN GalleryMeans m ON KEY s.rgb
©2015 Couchbase Inc. 12
N1QLに関するセッション –より詳細な内容
Deep Dive into N1QL: Power Features and Internals in Couchbase 4.0May 3 @ 2:30 pm - 3:15 pm, Architecture Track
Tuning Query Performance with N1QL in Couchbase Server 4.0May 4 @ 1:45 pm – 2:30 pm, Architecture Track
Enterprise Architect’s Perspectives of Couchbase with N1QLMay 4 @ 5:15 pm – 6:00 pm, Architecture Track
©2015 Couchbase Inc. 13
N1QLでつながるエンタープライズエコシステム
ODBC /
JDBC
App
CB Node
ODBC /
JDBC
ETL
ODBC /
JDBC
BI
ODBC /
JDBC
Visualization
CB Node CB Node
Standards-based drivers
Integrations, partnerships
©2015 Couchbase Inc. 14
N1QLに関するセッション –パートナー
Operational Analytics with Looker and N1QL- LookerMay 3 @ 1:00 pm – 1:45 pm, Big Data Track
Enterprise Data Integration: Using Informatica ETL with Couchbase –InformaticaMay 3 @ 3:45 pm – 4:30 pm, Big Data Track
Visual Analytics with Tableau & Couchbase – Tableau SoftwareMay 3 @ 4:30 pm - 5:15 pm, Architecture Track
Open Connectivity: BI, Integration, and Applications on Couchbase using ODBC and JDBC - SimbaMay 4 @ 1:45 pm – 2:30 pm, Big Data Track
Metanautix Quest and Couchbase: Scalable Analytics Across NoSQL, RBDMS, Hadoop – MetanautixMay 4 @ 3:45 pm – 4:30 pm, Big Data Track
インデクシング
©2015 Couchbase Inc. 16
なぜインデックスが必要なのか?
ユーザが指定した条件に
一致するオブジェクトを
データベース内の
すべてのオブジェクトを走査せずに
高速に探すために
インデックスを利用する
©2015 Couchbase Inc. 17
インデックスにはどんな種類があるか?
Primary Indexes
Secondary Indexes
Spatial Indexes
Text Indexes
©2015 Couchbase Inc. 18
インデックスの種別… 図書館で例えると
Source: http://www.montel.com/en/markets/library/
©2015 Couchbase Inc. 19
Secondary Indexes
Local secondary indexes – Map/Reduce views in 3.0 データと同居
高い更新性能
ただし参照性能は劣る: 分散し集約するため (scatter-gather)
多数のインデックスやデータノードでスケールのボトルネックに
Global secondary indexes (GSI) – New in 4.0 より高いクエリ性能
より多くのGlobal Indexに対する非同期の更新
個別にスケールし、分割
Key-Valueのオペレーションと分離
©2015 Couchbase Inc. 20
Global Secondary Indexesに関するセッション
Introducing Global Secondary Indexes: The New High Performance Indexer with Couchbase 4.0May 3 @ 1:45 pm - 2:30 pm, Architecture Track
Deep Dive into Global Secondary Indexing Architecture in Couchbase Server 4.0May 3 @ 3:45 pm - 4:30 pm, Architecture Track
©2015 Couchbase Inc. 21
Box on Points Box Intersects Multi Dimensions Geo + Others
Spatial Indexes
3.0では試験的, 4.0から正式サポート対象(GA)に 性能と安定性を向上
GeoJSONを出力
多次元でのバウンディングボックスと範囲検索
©2015 Couchbase Inc. 22
Spatial Indexesに関するセッション
Introducing Spatial Views for Location Aware Applications with Couchbase Server 4.0May 3 @ 4:30 pm – 5:15 pm, Architecture Track
©2015 Couchbase Inc. 23
Text Indexes (Developer Preview)
…
wise
…
engineer
…
…
…
…, akay1980, …
…, akay1980, …
engineers
engineer完全一致
転置インデックス
インデックス時に適用したテキスト解析を検索時にも適用する。
©2015 Couchbase Inc. 24
Text Indexesに関するセッション
A Sneak Peek of CBFT, Full Text Search for CouchbaseMay 4 @ 5:15 pm –6:00 pm, Developer Track
多次元スケーリングMulti-Dimensional Scaling
©2015 Couchbase Inc. 26
ワークロードとスケーリング
水平スケーリング
一つ以上の同スペックのノードへデータセットを分割
各ノードは同様に複数のワークロードを処理する
ハードウェアキャパシティを追加する際はデータセットを再配置
Node 8
Index Service
Couchbase Cluster
Query Service
Data Service
Node 1
©2015 Couchbase Inc. 27
多次元スケーリング(Multi-Dimensional Scaling)
No-SQL のワークロード:
Key-value, クエリ, インデクシング, map-reduce,レプリケーション/ツール間連携
異なるリソース要件 (CPU, メモリ, I/O, ネットワーク)
異なる性能要件 (レイテンシ, スループット)
多次元スケーリング(MDS)とは?
MDSとは、data, query, indexのワークロードを個別にスケールできるアーキテクチャである。
©2015 Couchbase Inc. 28
多次元スケーリング (Multi-Dimensional Scaling)
サービスを分離し互いの干渉を最小に
query, index, dataサービスごとに独立した”ゾーン”
コアなkey-value操作に対するインデクシングとクエリのオーバヘッドを最小化
Index Service
Couchbase Cluster
Query Service Data Service
Node 1 Node 8
©2015 Couchbase Inc. 29
多次元スケーリング(Multi-Dimensional Scaling)
個別のスケーラビリティでサービスごとの処理性能を最大化
Couchbase Cluster
node1 Node 8 Node 9
Data Service
Index ServiceQuery Service
より多くのインデックス (より多くのフィールド): index serviceノードをスケールアップ。
クエリ処理により多くのRAMを:query serviceノードをスケールアップ。
Node 1
©2015 Couchbase Inc. 30
Multi-Dimensional Scalingに関するセッション
Multi-Dimensional Scaling: A New Architecture for Scaling Big Data ApplicationsMay 3 @ 10:30 am – 11:15 am, Architecture Track
ForestDB: 次世代のストレージエンジン
©2015 Couchbase Inc. 32
モダンなweb/mobile/IoTアプリケーション 大量の非構造化データの操作
数億のユーザやデバイスから継続的に膨大な量の新しいデータが生成される
とめどなく成長を続けるデータベースを管理するためのスケーラビリティと高い性能が同時に必要
内部のストレージエンジンはデータベースシステムで高い性能とスケーラビリティを提供するために最も重要な部品の一つ
次世代のストレージエンジンへの要件
32
©2015 Couchbase Inc. 33
一般的なストレージ構造 – B+-Tree
33
参照 更新 エンジン
B+-Tree Good read performance if the fan-out is high (“short” tree) for small fixed-length keys. Read performance degrades for variable-length keys.
Update-In-Place results in random writes and bad write latency.
Append-Only file improves write performance but requires periodic compaction.
BerkeleyDB,InnoDB, Couchstore (append-only), WiredTiger B+
04/26
…
…
…Key
Value (or Pointer)
longer keys
©2015 Couchbase Inc. 34
一般的なストレージ構造 – LSM-Tree
参照 更新 エンジン
LSM-Tree
Reads may have to traverse multiple trees – typically worse than B+ tree.
WAL improves writes within-memory trees that are appended to the end of the log.
LevelDB, BigTable,Cassandra,WiredTiger LSM
…
In-memory
Sequential log
flush/merge merge
C1 tree C2 tree
merge
Capacity increases exponentially
©2015 Couchbase Inc. 35
Fast Storage – ForestDB
Fundamentally rethinking the requirements for fast storage Compact and efficient storage for a variety of data
Unified engine that performs well for various workloads
Unified engine that scales from small devices to large servers
Optimized for new SSD storage technology
35
ForestDB provides a
compact index structure
that significantly reduces the disk I/O
and write amplification.
©2015 Couchbase Inc. 36
Trie (prefix tree) for which the nodes are B+-Trees HB+-Trie was originally presented at ACM SIGMOD 2011 Programming
Contest, by Jung-Sang Ahn who works at Couchbase(http://db.csail.mit.edu/sigmod11contest/sigmod_2011_contest_poster_jungsang_ahn.pdf)
HB+-Trie (Hierarchical B+-Trie)
©2015 Couchbase Inc. 37
ForestDB
ForestDB Evaluations: LevelDB, RocksDB
37
Throughput Future Proof
FITTED
FORSSD
Efficiency
UP TO5X
COMPACT
UP TO
6XFASTER
©2015 Couchbase Inc. 38
ForestDBに関するセッション
Next Generation Storage Engine: ForestDBMay 3 @ 4:30 pm – 5:15 pm, Architecture Track
Under the hood ForestDB: Performance on SSDs and File SystemsMay 3 @ 2:30 pm – 3:15 pm, Architecture Track
Intel: Next Generation SSDs and ForestDB: Next Generation Storage EngineMay 3 @ 2:30 pm – 3:15 pm, Architecture Track
セキュリティ
©2015 Couchbase Inc. 40
それ以前… In 2.2 In 2.5 In 3.0 New in 4.0
SASL AuthNwith Bucket Passwords
Admin User
Secure Build Platform
Read-Only User
Easy Admin
Password Reset
Non-Root User
Deployments
Secure Communication
for XDCR
Encrypted Client-Server
Communication
Encrypted Admin Access
Access Log
Data-at-Rest Encryption
• Simplified compliance with admin auditing
• External identity management for admins using LDAP
Couchbaseのセキュリティ機能
In a few
slides ..
40
©2015 Couchbase Inc. 41
LDAPを利用した外部のID管理
IDの集中管理
複数の参照専用/フル管理者を定義
管理者アカウントのセキュリティポリシーを集中管理、より強固なパスワード、パスワードローテイション、自動ロックアウト
アカウンタビリティー; コンプライアンスをシンプルに
LDAP内でUIDを定義し、UIDをCouchbaseの参照専用/フル管理者のロールにマッピング
LDAPのUIDを用いた包括的な監査記録
©2015 Couchbase Inc. 42
Couchbase管理操作の監査ログ
リッチな監査イベント
25以上の様々な、詳細な管理操作監査イベント
バックアップなどのツールを含む監査
監査ログの設定
出力ファイルの設定
タイムベースのログローテイション、監査イベントのフィルタリング
容易なツール連携
JSONフォーマットにより、Flume, Logstash,
syslogdなどを利用したシステムと容易に連携
©2015 Couchbase Inc. 43
ログイン成功の監査イベント
43
{
"timestamp":"2015-02-20T08:48:49.408-08:00",
"id":8192,
"name":"login success",
"description":"Successful login to couchbase cluster",
"role":"admin",
"real_userid": {
"source":"ns_server",
"user":"bjones”
},
"sessionid":"0fd0b5305d1561ca2b10f9d795819b2e",
"remote":{"ip":"172.23.107.165", "port":59383}
}
WHEN
WH
O
WHAT
HO
W
©2015 Couchbase Inc. 44
セキュリティに関するセッション
Securing Your Couchbase Server Deployment Using VormetricMay 4secur @ 1:45 pm –2:30 pm, Operations Track
Security Features in Couchbase ServerMay 4 @ 3:45 pm – 4:30 pm, Operations Track
Build Your App TODAY!
Download Couchbase Server 4.0 Betaat
www.couchbase.com/beta
Don’t forget that we also provide aMobile solution!!
I’ll talk about Couchbase Server 101
©2015 Couchbase Inc.
Couchbase Upcoming Event
開催日
イベント概要 リンク
9/1 Couchbase モバイル ワークショップ http://goo.gl/llRjhF
9/30 Couchbase 管理者用ワークショップ https://goo.gl/jhmChM
10/14 Couchbase Server 公式トレーニング(有償)「CD220 Couchbase Server 開発者向け(3日間)」
http://goo.gl/wUUu8k
10/27 Couchbase Server 公式トレーニング(有償)「CS300 Couchbase Server 管理者向け(4日間)」
http://goo.gl/SBAOHz
?? JPBUG勉強会 Unity + Couchbase モバイル Coming soon!
?? Couchbase Server 開発者用ワークショップ Coming soon!
日本語マニュアル
Couchbase Serverhttp://goo.gl/79ZJ5o
Couchbase モバイルhttp://goo.gl/uQpzMS
日本語ブログ
SE in 東京http://goo.gl/IHX5yI
モバイルエンジニア@シリコンバレーhttp://hideki.github.io
事例紹介https://goo.gl/UgFQEp
製品説明、デモ、事例紹介などは、下記 へご連絡ください。
Thank You