SlideShare a Scribd company logo
1 of 44
Download to read offline
ROMA
アーキテクチャと社内事例



Rakuten. Inc,2012/03/18
H i r o k i  M a t s u e   1
Introduction


• 松江 宏樹 (まつえ ひろき)
 –楽天株式会社 (2011~)
  •開発アーキテクチャ部
  •ROMA開発担当
 –好きなROMAコマンド
  •balse
 –気になっているサービス
  •楽天オーネット
                          2
Agenda

• ROMA 開発の背景

• ROMA の特徴

• ROMA アーキテクチャ

• 社内事例

• まとめ

                      3
• ROMA 開発の背景

• ROMA の特徴

• ROMA アーキテクチャ

• 社内事例

• まとめ

                 4
Rakuten Services




• インターネットショッピングモール
 – 会員数:7300万人以上(2011/12月)
 – 出店数:3万7000店以上
 – 商品数:9000万点以上

                            5
サービスへのリクエスト増加

• 早く処理しないと・・
 – Amazon : 0.1 秒の遅延 -> 1% の売り上げ低
   下
 – Google : 0.5 秒の遅延 -> 20% のアクセス数
   低下
 – 一般的に 1 秒遅延すると
  • PV : 11% 低下
  • コンバージョン : 7% 低下
  • 顧客満足度 : 16% 低下
 – 楽天 : 24時間で130億円
• 遅延・停止は避けたい
                                 6
速度、継続のための取り組み

• 高速化の工夫
  – HTML, Javascript の軽量化
  – SSD > HDD
  – GPGPU
• 継続のために
  –   電源
  –   ネットワーク
  –   ロードバランサー
  –   RAID
  –   バックアップ
  –   オペレータ
• Business Continuity Plan
  – 災害リスクへの対策

                             7
様々なサービスでのニーズ

• 高速な処理への対応
• 高い継続性の実現
• 増大するデータへの対応




                   8
研究の一環として開発

• 楽天技術研究所
 – 2007年 ROMA開発開始 (with Matz)
 – 2009年 オープンソースとして公開
   • http://github.com/roma/roma/




                                    9
• ROMA 開発の背景

• ROMA の特徴

• ROMA アーキテクチャ

• 社内事例

• まとめ

                 10
NoSQLにおけるROMA

• スケーラビリティ

• 柔軟な機能拡張

• No SPoF

• 導入が容易

• Ruby
                         11
ROMAの特徴

• Pure P2Pアーキテクチャ

• memcached 互換プロトコル

• データレプリケーション

• メタプログラミングによるサポート


                      12
• ROMA 開発の背景

• ROMA の特徴

• ROMA アーキテクチャ

• 社内事例

• まとめ

                 13
アーキテクチャの概要

• 4つのモジュール
                 Network IO module


     Command Execution
                               Routing module
         module


                  Storage module


• Network
• Command
• Routing
• Storage                                       14
データの配置

             E.g. ROMA consists of three nodes


   ROMA




 仮想ノード    仮想ノード           仮想ノード

バケット バケット バケット                         バケット
                                                 15
ルーティング

• 各ノードがデータ配置情報を保持
 – ルーティングテーブル: 各ホストの担当
   するハッシュ値
 – 差分があった場合は情報を更新
 – 論理クロック
• 全ノード間で情報共有
         ROMA




                         16
データへのアクセス

• アクセスステップ
 1.ユーザがROMAノードへアクセス
 2.ROMAがデータ格納ノードを確認
 3.格納ノードからデータ取得
 4.取得したデータをユーザへ返す
                                        ①

E.g. ROMA consists of three nodes
                                    ④                  ②


                                                ROMA

                                            ③




                                                           17
ROMAクライアントを用いた場合

• 直接各ノードへアクセス
 – クライアントはルーティングテーブルを保持
 – 更新がないか一定間隔毎に確認
• アクセスステップ
 1. クライアントでデータ格納ノードを確認
 2. 格納ノードからデータを取得


      ①      ROMA


             ②


                          18
データレプリケーション

• レプリケーション
 – 書き込み後、自動で実施
 – 通常レプリケーションまで一つの処理とし
   て扱う
 – 失敗した場合も非同期キューからリトライ
   を行う


             ROMA




                         19
