SlideShare une entreprise Scribd logo
1  sur  32
Apache Cassandra
プロジェクトに
飛び込もう
Cassandra Summit Tokyo 2015
森下 雄貴
Apache Cassandraコミッター。
DataStaxで働くソフトウェアデベロッパー。
テキサス州オースティンにて、毎日ほぼ100% Cassandraの
コードを書く仕事をしています。
twitter: @yukim
github: https://github.com/yukim
freenode: yukim
Apache Cassandra
コミュニティーに参加して
プロジェクトに貢献しませんか?
プロジェクトに貢献する
!=
コードを書く
コード以外での貢献
コードを書くこと以外にもプロジェクトに貢献できま
す
● バグレポート/改善要望
● ヘルプ
● 事例紹介
コードを書くのが好きな人
● バグの修正
● 新機能の追加
● 周辺ツールの開発
貢献して何が嬉しいの?
プロジェクト全体として...
● バグの減少
● 新機能
● ノウハウの蓄積
● ...
貢献して何が嬉しいの?
個人として
● トラブルシュートに強くなる
○ コミュニティの活用
○ ソースコードの理解
● 世界有数のサービスを間接的に支えている
○ Apple、Netflix、Playstation Network
貢献して何が嬉しいの?
● お給料?
http://stackoverflow.com/research/developer-survey-2015
コミュニティーに参加する
コミュニケーション
● userメーリングリスト
○ アーキテクチャやデータモデリングの質問
○ 運用のアドバイス
○ エラー報告
● JIRA
○ バグの報告
○ 新機能の要望
○ 開発の中心
● IRC
○ メーリングリストのリアルタイム版
○ 時差が難点
コミュニケーション
● まずはメーリングリストに参加してみよう
○ user-subscribe@cassandra.apache.org に空メールを送るだ
け。確認メールが来たら返信ボタンを押して返信。
● 月に500通以上のメール
● ほぼすべてのメールに返信あり
そうは言っても英語の壁が...
● 慣れる
○ メーリングリストを眺め続ける
○ 毎日ちょっとずつが大事
● 真似る
○ 英語で書くときは他の人の真似をする
● 間違えは気にしない
○ 時制、3単現はよく間違える
○ 読んでる人の半分はネイティブじゃない
○ ネイティブだって間違える
でもやっぱり日本語で...
● 日本Cassandraコミュニティ
○ https://groups.google.com/forum/#!forum/cassandra-jp
● 見てます! 必ず返信するのでよろしくお願いしま
す!
でもやっぱり日本語で...
● Qiita
○ http://qiita.com/tags/cassandra
でもやっぱり日本語で...
● stackoverflow日本語版
○ http://ja.stackoverflow.com/questions/tagged/cassandra
Cassandraをハックする
必要なツール
● Java SDK
○ 2.1から8でコンパイル可能
● git
● Apache Ant
● (Python 2.x)
○ テストツールを動かすとき
開発者向け
コミュニケーションチャンネル
● メーリングリスト
○ dev@cassandra.apache.org
■ ディスカッション
■ リリース投票
○ commits@cassandra.apache.org
■ JIRA
■ git コミット
● IRC
○ #cassandra-dev
ソースコードの取得とビルド
● Apacheのレポジトリから
$ git clone  https://git-wip-us.
apache.org/repos/asf/cassandra.git
● ビルドはAntを利用
$ ant
IDEのセットアップ
● Eclipse
$ ant generate-eclipse-files
● IntelliJ IDEA
$ ant generate-idea-files
コードを書く前に
● Cassandraのアーキテクチャを理解する
○ 基本的な考え方は変わっていない
■ CommitLog, Memtable, SSTable etc.
○ 日本語ドキュメント
http://docs.datastax.com/ja/cassandra-jajp/2.
0/cassandra/architecture/architectureTOC.html
コードを書く前に
● ソースコードを読む
○ アーキテクチャと対応させながら読み進める
■ 書き込み/読み込み
● StorageProxy.java を起点に
■ オペレーション系
● StorageService.java を起点に
■ クラスタリング
● o.a.c.locator/o.a.c.dht パッケージ
● cassandra-2.0 ブランチがおすすめ
○ 最近はパフォーマンスアップのためのテクニックが満載
コーディングとテスト
● Cassandraコーディング規約
○ http://wiki.apache.org/cassandra/CodeStyle
● ユニットテスト
○ test/unit 以下がユニットテストソースコード
○ Ant を使って確認
$ ant test
$ ant test -Dtest.name=CompactionsTest
分散環境でのシステムテスト
● Cassandraは分散システム。
どうやってテストする?
○ ccm (Cassandra Cluster Manager)
○ cassandra-dtest
ccm
https://github.com/pcmanus/ccm
● CassandraクラスタをコマンドラインとPythonか
ら操作する
$ ccm create -n 3 test_cluster
$ ccm node1 stress
$ ccm node2 stop
cassandra-dtest https://github.
com/riptano/cassandra-dtest
● ccmを用いたcassandraクラスタテストスイート
● 実行には `nose`テストツールが必要
$ pip install nose
$ nosetests repair_test.py
“Low-Hanging Fruit”
● 難易度低めのJIRAチケット。
● まずは LHF からはじめて見よう。
https://issues.apache.org/jira/browse/CASSANDRA-8817?
jql=project%20%3D%20CASSANDRA%20AND%20labels%20%3D%20%22lhf%22%
20AND%20resolution%20%3D%20Unresolved
まとめ
● コードを書かなくてもApache Cassandraプロ
ジェクトに貢献できます
○ 英語がダメなら日本語でも!
● 書ける人はぜひチャレンジしてみてください。
○ “LHF” もあるよ!
お手伝いします。
yuki@datastax.com

