Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは?...

46
Copyright 2019 FUJITSU LIMITED ビッグデータエコシステムを形成する オープンソースソフトウェアの動向 2019年4月17日 日本OSS推進フォーラム ビッグデータ部会 所属 富士通株式会社 野山 孝太郎([email protected]0

Transcript of Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは?...

Page 1: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Copyright 2019 FUJITSU LIMITED

ビッグデータエコシステムを形成するオープンソースソフトウェアの動向

2019年4月17日日本OSS推進フォーラム ビッグデータ部会 所属富士通株式会社野山 孝太郎([email protected]

0

Page 2: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

自己紹介

Copyright 2019 FUJITSU LIMITED

名前 野山 孝太郎([email protected]

所属 富士通株式会社

オープンソース専門組織(OSS技術センター)

シニアマネージャー

その他

肩書き

■ 日本OSS推進フォーラム 理事

ビッグデータ部会、広報部会 副部会長

■ 北東アジアOSS推進フォーラム

標準化・認証研究Working Group 主査

■ PostgreSQL Enterprise Consortium

共同発起人、運営委員

■ PGConf. Asia 2016/2017 運営委員

■ PGConf. Asia 2018 運営委員長、など

1/ 44

Page 3: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

ビッグデータエコシステムを形成するオープンソースソフトウェア(鳥観図)

Copyright 2019 FUJITSU LIMITED2/ 44

Page 4: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Copyright 2019 FUJITSU LIMITED

「ビッグデータ」とは?

【参考】 平成24年版 情報通信白書(総務省)

ソーシャルメディアデータ

ソーシャルメディアにおいて参加者が書き込むプロフィール、コメント等

マルチメディアデータ

ウェブ上の配信サイト等において提供される音声、動画等

ウェブサイトデータ

ECサイトやブログ等において蓄積等される購入履歴、ブログエントリー等

カスタマーデータ

CRMシステムにおいて管理等されるDM等販促データ、会員カードデータ等

センサーデータ

GPS、ICカードやRFID等において検知等される位置、乗車履歴、温度、加速度等

オフィスデータ

オフィスのパソコン等において作成等されるオフィス文書、Eメール等

ログデータ

ウェブサーバ等において自動的に生成等されるアクセスログ、エラーログ等

オペレーションデータ

販売管理等の業務システムにおいて生成等されるPOSデータ、取引明細データ等

ビッグデータICT(情報通信技術)の進展により

生成・収集・蓄積等が可能・容易になる多種多量のデータ(ビッグデータ)を

活用することにより、異変の察知や近未来の予測等を通じ、

利用者個々のニーズに即したサービスの提供、業務運営の効率化や新産業の創出等が可能。

3/ 44

Page 5: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

「ビッグデータ」の中核となるオープンソース

Copyright 2019 FUJITSU LIMITED

ソーシャルメディアデータ

ソーシャルメディアにおいて参加者が書き込むプロフィール、コメント等

マルチメディアデータ

ウェブ上の配信サイト等において提供される音声、動画等

ウェブサイトデータ

ECサイトやブログ等において蓄積等される購入履歴、ブログエントリー等

カスタマーデータ

CRMシステムにおいて管理等されるDM等販促データ、会員カードデータ等

センサーデータ

GPS、ICカードやRFID等において検知等される位置、乗車履歴、温度、加速度等

オフィスデータ

オフィスのパソコン等において作成等されるオフィス文書、Eメール等

ログデータ

ウェブサーバ等において自動的に生成等されるアクセスログ、エラーログ等

オペレーションデータ

販売管理等の業務システムにおいて生成等されるPOSデータ、取引明細データ等

4/ 44

Page 6: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

「Apache Hadoop」とは?

ビッグデータの為の分散処理フレームワーク。

Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Apache Hadoopの構成(ver 2.0以降)

分散処理エンジン⇒ 大量のデータを複数のワーカーで並列に処理する仕組み。

分散リソース管理⇒ 分散処理のリソースを制御する仕組み。

分散ファイルシステム⇒ 大量のデータを複数のサーバで管理する仕組み。

Copyright 2019 FUJITSU LIMITED5/ 44

Page 7: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

「ビッグデータ」を取り巻く機能要素

Copyright 2019 FUJITSU LIMITED

蓄積(様々なデータを蓄積する)

利用(様々なデータを利用する)

収集(様々なデータを収集する)

6/ 44

Page 8: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

「ビッグデータ」を取り巻く機能要素(少し詳しく)

Copyright 2019 FUJITSU LIMITED

蓄積

利用

収集

構造化データの収集(RDBなど)

非構造化データの収集(ログ、センサーデータなど)

ファイルシステム

データストア

分散処理エンジン

ストリームデータ処理 クエリエンジン AIデータ分析検索エンジン

分散リソース管理

7/ 44

Page 9: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Apache Hadoopの位置付け

Copyright 2019 FUJITSU LIMITED

蓄積

利用

収集

構造化データの収集 非構造化データの収集

ファイルシステム

データストア

分散処理エンジン

ストリームデータ処理 クエリエンジン AIデータ分析検索エンジン

分散リソース管理

8/ 44

Page 10: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Apache Hadoop+Apache エコシステム

Copyright 2019 FUJITSU LIMITED

蓄積

利用

収集

構造化データの収集 非構造化データの収集

ファイルシステム

データストア

分散処理エンジン

ストリームデータ処理 クエリエンジン AIデータ分析検索エンジン

分散リソース管理

9/ 44

Page 11: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Apache Project以外の著名なオープンソース

Copyright 2019 FUJITSU LIMITED

蓄積

利用

収集

構造化データの収集 非構造化データの収集

ファイルシステム

データストア

ストリームデータ処理 クエリエンジン AIデータ分析検索エンジン

Pravega

10/ 44

Page 12: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

組み合わせ例:Hortonworks(一部)

Copyright 2019 FUJITSU LIMITED

蓄積

利用

収集

構造化データの収集 非構造化データの収集

ファイルシステム

データストア

分散処理エンジン

ストリームデータ処理 クエリエンジン AIデータ分析検索エンジン

分散リソース管理

11/ 44

Page 13: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

組み合わせ例:Cloudera(一部)

Copyright 2019 FUJITSU LIMITED

蓄積

利用

収集

構造化データの収集 非構造化データの収集

ファイルシステム

データストア

分散処理エンジン

ストリームデータ処理 クエリエンジン AIデータ分析検索エンジン

分散リソース管理

12/ 44

Page 14: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

組み合わせ例:Uber(一部)

Copyright 2019 FUJITSU LIMITED

蓄積

利用

収集

構造化データの収集 非構造化データの収集

ファイルシステム

データストア

分散処理エンジン

ストリームデータ処理 クエリエンジン AIデータ分析検索エンジン

分散リソース管理

独自のクラスタ間レプリケーションの仕組みをオープンソースとして公開

(uReplicator)

13/ 44

Page 15: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

組み合わせ例:Airbnb(一部)

Copyright 2019 FUJITSU LIMITED

蓄積

利用

収集

構造化データの収集 非構造化データの収集

ファイルシステム

データストア

分散処理エンジン

ストリームデータ処理 クエリエンジン AIデータ分析検索エンジン

分散リソース管理

独自の機械学習ライブラリを

オープンソースとして公開(Aerosolve)

独自のクエリ実行エンジンを

オープンソースとして公開(Airpal)

14/ 44

Page 16: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

ビッグデータ基盤を本格的に使いこなす為に

Copyright 2019 FUJITSU LIMITED

ビッグデータ基盤

運用(監視/管理) セキュリティ(認証など)

15/ 44

Page 17: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

各ソフトウェアの動向(成熟度観点)

Copyright 2019 FUJITSU LIMITED16/ 44

Page 18: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

富士通の成熟度アセスメント事例

Copyright 2019 FUJITSU LIMITED

開発の傾向

開発のオープン性

開発の継続性/安定性

ライセンス

ソースコードの品質

ソフトウェアの品質

利用の傾向

技術情報の入手難易度

実績/事例

■ライセンスの詳細な条件。■過去、利用者に不利なライセンスに変更された実績がないか。

■開発者の所属。※特定企業の影響を判断。■設計や開発への要求の仕方や参加の仕方がオープンか。

■開発に参加するエンジニアの推移。■開発が安定しているか。リリースが安定しているか。

■複雑度や結合度などソースコード自体の品質。■網羅性などのテスト品質。

■バグの発生傾向や修正品質(期間など)。■脆弱性の発生傾向や修正品質(期間など)。

■マニュアルなどの整備状況。■書籍や勉強会の量、利用者コミュニティの規模など。■有償版やテクニカルサポートなどの提供有無。

■エンタープライズでの利用実績や事例。■各種アワードなどの受賞暦。

【代表的な観点】成熟度

機能/非機能要件

17/ 44

Page 19: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

著名なオープンソースの整理(with ライセンス)機能 ソフトウェア オープンソースライセンス

収集 構造化データの収集 Apache Sqoop Apache License 2.0

非構造化データの収集 Apache Kafka Apache License 2.0

Apache Flume Apache License 2.0

Apache Chukwa Apache License 2.0

Fluentd Apache License 2.0

Logstash Apache License 2.0

Beats Apache License 2.0

蓄積 ファイルシステム Apache Hadoop HDFS Apache License 2.0

Ceph GNU Lesser General Public License (LGPL) version 2.1

GlusterFS GNU General Public License (GPL) v3

データストア Apache HBase Apache License 2.0

Apache Cassandra Apache License 2.0

Apache Kudu Apache License 2.0

MongoDB Server Side Public License

Redis 3-clause BSD License

Riak Apache License 2.0

OrientDB Apache License 2.0

Neo4j GNU General Public License (GPL) v3

GridDB GNU Affero General Public License (AGPL) v3 /Apache License 2.0

Copyright 2019 FUJITSU LIMITED18/ 44

Page 20: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

著名なオープンソースの整理(with ライセンス)機能 ソフトウェア オープンソースライセンス

利用 分散リソース管理 Apache Hadoop YARN Apache License 2.0

Apache Mesos Apache License 2.0

分散処理エンジン Apache Hadoop MapReduce Apache License 2.0

Apache Spark Apache License 2.0

Apache Tez Apache License 2.0

ストリームデータ処理 Apache Storm Apache License 2.0

Apache Flink Apache License 2.0

Apache Samza Apache License 2.0

Apache Spark Streaming Apache License 2.0

Pravega Apache License 2.0

クエリエンジン Apache Hive Apache License 2.0

Apache Impala Apache License 2.0

Apache Phoenix Apache License 2.0

Apache Spark SQL Apache License 2.0

Apache Pig Apache License 2.0

Presto Apache License 2.0

検索エンジン Apache Solr Apache License 2.0

Elasticsearch Apache License 2.0

データ分析 Apache Drill Apache License 2.0

Apache Zeppelin Apache License 2.0

JuPyter Notebook 3-clause BSD License

AI(機械学習/深層学習) Apache Mahout Apache License 2.0

Apache MXNet Apache License 2.0

Apache Spark MLlib Apache License 2.0

Tensorflow Apache License 2.0

CoreML 3-Clause BSD License

PyTorch 3-Clause BSD License

Chainer MIT License

CNTK MIT License

PaddlePaddle Apache License 2.0

Copyright 2019 FUJITSU LIMITED19/ 44

Page 21: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

世の中には一般的にどのライセンスが多いのか?

GitHubのプロジェクトが採用しているライセンスは約45%がMIT Licenseとなっている。

次いでGNU GPL v2、Apache License、GNU GPL v3と続く。

Copyright 2019 FUJITSU LIMITED

https://blog.github.com/2015-03-09-open-source-license-usage-on-github-com/

20/ 44

Page 22: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

ビッグデータ領域での採用ライセンスの傾向

Apache Projectのソフトウェアも多く、大半(約8割)はApache License 2.0を採用。

Copyright 2019 FUJITSU LIMITED

Apache License 2.078%

21/ 44

Page 23: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

開発者数の推移

Copyright 2019 FUJITSU LIMITED

0

50

100

150

200

250

Apache Mahout Apache MXNet Apache Hadoop Redis Apache Spark

Pravega PyTorch Apache Phoenix Riak Apache Kafka

Apache Mesos Apache Cassandra Apache Tez GlusterFS Apache Flink

Apache Zeppelin Apache Pig Apache Impala Logstash Neo4j

Apache Storm JuPyter Notebook Apache Drill PaddlePaddle CNTK

GridDB Apache Kudu Apache Sqoop OrientDB Tensorflow

Presto Fluentd Chainer Apache Samza Apache HBase

Apache Flume CoreML Ceph Beats Apache Solr

Apache Chukwa MongoDB Elasticsearch Apache Hive

Tensorflow

Apache Spark

Ceph

Elasticsearch

PyTorch

22/ 44

Page 24: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

開発者数の推移(Apache Project)

Copyright 2019 FUJITSU LIMITED

0

20

40

60

80

100

120

140

160

Apache Mahout Apache MXNet Apache Hadoop Apache Spark Apache Phoenix

Apache Kafka Apache Mesos Apache Cassandra Apache Tez Apache Flink

Apache Zeppelin Apache Pig Apache Impala Apache Storm Apache Drill

Apache Kudu Apache Sqoop Apache Samza Apache HBase Apache Flume

Apache Solr Apache Chukwa Apache Hive

Apache Spark

Apache MXNet

Apache Mesos

23/ 44

Page 25: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

開発量の推移

Copyright 2019 FUJITSU LIMITED

0

500

1,000

1,500

2,000

2,500

3,000

Apache Mahout Apache MXNet Apache Hadoop Redis Apache Spark

Pravega PyTorch Apache Phoenix Riak Apache Kafka

Apache Mesos Apache Cassandra Apache Tez GlusterFS Apache Flink

Apache Zeppelin Apache Pig Apache Impala Logstash Neo4j

Apache Storm JuPyter Notebook Apache Drill PaddlePaddle CNTK

GridDB Apache Kudu Apache Sqoop OrientDB Tensorflow

Presto Fluentd Chainer Apache Samza Apache HBase

Apache Flume CoreML Ceph Beats Apache Solr

Apache Chukwa MongoDB Elasticsearch Apache Hive

Tensorflow

Ceph

Neo4j

MongoDB

24/ 44

Page 26: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

開発量の推移(Apache Project)

Copyright 2019 FUJITSU LIMITED

0

100

200

300

400

500

600

700

800

900

Apache Mahout Apache MXNet Apache Hadoop Apache Spark Apache Phoenix

Apache Kafka Apache Mesos Apache Cassandra Apache Tez Apache Flink

Apache Zeppelin Apache Pig Apache Impala Apache Storm Apache Drill

Apache Kudu Apache Sqoop Apache Samza Apache HBase Apache Flume

Apache Solr Apache Chukwa Apache Hive

Apache Mesos Apache MXNet

Apache Spark

25/ 44

Page 27: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

開発言語の割合

Copyright 2019 FUJITSU LIMITED

Java47.47%

C++16.47%

26/ 44

Page 28: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

開発言語の割合(ソフトウェア単位)

Copyright 2019 FUJITSU LIMITED

0

10

20

30

40

50

60

70

80

90

100

Apache M

ahout

Apache M

XN

et

Apache H

adoop

Redis

Apache S

park

PyTorc

h

Apache P

hoenix

Ria

k

Ela

stic

searc

h

Apache K

afk

a

Apache M

eso

s

Apache C

ass

andra

Apache T

ez

Glu

sterF

S

Apache F

link

Apache Z

eppelin

Apache P

ig

Logst

ash

Apache S

torm

JuPyte

r N

ote

book

Apache D

rill

Paddle

Paddle

CN

TK

GridD

B

Apache K

udu

Apache S

qoop

OrientD

B

Tensorf

low

Pre

sto

Flu

entd

Chain

er

Apache S

am

za

Apache I

mpala

Apache F

lum

e

Core

ML

MongoD

B

Ceph

Beats

Apache S

olr

Apache C

hukw

a

Apache H

Base

Neo4j

Apache H

ive

Pra

vega

Java C++ Python Scala C Ruby JavaScript Go Shell その他

27/ 44

Page 29: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

バグ解決率

Copyright 2019 FUJITSU LIMITED

10.66

25.51

26.67

42.59

44.85

46.60

49.64

52.10

52.92

58.99

59.36

61.53

62.00

62.63

69.00

70.70

71.31

71.75

73.02

73.20

75.97

76.08

79.42

79.70

80.11

80.15

82.32

82.45

83.94

85.51

86.28

86.52

86.95

87.73

88.00

88.04

89.27

89.79

91.23

91.84

92.39

93.55

100.00

0.00 20.00 40.00 60.00 80.00 100.00 120.00

Apache Sqoop

Apache Pig

Apache Kudu

Apache Hive

Apache Phoenix

Apache Solr

Apache Hadoop

GridDB

Apache Flume

Redis

Apache Tez

GlusterFS

Apache Chukwa

Apache Cassandra

Apache Samza

Apache Mesos

Apache Kafka

Apache HBase

CNTK

JuPyter Notebook

Pravega

CoreML

OrientDB

Beats

PaddlePaddle

Apache Drill

PyTorch

MongoDB

Neo4j

Apache MXNet

Tensorflow

Riak

Elasticsearch

Chainer

Logstash

Apache Zeppelin

Apache Mahout

Apache Storm

Fluentd

Apache Flink

Presto

Apache Spark

Apache Impala

バグの管理形態が個々に異なる為一概にこの値のみで

品質の良し悪しを論じることはできない

28/ 44

Page 30: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

バグの解決率推移

Copyright 2019 FUJITSU LIMITED

0

10

20

30

40

50

60

70

80

90

100

Apache Mahout Apache MXNet Apache Hadoop Redis Apache Spark

Pravega PyTorch Apache Phoenix Riak Elasticsearch

Apache Kafka Apache Drill Apache Cassandra Apache Tez GlusterFS

Apache Flink Apache Zeppelin Apache Pig Logstash Apache Storm

JuPyter Notebook Apache Mesos PaddlePaddle CNTK GridDB

Apache Kudu Apache Sqoop OrientDB Tensorflow Presto

Fluentd Chainer Apache Samza Apache Impala Apache Flume

CoreML MongoDB Beats Apache Solr Apache Chukwa

Apache HBase Neo4j Apache Hive

29/ 44

Page 31: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

バグ解決品質(例)

バグの発生頻度や優先度を考慮した解決までの日数などを評価。

Copyright 2019 FUJITSU LIMITED

MongoDB

Apache Cassandra

30/ 44

Page 32: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

ソースコード品質(複雑度の例)

ソースコードの静的解析による品質(可読性など)を評価。

Copyright 2019 FUJITSU LIMITED

MongoDB

Apache Cassandra

1.0.0 2.0.0

3.0.02.0.01.0.0

31/ 44

Page 33: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

受賞歴

The bestmachine learning tools

The best data storageAnd analytics tools

Bossies 2017

他に、Synaptic、Scikit-learn、Caffe2、H2O、CatBoost、XGBoost、Octaveが受賞。

他に、CockroachDB、MapD、CrateDB、Greenplum、Apache Arrow、R、Cruise、JanusGraph、Apache ThinkerPopが受賞。

Bossies 2018

他に、Keras、Fast.ai、H2O、Featuretools、Horovod、Fabric for Deep Learningが受賞。

他に、Apache Pulsar、Apache Beam、KNIME、CockroachDB、Vitess、TiDB、YugaByteDBが受賞。

Copyright 2019 FUJITSU LIMITED32/ 44

Page 34: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

なぜウォッチが必要なのか?

Copyright 2019 FUJITSU LIMITED

開発の推移を見ることで、活性/非活性なプロジェクトを判断する指針の一つとする。

Tensorflow PyTorch Caffe

Chainer KerasJubatus

➡ 単純な増減や開発量の大小のみで活性/非活性は判断できない。あくまで複数ある評価軸の一つでしかない点は注意。

33/ 44

Page 35: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

最近のライセンス関連の話題

React.js

Facebookは、Apache License 2.0から、特別な特許条項を持つBSDライクなライセンスへ変更。

Apache Software Foundationが、Category-X(禁忌)リストに追加、WordPressがReactの仕様を中止するなど、影響拡大。

その後、批判を受けて「MIT License」に再度変更。

MongoDB

米MongoDBはオープンソース版のライセンスを、これまでAGPLからServer Side Public License(SSPL)へ変更。

SSPLはAGPLをベースとしつつ、クラウド事業者対抗の為、第13条をより厳密化。

Redis

開発元であるRedis Labsが提供する追加モジュールのライセンスにCommons Clauseを追加。

Apache License 2.0の内容に従いつつ、ソフトウェアの販売権を認めない。

Copyright 2019 FUJITSU LIMITED34/ 44

Page 36: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

React.js

Copyright 2019 FUJITSU LIMITED

2015年 2016年 2017年 2018年

アクティブな開発者数

コミット数

開発者ごとのコミット割合

35/ 44

Page 37: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

React.js

主要開発者の変遷:

Facebook社所属のエンジニアを中心に開発が進む。

Copyright 2019 FUJITSU LIMITED

2015年 2016年 2017年 2018年

Sophie Alpert(元Facebook)

Sebastian Markbage(Facebook)

Paul O’Shannessy(Facebook)

Dan Abramov(Facebook)

Paul O’Shannessy(Facebook)

Sophie Alpert(元Facebook)

Sebastian Markbage(Facebook)

Sebastian Markbage(Facebook)

Sebastian Markbage(Facebook)

Jim(不明)

Jim(不明)

marocchino(不明)

Dan Abramov(Facebook)

Dan Abramov(Facebook)

Brian Vaughn(Facebook)

Brian Vaughn(Facebook)

Brian Vaughn(Facebook)

Andrew Clark(Facebook)

Andrew Clark(Facebook)

Andrew Clark(Facebook)

Sophie Alpert(元Facebook)

Sophie Alpert(元Facebook)

:

: ※7位

※9位

36/ 44

Page 38: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

React.js

React.jsの中の”Copyright (c)”表記:658箇所

ほぼすべての著作権を単独の企業(Facebook, Inc.)が保持。

Copyright 2019 FUJITSU LIMITED37/ 44

Page 39: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

MongoDB

Copyright 2019 FUJITSU LIMITED

2015年 2016年 2017年 2018年

アクティブな開発者数

コミット数

開発者ごとのコミット割合Benety Goh

Kaloian Manassiev(MongoDB)

38/ 44

Page 40: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

MongoDB

MongoDBの中の”Copyright (c)”表記:4,747箇所

ほぼすべての著作権を単独の企業(MongoDB, Inc.)が保持。

Copyright 2019 FUJITSU LIMITED

“/src/mongo”配下のみを対象

39/ 44

Page 41: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Redis

Copyright 2019 FUJITSU LIMITED

2015年 2016年 2017年 2018年

アクティブな開発者数

コミット数

開発者ごとのコミット割合

40/ 44

Page 42: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Redis

主要開発者の変遷:

開発の主軸は、Redis Labs所属のSalvatore Sanfilippo氏。

Copyright 2019 FUJITSU LIMITED

2015年 2016年 2017年 2018年

Salvatore Sanfilippo(Redis Labs)

Salvatore Sanfilippo(Redis Labs)

Salvatore Sanfilippo(Redis Labs)

Salvatore Sanfilippo(Redis Labs)

Matt Stancliff(個人)

Jan-Erik Rediger(RustFest.EU)

Itamar Haber(Redis Labs)

Itamar Haber(Redis Labs)

Itamar Haber(Redis Labs)

Paul Kulchenko(ZeroBrane Studio)

Yossi Gottlieb(個人)

※19位

Yossi Gottlieb(個人)

Dvir Volk(Redis Labs)

Dvir Volk(Redis Labs)

Oran Agra(Redis Labs)

Oran Agra(Redis Labs)

Oran Agra(Redis Labs)

zhaozhao.zz(Alibaba)

zhaozhao.zz(Alibaba)

Yossi Gottlieb(個人)

※21位

artix(StreetLib)

Tony Xia(Alibaba)

Itamar Haber(Redis Labs)

Dvir Volk(Redis Labs)

※20位

※7位

41/ 44

Page 43: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

Redis

Redisの中の”Copyright (c)”表記:257箇所

組織名ではなく、個人名(大半はRedis Labs所属)で著作権を表記。

Copyright 2019 FUJITSU LIMITED42/ 44

Page 44: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

まとめ

Copyright 2019 FUJITSU LIMITED43/ 44

Page 45: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。

まとめ

ビッグデータ領域では、様々なオープンソースが新しく生まれており、その流行り廃り(成熟度)を判断する事も重要です。

本日は富士通や日本OSS推進フォーラム ビッグデータ部会で実施している成熟度評価の触りをご紹介しました。

とは言え、個々に成熟度を評価し続けることは非常に大変な為、まずはディストリビューションとして提供されている構成を前提として考えてみる事も、良い進め方だと思います。

ぜひ、この領域を楽しんで下さい。

Copyright 2019 FUJITSU LIMITED44/ 44

Page 46: Fujitsu Standard Toolossforum.jp/jossfiles/03... · 2019-04-22 · 「Apache Hadoop」とは? ビッグデータの為の分散処理フレームワーク。 Googleの分散処理基盤(MapReduce、GFS)を参考にして開発された。