高速化のための工夫

• Eventmachineを使用
  –イベント駆動で処理
  –IO待ち中は別の処理ができる

 request   response   request   response



処理1 処理2 処理3 処理4 処理5


                                           20
高速化のための工夫

• Fiber
  – 処理の状態を保持したまま任意に中断

 ファイバー1           1 2 3
 ファイバー2           1 2 3
 ファイバー3           1 2 3

   1      1   1   2   2   2   3   3   3

                   直列化
                                          21
高速化のための並列化

• I/O における待ち時間を削減

• 高負荷時のパフォーマンス低下を回避

• データアクセス衝突の回避

• 理解しやすい記述


                      22
スケールアウト

• join コマンド
• ルーティング情報の更新
• 新規ノードへデータを移動
• 速度は動的に変更可能




                 23
障害時の復旧

• フェイルオーバー
  – 対象ノードへのアクセス停止
• recover
  – routingの自動修正


        ハッシュ値
     ハッシュ値  ハッシュ値
     host1 host2   host2 host3

                                 24
その他の機能

• write_behind ログ(redo ログ)

• ストレージの選択
  –   Ruby Hash
  –   Tokyo Cabinet
  –   Sqlite3
  –   DBM
  –   (LevelDB)
  –   (Kyoto Cabinet)

• 対話型インタフェースによる config 設定
                             25
機能の背景

• write_behind ログ(redo ログ)
 – トランザクション

• ストレージの選択
 – 柔軟な特性の選択

• 対話型インタフェースによる config
  設定
 – 設定に起因するエラー

                             26
• ROMA 開発の背景

• ROMA の特徴

• ROMA アーキテクチャ

• 社内事例

• まとめ

                 27
活用事例


• 楽天トラベル
 – ページ閲覧履歴(リスト情報)




• その他
 – 20箇所以上のセッション等の機能
                      28
シンプルなKVSでリスト扱う場合