Contenu connexe

Tendances

Webアプリケーションから見たCassandra
Webアプリケーションから見たCassandraWebアプリケーションから見たCassandra
Webアプリケーションから見たCassandra
2t3
 

Tendances (20)

Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax Enterpriseをはじめよう
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
Webアプリケーションから見たCassandra
Webアプリケーションから見たCassandraWebアプリケーションから見たCassandra
Webアプリケーションから見たCassandra
 
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
Apache cassandraと apache sparkで作るデータ解析プラットフォームApache cassandraと apache sparkで作るデータ解析プラットフォーム
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
 
サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方
 
DB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works ApplicationsDB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works Applications
 
(LT)Spark and Cassandra
(LT)Spark and Cassandra(LT)Spark and Cassandra
(LT)Spark and Cassandra
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016
 
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
 
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
 
RDBからの脱却: 新ERP"HUE"におけるCassandra
RDBからの脱却: 新ERP"HUE"におけるCassandraRDBからの脱却: 新ERP"HUE"におけるCassandra
RDBからの脱却: 新ERP"HUE"におけるCassandra
 
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポート
 
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
 

Similaire à [Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandraプロジェクトに飛び込もう!" by 森下雄貴

Similaire à [Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandraプロジェクトに飛び込もう!" by 森下雄貴 (20)

Azure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdfAzure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdf
 
印刷APIのサポート事情 - DevRel Meetup in Tokyo #17
印刷APIのサポート事情 - DevRel Meetup in Tokyo #17印刷APIのサポート事情 - DevRel Meetup in Tokyo #17
印刷APIのサポート事情 - DevRel Meetup in Tokyo #17
 
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
 
WordPress コミュニティ活動を盛り上げる 「コントリビューション」の考え方と実践 - What is "Contribution" in Word...
WordPress コミュニティ活動を盛り上げる「コントリビューション」の考え方と実践 - What is "Contribution" in Word...WordPress コミュニティ活動を盛り上げる「コントリビューション」の考え方と実践 - What is "Contribution" in Word...
WordPress コミュニティ活動を盛り上げる 「コントリビューション」の考え方と実践 - What is "Contribution" in Word...
 
de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!
 
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
「なんとなく」の壁を越えよう! 〜自信を持ってWordPressを選択するためのヒント〜
 
WordPress における コミュニティ翻訳の事例
WordPress における コミュニティ翻訳の事例WordPress における コミュニティ翻訳の事例
WordPress における コミュニティ翻訳の事例
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
 
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
ビザスクを支える技術 2017
ビザスクを支える技術 2017ビザスクを支える技術 2017
ビザスクを支える技術 2017
 
Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張
 
DevOps on Azure Kubernetes
DevOps on Azure KubernetesDevOps on Azure Kubernetes
DevOps on Azure Kubernetes
 
TECHPLAY CONFERENCE 2017 - IoTオーケストレーションサービス enebular を実現する AWS の技術
TECHPLAY CONFERENCE 2017 - IoTオーケストレーションサービス enebular を実現する AWS の技術TECHPLAY CONFERENCE 2017 - IoTオーケストレーションサービス enebular を実現する AWS の技術
TECHPLAY CONFERENCE 2017 - IoTオーケストレーションサービス enebular を実現する AWS の技術
 
Serverless Meetup Japan Virtual #6
Serverless Meetup Japan Virtual #6Serverless Meetup Japan Virtual #6
Serverless Meetup Japan Virtual #6
 
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorpマイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
 
顧客と輪るDev ops
顧客と輪るDev ops顧客と輪るDev ops
顧客と輪るDev ops
 

Plus de datastaxjp

Plus de datastaxjp (8)

検索エンジンPatheeがAzureとCassandraをどう利用しているのか
検索エンジンPatheeがAzureとCassandraをどう利用しているのか検索エンジンPatheeがAzureとCassandraをどう利用しているのか
検索エンジンPatheeがAzureとCassandraをどう利用しているのか
 
Cassandra v3.0 at Rakuten meet-up on 12/2/2015
Cassandra v3.0 at Rakuten meet-up on 12/2/2015Cassandra v3.0 at Rakuten meet-up on 12/2/2015
Cassandra v3.0 at Rakuten meet-up on 12/2/2015
 
Investigation of Transactions in Cassandra
Investigation of Transactions in CassandraInvestigation of Transactions in Cassandra
Investigation of Transactions in Cassandra
 
Cassandra summit 2015 レポート
Cassandra summit 2015 レポートCassandra summit 2015 レポート
Cassandra summit 2015 レポート
 
Cassandra Meetup Tokyo, 2015 Summer
Cassandra Meetup Tokyo, 2015 SummerCassandra Meetup Tokyo, 2015 Summer
Cassandra Meetup Tokyo, 2015 Summer
 
Cassandra and Spark
Cassandra and Spark Cassandra and Spark
Cassandra and Spark
 
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
 
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
 

Dernier

Dernier (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandraプロジェクトに飛び込もう!" by 森下雄貴