• memcached で扱う場合
 1.キーを基にデータ取得
 2.デシリアライズ
 3.データの修正
 4.シリアライズ
           ¥x04¥b[¥ti¥x06i¥a
 5.データを保存
              1    2   3   4
                            5

              1    2   3   4
                  ¥x04¥b[¥ni¥x06i¥n
                                      29
ROMAでリスト扱う場合


     • リストプラグインを使用した場合
            –データを渡すのみ
“delete 2nd elm into list” req
                                      put data




                                                             ROMA cluster


                                                     5


                     1            2              3       4

                                                                            30
トラベルにおけるリスト情報


• ROMAでリストを処理するメリット
    –アプリケーションの単純化
    –処理の分散
    –永続化も選択可能

1   2   3     1   2   3   4   1   2




                                      31
マッププラグイン


• マッププラグイン
 –ひとつのキーに対して、連想配列
  データを保持
• マップカウントプラグイン
 –上記の連想配列に対して、インクリ
  メント処理を行う   a = 2, b = 1, …


         “a” plus 1




                      ROMA cluster

                                     32
マップカウントプラグイン


• マップカウントの処理
countup 0 5
a,b,c
=>
{“a”=>1, “b”=1, “c”=1}2, b = 1, …
                     a=


            “a” plus 1




                          ROMA cluster

                                         33
プラグインの作成

  • map_set コマンド
    – コマンド名、バリュー等を指定して保存
def_write_command_with_key_value :
map_set, 5 do |ctx|
               コマンド名
(valueの生成方法)
            保存するvalue
[0, expt, Marshal.dump(v), :write,
'STORED']
end                                  34
DSLのサポート

• DSLによるメリット
 – 少量の記述による機能追加
 – レプリケーション処理の自動化
 – 内部カウント処理の簡略化
map_set {
  (格納サーバの割り当て処理)
  (valueの生成方法)
  (データ格納処理)
 (レプリケーション処理)
}
                    35
事例から見たユースケース

• キャッシュ層
  –手軽なHA構成
  –データ永続化

• クラウド環境との相性
  –必要な時にスケールできる

• Rubyとの利用
  –Rails + ROMA
                     36
こちらからどうぞ…


• Githubから落とす

• gemでインストール
 $ gem install roma

• AWSのAMIを使う



                      37
AWSにおけるパフォーマンス

• ROMA設定について
 – ストレージ:Tokyo Cabinet
 – データ数:500万件
 – サーバ:AWSのlargeインスタンス

           APP                    APP                 APP

                 Client 1               Client 2            Client N




   ROMA1     ROMA2                                 ROMA N
                        ROMA Circle

                                                                       38
AWS上での結果1

• サーバ:4台
• クライアント:1台
      12,000


      10,000


       8,000


       6,000
qps
       4,000


       2,000


          0
               Read9:Write1   Read5:Write5   Read1:Write9

                                                            39
AWS上での結果2

 • サーバ:4台
 • クライアント:2~7台
      18,000

      16,000

      14,000

      12,000

      10,000                                 Read9:Write1
                                             Read5:Write5
       8,000                                 Read1:Write9
qps
       6,000

       4,000

       2,000

          0
               2   3   4         5   6   7


                       clients                              40
• ROMA 開発の背景

• ROMA の特徴

• ROMA アーキテクチャ

• 社内事例

• まとめ

                 41
まとめ


• Ruby製 分散KVS
• OSS
• スケーラビリティ
• 柔軟な拡張性
• 可用性
• 容易な導入・利用


                42
お知らせ



私たちと一緒に働きませんか?
        あなたのその技術を活かせる
        ポジションがきっとあります!

日本語 :http://www.rakuten.co.jp/recruit/
English:http://global.rakuten.com/careers/

                                             43
• ドキュメント
 – http://code.google.com/p/roma-prj/
• プラグイン追加
 – https://github.com/roma/roma/
• Ruby gem
 – http://rubygems.org/gems/roma
• AWSのAMI
 – AMI ID : ami-c2aa1bc3
 – Region : Tokyo
 – roma-0.8.10-ruby1.9.2-linux-x64-ubuntu-10.04
                                             44

More Related Content

What's hot

リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 Yugo Shimizu
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Masaru Watanabe
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deploymentssmdkk
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Taro L. Saito
 
OCP Serverを用いた OpenStack Containerの検証
 OCP Serverを用いたOpenStack Containerの検証 OCP Serverを用いたOpenStack Containerの検証
OCP Serverを用いた OpenStack Containerの検証Takashi Sogabe
 
What's new in Couchbase Server 4.0 ja
What's new in Couchbase Server 4.0 jaWhat's new in Couchbase Server 4.0 ja
What's new in Couchbase Server 4.0 jaCouchbase Japan KK
 
Log analysis with Hadoop in livedoor 2013
Log analysis with Hadoop in livedoor 2013Log analysis with Hadoop in livedoor 2013
Log analysis with Hadoop in livedoor 2013SATOSHI TAGOMORI
 
ConsulとNomadで簡単クッキング
ConsulとNomadで簡単クッキングConsulとNomadで簡単クッキング
ConsulとNomadで簡単クッキングMasatomo Ito
 
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介Sotaro Kimura
 
Cassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-martCassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-martAkihiro Sei
 
Windows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsWindows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsTakekazu Omi
 
WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法Takashi Hoshino
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私a know
 
IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift Daisuke Hiraoka
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesTaiki
 
OpenStack Block Storage (Cinder)
OpenStack Block Storage (Cinder)OpenStack Block Storage (Cinder)
OpenStack Block Storage (Cinder)Akira Yoshiyama
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
Spark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSpark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSotaro Kimura
 

What's hot (20)

リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
 
OCP Serverを用いた OpenStack Containerの検証
 OCP Serverを用いたOpenStack Containerの検証 OCP Serverを用いたOpenStack Containerの検証
OCP Serverを用いた OpenStack Containerの検証
 
What's new in Couchbase Server 4.0 ja
What's new in Couchbase Server 4.0 jaWhat's new in Couchbase Server 4.0 ja
What's new in Couchbase Server 4.0 ja
 
Log analysis with Hadoop in livedoor 2013
Log analysis with Hadoop in livedoor 2013Log analysis with Hadoop in livedoor 2013
Log analysis with Hadoop in livedoor 2013
 
ConsulとNomadで簡単クッキング
ConsulとNomadで簡単クッキングConsulとNomadで簡単クッキング
ConsulとNomadで簡単クッキング
 
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
 
Pulsar Handson 20180226
Pulsar Handson 20180226Pulsar Handson 20180226
Pulsar Handson 20180226
 
Couchbase 101 ja
Couchbase 101 jaCouchbase 101 ja
Couchbase 101 ja
 
Cassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-martCassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-mart
 
Windows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsWindows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and Internals
 
WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私
 
IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift IBM Developer Dojo Online 2019 #11 OpenShift
IBM Developer Dojo Online 2019 #11 OpenShift
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and Microservices
 
OpenStack Block Storage (Cinder)
OpenStack Block Storage (Cinder)OpenStack Block Storage (Cinder)
OpenStack Block Storage (Cinder)
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
Spark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSpark Structured Streaming with Kafka
Spark Structured Streaming with Kafka
 

Viewers also liked

The Overall Architecture of ROMA
The Overall Architecture of ROMAThe Overall Architecture of ROMA
The Overall Architecture of ROMAMuga Nishizawa
 
楽天テクノロジーカンファレン2009 基調講演
楽天テクノロジーカンファレン2009 基調講演楽天テクノロジーカンファレン2009 基調講演
楽天テクノロジーカンファレン2009 基調講演Rakuten Group, Inc.
 
Devsumi2012フィードバック オープニング
Devsumi2012フィードバック オープニングDevsumi2012フィードバック オープニング
Devsumi2012フィードバック オープニングRakuten Group, Inc.
 
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介infoScoop
 
Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09Yutaka Tajika
 
今日から始めるRxSwift
今日から始めるRxSwift今日から始めるRxSwift
今日から始めるRxSwiftKaoru Hotate
 
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみたYuki Takei
 
楽天におけるHadoop活用と、Big Dataのビジョン
楽天におけるHadoop活用と、Big Dataのビジョン楽天におけるHadoop活用と、Big Dataのビジョン
楽天におけるHadoop活用と、Big DataのビジョンRakuten Group, Inc.
 
第4回楽天研究開発シンポジウム.開会挨拶
第4回楽天研究開発シンポジウム.開会挨拶第4回楽天研究開発シンポジウム.開会挨拶
第4回楽天研究開発シンポジウム.開会挨拶Rakuten Group, Inc.
 
[Rakuten TechConf2014] [Sendai] Sense of SENS
[Rakuten TechConf2014] [Sendai] Sense of SENS[Rakuten TechConf2014] [Sendai] Sense of SENS
[Rakuten TechConf2014] [Sendai] Sense of SENSRakuten Group, Inc.
 
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう![RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!Rakuten Group, Inc.
 
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in JapanROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in JapanRakuten Group, Inc.
 
インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2Rakuten Group, Inc.
 
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...Rakuten Group, Inc.
 

Viewers also liked (20)

The Overall Architecture of ROMA
The Overall Architecture of ROMAThe Overall Architecture of ROMA
The Overall Architecture of ROMA
 
楽天テクノロジーカンファレン2009 基調講演
楽天テクノロジーカンファレン2009 基調講演楽天テクノロジーカンファレン2009 基調講演
楽天テクノロジーカンファレン2009 基調講演
 
Devsumi2012フィードバック オープニング
Devsumi2012フィードバック オープニングDevsumi2012フィードバック オープニング
Devsumi2012フィードバック オープニング
 
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
 
Devsumi2014 13 e-7-03
Devsumi2014 13 e-7-03Devsumi2014 13 e-7-03
Devsumi2014 13 e-7-03
 
Roma rolling update
Roma rolling updateRoma rolling update
Roma rolling update
 
Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09
 
今日から始めるRxSwift
今日から始めるRxSwift今日から始めるRxSwift
今日から始めるRxSwift
 
インフラの話
インフラの話インフラの話
インフラの話
 
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
 
Server-side Swift
Server-side SwiftServer-side Swift
Server-side Swift
 
Codevs5.0勉強会
Codevs5.0勉強会Codevs5.0勉強会
Codevs5.0勉強会
 
楽天におけるHadoop活用と、Big Dataのビジョン
楽天におけるHadoop活用と、Big Dataのビジョン楽天におけるHadoop活用と、Big Dataのビジョン
楽天におけるHadoop活用と、Big Dataのビジョン
 
第4回楽天研究開発シンポジウム.開会挨拶
第4回楽天研究開発シンポジウム.開会挨拶第4回楽天研究開発シンポジウム.開会挨拶
第4回楽天研究開発シンポジウム.開会挨拶
 
[Rakuten TechConf2014] [Sendai] Sense of SENS
[Rakuten TechConf2014] [Sendai] Sense of SENS[Rakuten TechConf2014] [Sendai] Sense of SENS
[Rakuten TechConf2014] [Sendai] Sense of SENS
 
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう![RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
 
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in JapanROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
 
Hadoop Conference Japan 2009 #2
Hadoop Conference Japan 2009 #2Hadoop Conference Japan 2009 #2
Hadoop Conference Japan 2009 #2
 
インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2
 
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
 

Similar to ROMA のアーキテクチャと社内事例

CAメインフレーム システムリソース削減に貢献する製品について
CAメインフレーム システムリソース削減に貢献する製品についてCAメインフレーム システムリソース削減に貢献する製品について
CAメインフレーム システムリソース削減に貢献する製品についてKaneko Izumi
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudKazuki Aranami
 
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)Panda Yamaki
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPRyoga Saito
 
Atc15_reading_networking_session
Atc15_reading_networking_sessionAtc15_reading_networking_session
Atc15_reading_networking_session紘也 金子
 
JiraとConfluenceのTips集
JiraとConfluenceのTips集JiraとConfluenceのTips集
JiraとConfluenceのTips集Hiroshi Ohnuki
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例erakazu
 
Jaws-ug 女子会 第六回 AWSを安く使う方法
Jaws-ug 女子会 第六回 AWSを安く使う方法Jaws-ug 女子会 第六回 AWSを安く使う方法
Jaws-ug 女子会 第六回 AWSを安く使う方法Yasuhiro Araki, Ph.D
 
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係moai kids
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料直久 住川
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングShin Matsumoto
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-Takashi Sogabe
 
2013.06.20 oss
2013.06.20 oss2013.06.20 oss
2013.06.20 ossRyo Fujita
 
Flume cassandra real time log processing (日本語)
Flume cassandra real time log processing (日本語)Flume cassandra real time log processing (日本語)
Flume cassandra real time log processing (日本語)CLOUDIAN KK
 

Similar to ROMA のアーキテクチャと社内事例 (20)

ROMAについて
ROMAについてROMAについて
ROMAについて
 
CAメインフレーム システムリソース削減に貢献する製品について
CAメインフレーム システムリソース削減に貢献する製品についてCAメインフレーム システムリソース削減に貢献する製品について
CAメインフレーム システムリソース削減に貢献する製品について
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
 
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDP
 
Atc15_reading_networking_session
Atc15_reading_networking_sessionAtc15_reading_networking_session
Atc15_reading_networking_session
 
JiraとConfluenceのTips集
JiraとConfluenceのTips集JiraとConfluenceのTips集
JiraとConfluenceのTips集
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
WalBの紹介
WalBの紹介WalBの紹介
WalBの紹介
 
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
 
Jaws-ug 女子会 第六回 AWSを安く使う方法
Jaws-ug 女子会 第六回 AWSを安く使う方法Jaws-ug 女子会 第六回 AWSを安く使う方法
Jaws-ug 女子会 第六回 AWSを安く使う方法
 
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニング
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 
2013.06.20 oss
2013.06.20 oss2013.06.20 oss
2013.06.20 oss
 
Flume cassandra real time log processing (日本語)
Flume cassandra real time log processing (日本語)Flume cassandra real time log processing (日本語)
Flume cassandra real time log processing (日本語)
 

More from Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のりRakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みRakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャーRakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfRakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfRakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technologyRakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャーRakuten Group, Inc.
 

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

ROMA のアーキテクチャと社内事例