OSSデータベース調査 NoSQLデータベース編

# はじめに

2018 年の新規導⼊データベースが70%はOSSという[ガートナー調査結果](https://www.splendiddata.com/2017/06/06/gartner-says-2018-70-new-applications-will-run-open-source-databases/)にあるように、OSSデータベースの採用が増えています。

![OSS_DB.jpg](https://qiita-image-store.s3.amazonaws.com/0/308856/74871952-3b0e-c6d4-58d7-e764216e5974.jpeg)

OSS データベースを選択する際には、機能及び性能以外のライセンス、サポート、導入実績、コミュニティの活動状況等といった要因も重要なポイントになります。
データベースの種類に着目すると、RDBMS ( Relational Database Management System ) 以外に、NoSQL データベースなど RDBMS の⽋点であるスケーラビリティや⾮構造化データの扱いの部分を補完するデータベースも登場して、利用も増えてきています。

![DB_market.jpg](https://qiita-image-store.s3.amazonaws.com/0/308856/fff8c238-343c-ed16-4679-a2347b121471.jpeg)


そこで、今回は各種 OSS NoSQL 型データベースについてライセンス、サポート、導入実績、コミュニティの視点からまとめてみました。
RDBMSについては、[OSSデータベース調査 RDBMS編](https://qiita.com/kanegoon/items/9597a4f70033b686ff16)をご覧下さい。

# 調査対象となる OSS NoSQLデータベースについて

NoSQL データベースはデータ構造の違いから Key/Value 型、ドキュメント指向型、カラム指向型、グラフ
型、時系列型など様々なデータベースが存在します。[DB-Engines Ranking](https://db-engines.com/en/ranking/) を見ると、Key/Value 型は Redis、ドキュメント指向型は MongoDB、カラム指向型は Cassandra、HBase、グラフ型は Neo4J、時系列は InfluxDB が人気が高いです。
また、国産 OSS NoSQLデータベース GridDB の動向は気になっています。

そこで、まずは Redis、MongoDB、Cassandra、HBase、Neo4J、InfluxDB、GridDB の7つの OSS NoSQL型データベースについて調査してみました。
NoSQL データベースの中でも、時系列データベースに関しては、[時系列データベースの比較](https://qiita.com/kanegoon/items/054b53c4c15609d32d3a)で掘り下げて調査していますのでご覧下さい。

# Redis

Key-Value 型の NoSQL DB。Redis はメモリ上で保持ため、高速に読み書き可能とします。<br>
参照：[NOSQLの基本知識](http://www.amazon.co.jp/dp/4897978874)

**基本情報**

| 項目 | 内容 |
| :--- | :--- |
| ホームページ | https://redis.io/ |
| 最新バージョン | Redis 5.0.3 ( 2018-12-11 ) |
| 開発言語 | ANSI C <br>https://redis.io/topics/introduction |
| 動作環境 | CPU：ビッグエンディアン、リトルエンディアン、32ビット、64ビットのアーキテクチャに対応<br>メモリ：フットプリント 3 ~ 4MB、インメモリであるためデータ量応じてメモリ使用量も大きくなります。<br>OS：Linux, macOSX, OpenBSD, NetBSD, FreeBSD<br>参照 : [Introduction to Redis](https://redis.io/topics/introduction)<br>Windows版は以下のリポジトリで提供されていますが、最新に追従されていません。<br>https://github.com/MicrosoftArchive/redis
| ライセンス | BSD License<br>https://redis.io/topics/license<br>Redis Labsが提供する一部の拡張モジュールのライセンスはCommon Clouse付Apache v2ライセンス<br>https://redislabs.com/community/licenses/ |
| 特徴 | Redis は永続化可能なインメモリデータベースです。データモデルは Key-Value 型だが、Value はStrings, Lists, Sets, Sorted Sets, Hashes, HyperLogLogs, Bitmaps をサポートしています。<br>クラスタ構成を容易に構築できるため高可用性の提供が可能です。<br>トランザクション、非同期レプリケーション、Pub/Sub、Luaスクリプト、有効期限付きKEY、KEY の LRU エビクション、自動フェールオーバなどの機能も備えています。<br>C/C++, C#, Java PHP, Perl, Python, Ruby, Lua など多くのプログラミング言語から使用することが可能です。<br>参照 : [Introduction to Redis](https://redis.io/topics/introduction) |
| 適している利用シーン | 高速性が求められるデータキャッシュなどでの利用。インメモリであるため、一般的なデータベースより性能面で優位です。<br>参照 : [Redis FAQ](https://redis.io/topics/faq) |
| 適していない利用シーン | データベースの ACID 特性 ( 原子性、一貫性、独立性、永続性 ) を遵守する必要があるシステム/アプリケーション。特にインメモリであるため、電源段などのトラブルに弱いです。<br>[Redis FAQ](https://redis.io/topics/faq) |

**開発情報**

| 項目 | 内容 |
| :--- | :--- |
| 開発主体 | [Redis Labs](https://redislabs.com/company/) |
| 開発体制 | Salvatore Sanfilippo 氏を中心に 100名の Contributor で開発<br>https://github.com/antirez/redis/graphs/contributors |
| 参加企業 | 過去 Vmware, Pivotal, Linode, Slicehost などの企業がサポート<br>参照 : [Redis Sponsors](https://redis.io/topics/sponsors) |
| リポジトリ | https://github.com/antirez/redis |
| 開発コミュニティ | メーリングリスト、Github が提供されています。<br>参照 : [Community](https://redis.io/community) |
| 開発コミュニティ活動状況 | 月間約 20件のソースコード・コミット、約 25件のチケット発行があります。<br>https://github.com/antirez/redis/graphs/commit-activity<br>https://github.com/antirez/redis/pulse/monthly |

**サポート情報**

| 項目 | 内容 |
| :--- | :--- |
| コミュニティサポート | メーリングリスト、Stack Overflow、Local Meetup が提供されています。<br>参照 : [Community](https://redis.io/community) |
| コミュニティ活動状況 | Stack Overflow で月間 約 340 の Q&A<br>https://stackoverflow.com/questions/tagged/redis |
| サポート企業 | Redis Labs がサポートを提供しています。<br>参照 : [Support](https://redis.io/support)<br>NRI は各種 OSS サポートの中で Redis を対応しています。<br>参照 : [Redis最新情報](http://openstandia.jp/oss_info/redis/) |
| サポートメニュー/費用 | Redis Labs：Enterprise 向けにサポートメニュー有、費用は要問い合わせ<br>参照 : [Redis Enterprise Software Pricing](https://redislabs.com/redis-enterprise/software/software-pricing/) |

**歴史**

| 項目 | 内容 |
| :--- | :--- |
| 開発開始時期 | 2010-03　VMWare の内部プロジェクトで Redis 開発を開始<br>参照 : [antirez weblog](http://oldblog.antirez.com/post/vmware-the-new-redis-home.html) |
|開発の経緯 | リアルタイム・ログ解析 Web アプリケーション LLOOGG の要求で Redis の開発を開始<br>参照 : [LLOOGG realtime log analyzer web app](https://github.com/antirez/lloogg)<br>2009～2013-05は、VMware の Salvatore Sanfilippo 氏と Pieter Noordhuis 氏が開発<br>2013-05～2015-06　Pivotal がスポンサーとなり、Salvatore Sanfilippo 氏が開発<br>2015-06　Redis Labs がスポンサーとなり、Salvatore Sanfilippo 氏が開発<br>参照 : [Redis Sponsors](https://redis.io/topics/sponsors)
| 最近のメジャーリリース履歴 | 2015-07-06 Redis 3.0.0 Redis Cluster をサブセットとして実装<br>2016-05-17 Redis 3.2.0 BITFIELDコマンド、各種フォーマットの追加<br>2017-07-14 Redis 4.0.0 モジュール機能の追加 ( モジュールをロードしてRedisから使用 )<br>2018-10-17 Redis 5.0.0 Streamデータ型、新しいモジュールAPI ( Timers, Cluster )など<br>https://github.com/antirez/redis/blob/5.0/00-RELEASENOTES |
| リリース頻度 | 年間 10回程度のリリース。メジャ・リリースは年1回程度<br>https://github.com/antirez/redis/blob/5.0/00-RELEASENOTES

**適用状況**

| 項目 | 内容 |
| :--- | :--- |
| 適用システム | クラウドサービスのデータキャッシュ機能 ( [Redis Cloud](https://redislabs.com/products/redis-cloud/), [Amazon ElastiCache](https://aws.amazon.com/jp/elasticache/redis-details/), [Azure Redis Cache](https://azure.microsoft.com/ja-jp/services/cache/) )<br>動画放送、スマートフォン向けゲーム ( [ニコニコ動画](http://gihyo.jp/dev/feature/01/redis/0001), [戦国炎舞](http://gihyo.jp/dev/serial/01/sumzap/0001) ) |
| 適用数 | 2017年OSS データベースサーバの世界シェアは3%。<br>https://jelastic.com/blog/software-stacks-statistics-within-jelastic-cloud-2017/ |
| 適用企業 | Twitter, GitHub, Weibo, Pinterest, Snapchat, StackOverflow, Flickr などの企業<br>参照 : [Who's using Redis?](https://redis.io/topics/whos-using-redis) |

# MongoDB

ドキュメント指向型の NoSQL データベースです。スキーマ設計が不要で、ドキュメントをデータとして格納MongoDB はシャーディングと呼ばれる負荷分散によって性能の向上を実現しています。<br>参照：[NOSQLの基本知識](http://www.amazon.co.jp/dp/4897978874)

**基本情報**

| 項目 | 内容 |
| :--- | :--- |
| ホームページ | https://www.mongodb.com/ |
| 最新バージョン | Release 4.0.2 ( 2018-12-19 ) |
| 開発言語 | 開発言語：C++<br>参照 : [Build Mongodb From Source](https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source) |
| 動作環境 | CPU：x86_64, ARM64, PPC64LE, s390x<br>メモリ：256MB以上<br>OS：Windows, Linux, MacOS, Solaris<br>参照 : [Production Notes](https://docs.mongodb.com/manual/administration/production-notes)/
| ライセンス | MongoDB DB：MongoDB, Inc.の [Server Side Public License](https://www.mongodb.com/licensing/server-side-public-license)(2018/10/16以前のバージョンはAGPL v3.0), 製品ライセンスのデュアルライセンスです。MongoDB, Inc.から製品ライセンスの提供が可能です。<br>ドライバ： Apache License v2.0.<br>参照 : [MongoDB Licensing](https://www.mongodb.com/community/licensing) |
| 特徴 | MongoDB は単体のサーバの実装も、複数拠点での分散開発も、実用化できるように設計されています。レプリケーション、自動フェールオーバの機能も MongoDB に統合されています。<br>参照 : [MongoDB](https://www.mongodb.com/jp)<br>また、MySQL のようにストレージ・エンジン選択することが可能です。<br>参照 : [FAQ: MongoDB Storage](https://docs.mongodb.com/manual/faq/storage)<br>C, C++, C#, Java, python, ruby, PHP, Node.js, scala から使用することが可能です。<br>参照 : [MongoDB Driver](https://github.com/mongodb?utf8=%E2%9C%93&q=driver) |
| 適している利用シーン | ドキュメントなどのスキーマレスなデータの格納、スケールアウト性が必要な Big Data の格納、コンテンツの管理、配信<br>参照 : [MongoDB - Advantages](https://www.tutorialspoint.com/mongodb/mongodb_advantages.htm) |
| 適していない利用シーン | RDBMS のような列データ間に関連があり、結合が必要なデータ。トランザクションを使用して厳密な一貫性が必要なシステム<br>参照 : [Why MongoDB Is a Bad Choice for Storing Our Scraped Data](https://blog.scrapinghub.com/2013/05/13/mongo-bad-for-scraped-data/) |

**開発情報**

| 項目 | 内容 |
| :--- | :--- |
| 開発主体 | MongoDB Inc. |
| 開発体制 | コアの Contributor が 36名、MongoDB ServerのContoributor 360名<br>コードをContribute したい場合、[Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) を結ぶ必要があります。 |
| 参加企業 | IBM, NUXEO, NetApp などの企業がイベントスポンサー |
| リポジトリ | https://github.com/mongodb/mongo |
| 開発コミュニティ | [MongoDB 開発者 Wiki](https://github.com/mongodb/mongo/wiki)<br>[MongoDB 開発コミュニティ](https://www.mongodb.com/community/deployments) |
| 開発コミュニティ活動状況 | MongoDB Server だけでも約300件のチケットが発行されて活動している。その他、ドライバ毎にチケット管理がされています。<br>https://jira.mongodb.org/projects/SERVER/issues/SERVER-33106?filter=allopenissues |

**サポート情報**

| 項目 | 内容 |
| :--- | :--- |
| コミュニティサポート | [コミュニティ](https://www.mongodb.com/community)でイベント紹介、webinars、ユーザグループ、Universityが提供 |
| コミュニティ活動状況 | 3ヶ月で6回のイベントを開催 |
| サポート企業 | MongoDB Inc.がサポートを提供。NRIは各種OSSサポートの中でMongoDBを対応
| サポートメニュー/費用 | 保守を含むサブスクリプションライセンスの他にバージョンアップグレード、ヘルスチェック、パフォーマンス調査・チューニング、トレーニングなどがあります。費用は問い合わせ。<br>参照 : [Global Consulting Services](https://www.mongodb.com/products/consulting)<br>NRI は MongoDBをサポート<br>参照 : [MongoDB のサブスクリプション](http://openstandia.jp/solution/mongodb/service.html) |

**歴史**

| 項目 | 内容 |
| :--- | :--- |
| 開始時期 | 2007年 Dwight Merriman 氏, Eliot Horowitz 氏, Kevin Ryan 氏が設立<br>参照 : [About Us](https://www.mongodb.com/company) |
| 開発の経緯 | 10gen という企業が 2007年から MongoDB の開発に着手。MongoDB は当初、PaaS ( Platform as a service )として開発。<br>2009-02 1st パブリック・リリース<br>2013-08 社名を 10gen から MongoDB,Inc. に変更。 MongoDB 開発だけに専念<br>参照 : [State of MongoDB March, 2010](https://www.mongodb.com/blog/post/state-of-mongodb-march-2010)<br>参照 : [10gen Announces Company Name Change to MongoDB, Inc.](https://www.mongodb.com/press/10gen-announces-company-name-change-mongodb-inc) |
| 最近のメジャーリリース履歴 | 2015-12 3.2.0：ストレージ・エンジンの追加<br>2016-11 3.4.0：Aggregation, View ソートの改善, Apache Spark コネクタの追加<br>2017-12 3.6.0：Aggregation の改善, 配列を扱いやすくする機能改善<br>2018-06 4.0.0 : マルチドキュメント・トランザクション<br>参照 : [Release Notes](https://docs.mongodb.com/manual/release-notes/)
| リリース頻度 | 年間 10回程度のリリース。メジャ・リリースは年 1回程度 |

**適用状況**

| 項目 | 内容 |
| :--- | :--- |
| 適用システム | McAfee：Global Threat Intelligence ( GTI ) ( セキュリティサービスのBig Data解析 )<br>参照 : [McAfee is Improving Global Cybersecurity With MongoDB](https://www.mongodb.com/customers/mcafee)<br>サイバーエージェント：アメーバピグ ( ソーシャルゲーム )<br>参照 : [Ameba の MongoDB 活用事例](https://www.slideshare.net/akuwano/mongo-db-14079976) |
| 適用数 | 2017年OSS データベースサーバの世界シェアは5.4%。<br>https://jelastic.com/blog/software-stacks-statistics-within-jelastic-cloud-2017/ |
| 適用企業 | Google, CISCO, EA, Expedia, facebook, ebay, GAP, Verizon, TREND MICRO, SAP, NOKIA, BOSCH など多くの企業で採用<br>参照 : [Our Customers](https://www.mongodb.com/who-uses-mongodb) |

# Cassandra

高性能、高いスケーラブル性、フォルトトレランス(単一故障点がない)な分散データベースです。従来の RDBMS ベンダーがサポートすることができないニーズを Google Bigtable と Amazon Dynamo の長所を組み合わせたカラム指向データベースです。

**基本情報**

| 項目 | 内容 |
| :--- | :--- |
| ホームページ | http://cassandra.apache.org/ |
| 最新バージョン | Apache Cassandra release 3.11.3 ( 2017-06-31 ) |
| 開発言語 | Java<br>https://github.com/apache?q=cassandra&type=&language |
| 動作環境 | CPU：マルチコア CPU ( 8コア以上を推奨 )<br>メモリ：4GB以上 ( Cassandra の Heap で 2GBを最低でも使用 )、32GB以上を推奨<br>ストレージ：RAID1 または RAID5 構成 ( SSDを推奨 )<br>JVM：不明<br>参照 : [Hardware Choices](http://cassandra.apache.org/doc/latest/operating/hardware.html)
| ライセンス | Apache License 2.0<br>https://github.com/apache/cassandra-builds/blob/master/LICENSE<br>商用版パッケージとして DataStax Enterprise が存在します。 |
| 特徴 | 単一障害点のない高度なスケーラビリティと可用性、NoSQL のカラム・ファミリの実装、極めて優れた書き込みスループットと優れた書き込みスループット、SQL ライクな問い合わせ言語およびセカンダリー・インデックスによる検索のサポート、調整可能な一貫性とレプリケーションのサポート、柔軟なスキーマ<br>参照 : [Apache Cassandra データベースについての検討](https://www.ibm.com/developerworks/jp/opensource/library/os-apache-cassandra/index.html) |
| 適している利用シーン |高可用性と大容量への対応が求められるアプリケーションに非常に適しています。<br>参照 : [ORACLE.COM/JAVAMAGAZINE Cassandraの概要](http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-JF14-architect-cassandra.pdf) |
| 適していない利用シーン | ACID 特性 ( 原子性、一貫性、独立性、永続性 ) を必要とするアプリケーション。小規模なアプリケーション。 |

**開発情報**

| 項目 | 内容 |
| :--- | :--- |
| 開発主体 | Apache Software Foundation |
| 開発体制 | PMC ( Project Management Committee ) Chair 1名 ( Nate McCall氏 )、PMC 31名, Committers 51名、Contoributors 273名<br>参照 : [Apache Cassandra Committee ](https://projects.apache.org/committee.html?cassandra) |
| 参加企業 | Apache Software Foundation |
| リポジトリ | https://github.com/apache/cassandra |
| 開発コミュニティ | [Developers 用メーリングリスト](https://www.mail-archive.com/dev@cassandra.apache.org/)と[Commit 用メーリングリスト](https://www.mail-archive.com/commits@cassandra.apache.org/)を提供
| 開発コミュニティ活動状況 | 開発者用メーリングリストの投稿月間約76件、GitHubでソースコード・コミット月間46件 |

**サポート情報**

| 項目 | 内容 |
| :--- | :--- |
| コミュニティサポート | [ユーザ用のメーリングリスト](https://www.mail-archive.com/user@cassandra.apache.org/)を提供|
| コミュニティ活動状況 | メーリングリストに月間約 300件の投稿 |
| サポート企業 |DATASTAX, IMETUS Technologies, ONZRA, Cubet Technologiesなど<br>参照 : [ThirdPartySupport](https://wiki.apache.org/cassandra/ThirdPartySupport)
| サポートメニュー/費用 | 例：ウルシステムズの DataStax Enterprise サービス ( DATASTAX社と提携 )<br>技術問い合わせ、アーキテクチャ設計やチューニングに関する知見の提供、Cassandra を使ったシステムの構築、トレーニング、運用・監視などサービスがあります。<br>参照 : [DataStax Enterprise / Apache Cassandra サポート](https://www.ulsystems.co.jp/solutions/blue-rabbit/data-stax) |

**歴史**

| 項目 | 内容 |
| :--- | :--- |
| 開発開始時期 | 2008年 Facebookが開発開始 |
| 開発の経緯 | 2008/03 Avinash Lakshman氏 ( Amazon の Dynamo ) と Prashant Malik 氏が Facebook の InBox 検索機能のために開発を開始<br>2008/07　Google codeにソースコードを公開<br>2009/03　Apacheインキュベイタ・プロジェクトへ昇格<br>2010/02　Apache トップレベル・プロジェクトへ昇格<br>参照 : [The History of Cassandra](https://teddyma.gitbooks.io/learncassandra/content/about/the_history_of_cassandra.html)
| 最近のメジャーリリース履歴 | 2014-09 2.1 ユーザ定義タイプ、コレクションインデックス<br>2015/07 2.2 JSON 対応、Windows 対応<br>2015-11 3.0 ストレージ・エンジンのリファクタリング、マテリアライズド・ビュー<br>2017-02 3.10 DURATION 型、SELECT 文で GROUP BY が可能<br>2017-06 3.11 非主キーカラムのフィルタリングによるマテリアライズド・ビュー <br>https://github.com/apache/cassandra/releases |
| リリース頻度 | 年間 14回のリリース |

**適用状況**

| 項目 | 内容 |
| :--- | :--- |
| 適用システム | オンラインビデオプラットフォーム、ホテル予約システム、ぐるなび(レストラン検索)<br>参照 : [事例で学ぶApache Cassandra](https://www.slideshare.net/yukim/apache-cassandra-77059657)、[Cassandra導入事例と現場視点での苦労したポイント](https://www.slideshare.net/haketa/cassandra-cassandra-summit2014jpn) |
| 適用数 | 多くの企業で採用(適用企業を参照) |
| 適用企業 | マクドナルド、eBay、マイクロソフト、CISCO など<br>参照 : [Customers](https://www.datastax.com/customers) |

# HBase

HBase は、Hadoop のデータベース ( 分散、スケーラブル、ビッグデータ・ストア ) です。カラム指向型のNoSQL データベースで数十億レコード、数百万列のデータを格納可能です。

**基本情報**

| 項目 | 内容 |
| :--- | :--- |
| ホームページ | https://hbase.apache.org/ |
| 最新バージョン | 2.1.2 ( 2018-10-31 ) |
| 開発言語 | Java<br>https://github.com/apache?q=hbase&type=&language |
| 動作環境 | 推奨環境<br>運用管理サーバ　3台：CPU 2コア以上、メモリ 16GB 以上、ディスク RAID1 <br>マスタノード 3台 ： CPU 8コア以上、メモリ 24GB 以上<br>スレーブノード 4台以上：CPU 8コア以上、メモリ 32GB以上<br>JVM：Java 7 以上<br>参照 : [HBase 導入時の検討項目と推奨構成、および設計ノウハウ](https://thinkit.co.jp/article/11963) |
| ライセンス | Apache License Version 2.0<br>https://github.com/apache/hbase/blob/master/LICENSE.txt |
| 特徴 | リニアなスケーラビリティ、厳密な一貫性のある読み込み書き込み、自動シャーディングによるデータ分割、Apache Hadoop MapReduce のジョブから HBase のテーブルを参照可能、Java APIクライアント、リアルタイム・クエリのためのブロックキャッシュ、ブルームフィルタなどが特徴 |
| 適している利用シーン | リアルタイムでランダムリード＆ライトを行える機能により、HDFS のメリットをさらに拡大するため、メッセージングサービス、セッション化、リアルタイムなメトリクスとアナリティクス(広告、オークションなど)、グラフデータIoTアプリケーションなど<br>参照 : [Apache HadoopのためのHbase 分散データストア](http://jp.cloudera.com/products/open-source/apache-hadoop/apache-hbase.html) |
| 適していない利用シーン | 複数台のマシンを用意できない、厳密なトランザクション処理が必要、外部インデックスが必要、SQL で複雑な検索をしたいなどの要件に合致する場合、適していません。<br>参照 : [HBase導入時の検討項目と推奨構成、および設計ノウハウ](https://thinkit.co.jp/article/11963) |

**開発情報**

| 項目 | 内容 |
| :--- | :--- |
| 開発主体 | Apache Software Foundation |
| 開発体制 | PMC ( Project Management Committee ) Chair 1名 ( Misty Stanley-Jones 氏 )、PMC 44名、Committers 78名、Contoributors 210名<br>参照 : [Apache HBase Committee](https://projects.apache.org/committee.html?hbase) |
| 参加企業 | Apache Software Foundation |
| リポジトリ | https://github.com/apache/hbase |
| 開発コミュニティ | [開発者用メーリングリスト](http://mail-archives.apache.org/mod_mbox/hbase-dev/) |
| 開発コミュニティ活動状況 | 開発者用メーリングリストの投稿月間約 500件、GitHub でソースコード・コミット月間約 150件 |

**サポート情報**

| 項目 | 内容 |
| :--- | :--- |
| コミュニティサポート | [ユーザ用メーリングリスト](http://mail-archives.apache.org/mod_mbox/hbase-user/)でサポート |
| コミュニティ活動状況 | ユーザ用メーリングリストに月間約 100件の投稿 |
| サポート企業 | Cloudera、Hortonworks など |
| サポートメニュー/費用 | 上記企業は Hadoop とセットでサポートを行っています。<br>例：Hortonworks HDP エンタープライズ<br>24H7days、電話/ウェブでの対応、遠隔トラブルシューティング、アップグレード/パッチへのアクセス、インストールや設定/クラスタ管理/パフォーマンスの診断、アプリケーション開発のアドバイス<br>参照 : [エンタープライズ サポート サブスクリプション](https://jp.hortonworks.com/services/support/enterprise/) |

**歴史**

| 項目 | 内容 |
| :--- | :--- |
| 開発開始時期 | 2006年 Powerset 社が Google BigTable 論文に影響を受けて開発を開始<br>参照 : [HBase: structured storage of sparse data for Hadoop](https://wiki.apache.org/hadoop/HBase/HBasePresentations?action=AttachFile&do=get&target=hbaseintro.pdf) |
| 開発の経緯 | 2006年 Google が BigTable 論文を発表<br>2006年 HBase 開発開始<br>2007年 HBase をリリース<br>2008年 Hadoop のサブプロジェクトになる<br>2010年 Apache のトップレベル・プロジェクトへ昇格<br>参照 : [Apache HBase Reference Guide](http://hbase.apache.org/book.html#hbase.history) |
| 最近のメジャーリリース履歴 | 2015/02 [v1.0.0](https://github.com/apache/hbase/blob/branch-2/CHANGES.txt) : 新しい API、 HBase クラスタおよびそのクライアントの安定化、HBase クラスタおよびそのクライアントの安定化<br>2018-04 v2.0.0 : 非同期オペレーション向けに管理インターフェイス、コンパクションの強化、バックアップとレストアの強化<br>https://apache.org/dist/hbase/2.0.4/RELEASENOTES.md |
| リリース頻度 | 年間 33回のリリース(β版なども含む)<br>https://github.com/apache/hbase/releases |

**適用状況**

| 項目 | 内容 |
| :--- | :--- |
| 適用システム | 医療系ITシステム、Cloudera サポートシステム、広告運用統合プラットフォーム、メッセージシステム<br>参照 : [HBase活用事例](https://www.slideshare.net/Cloudera_jp/h-base-hbase20140202) |
| 適用数 | ホームページでは 46の企業での採用が紹介されています。<br>参照 : [Powered By Apache HBase](https://hbase.apache.org/poweredbyhbase.html) |
| 適用企業 | Adobe, Facebook, Pacific Northwest National Laboratory, Yahoo! など<br>参照 : [Powered By Apache HBase](https://hbase.apache.org/poweredbyhbase.html) |

# Neo4J

グラフ型の NoSQL データベースです。ノード ( 頂点 )、リレーションシップ ( エッジ )、プロパティ ( 属性 ) という 3つの基本構成要素により、オブジェクトでありノード間の関係性を表現します。<br>参照：[NOSQLの基本知識](http://www.amazon.co.jp/dp/4897978874)

**基本情報**

| 項目 | 内容 |
| :--- | :--- |
| ホームページ | https://neo4j.com/ |
| 最新バージョン | Neo4j 3.5.1 ( 2018-12-20 ) |
| 開発言語 | Java<br> https://github.com/neo4j |
| 動作環境 | CPU：Intel Core i3以上 ( 推奨：Intel Core i7, IBM POWER8 )<br>メモリ：2GB 以上 ( 推奨：16-32GB 以上 )<br>ストレージ：10GB SATA ( 推奨：SSD w/ SATA )<br>OS：Ubuntu 14.04/16.04, Debian 8/9, CentOS 6/7, Fedora, Red Hat, Amazon Linux, Windows Server 2012/2016<br>ファイルシステム：ext4, ZFS<br>JVM：OpenJDK 8, Oracle Java 8, IBM Java 8<br>参照 : [System requirements](https://neo4j.com/docs/operations-manual/current/installation/requirements/) |
|ライセンス | Community edition は GPL v3、Enterprise edition は OSSプロジェクトの場合、AGPLv3、それ以外は Neo Technology の製品ライセンス<br>https://github.com/neo4j/neo4j |
| 特徴 | データベースエンジンをグラフデータベースとしての用途に特化している。トランザクションの一貫性を ( 即時ではない ) 保証する点も、他の NoSQL とは異なるところである。Neo4j のクエリ言語 Cypher は、直接実行だけでなく、Neo4j の REST API を介しても実行できる。一般的な開発言語や開発フレームワークにも対応。<br>参照 : [グラフデータベースはどんな用途に向いている？ (2/2)](http://www.atmarkit.co.jp/ait/articles/1507/28/news015_2.html) |
| 適している利用シーン | 経路やインデックスにより、例えば「知人を探す」、「知人の知人を探す」、「最短経路を探す」といったクエリの結果を得るために最適化されているので、SNS、通信ネットワーク、電力のグリッド網の検索に向いている。<br>参照 : [グラフデータベースはどんな用途に向いている？ (1/2)](http://www.atmarkit.co.jp/ait/articles/1507/28/news015.html) |
| 適していない利用シーン | 厳密なトランザクション処理を求めるシステム。大量データ処理。グラフ構造が必要ないよう一般的なケース。 |

**開発情報**

| 項目 | 内容 |
| :--- | :--- |
| 開発主体 | Neo Technology |
| 開発体制 | 開発チームには Admin, Component maintainer, Committer, Patch submitter の役割がある。Contributor は 153名<br>参照 : [Contributing Code](https://neo4j.com/developer/contributing-code/)<br>Contributor は [Neo4j Contributor License Agreement](https://neo4j.com/developer/cla/) を締結する必要があります。 |
| 参加企業 | Neo Technology |
| リポジトリ | https://github.com/neo4j/neo4j |
| 開発コミュニティ | GitHub の Issues で開発のディスカッションを実施<br> https://github.com/neo4j/neo4j/issues |
| 開発コミュニティ活動状況 | GitHub で Issues 月間約 50件、ソースコード・コミット月間約 30件 |

**サポート情報**

| 項目 | 内容 |
| :--- | :--- |
| コミュニティサポート | Stackoverflow, Google Group でコミュニティ形成。<br>https://neo4j.com/community/|
| コミュニティ活動状況 | stackoverflow で月間 200以上の問い合わせ<br>https://stackoverflow.com/questions/tagged/neo4j?page=8&sort=newest |
| サポート企業 | Neo Technology, 日本では、[クリエーションライン](https://www.creationline.com/)がサポート。また、多くのパートナー企業がサポート<br>参照 : [The Neo4j Partner Ecosystem](https://neo4j.com/partners/) |
| サポートメニュー/費用 | Neo Technology がエンタープライズ版サブスクリプションでサービスを提供(24H7Days)<br>参照 : [Support](https://support.neo4j.com/hc/en-us)<br>クリエーションラインサポートが、(1)サブスクリプションライセンス販売及び保守サポート、(2)導入支援コンサルティング／トレーニングサービス、(3)導入インテグレーションサービスを行っています。費用は要問い合わせ。<br>参照 : [クリエーションラインがグラフデータベース“Neo4j”の 日本国内事業を開始](https://www.creationline.com/news/8531) |

**歴史**

| 項目 | 内容 |
| :--- | :--- |
| 開発開始時期 | 2000年 開発開始<br>参照 : [Company](https://neo4j.com/company/) |
| 開発の経緯 | 2000年 RDBMS に関する性能上の問題に遭遇し、Neo4j プロトタイプを開発開始<br>2002年 Neo4j の最初のバージョンを開発<br>2007年 GPLラインセンスで OSS化<br>2010年 Neo4j 1.0 をリリース<br>2015年 200万ダウンロード達成<br>2016年 Neo4j 3.0 をリリース<br>参照 : [Company](https://neo4j.com/company/) |
| 最近のメジャーリリース履歴 | 2016-12 v3.1.0 : RAFT プロトコルベースの新クラスタリング技術<br>2017-05 v3.2.0 : マルチデータセンタをサポート<br>2017-10 v3.3.0 : 書き込み性能を50%向上<br>2018-05 v3.4.0 : マルチクラスタリング、時空間向け新しいデータタイプ<br>2018-11 v3.5.0 : ネイティブインデックス、全文検索<br>[Neo4j Release Notes](https://neo4j.com/release-notes/) |
| リリース頻度 | 年間約 50回のリリース |

**適用状況**

| 項目 | 内容 |
| :--- | :--- |
| 適用システム | eBay：リテール＋C2Cディスカバリ、accenture：荷物配達ルート管理、glassdoor：ソーシャル/レコメンデーション、SFR：ネットワーク管理、Deutsche Telekom：ソーシャルゲーミングなど<br>参考 : [Neo4j導入事例](https://www.creationline.com/neo4j/customers) |
| 適用数 | 多くの企業で採用 |
| 適用企業 | Walmart, eBay, HP, IBM, cisco, Microsoft, Adobe, Accenture など多数<br>参照 : [Neo4j Customers](https://neo4j.com/customers/) |

# InfluxDB

[InfluxDB](https://github.com/influxdata/influxdb)は外部依存性がない OSS 時系列データベースです。高い書き込み/問い合わせ性能性でメトリクス、イベントの格納、データ解析に長けています。

**基本情報**

| 項目 | 内容 |
| :--- | :--- |
| ホームページ | https://www.influxdata.com/time-series-platform/influxdb |
| 最新バージョン | InfluxDB v1.7.3 ( 2019-01-14 ) |
| 開発言語 | [Go Programming Language](https://golang.org/)<br>https://github.com/influxdata |
| 動作環境 | CPU：2-4コア以上<br>メモリ：4GB 以上<br>ストレージ：500 IOPS 以上のデバイス<br>OS：Linux ( Ubuntu, Debian, RedHat, CentOS, SLES, openSUSE ), MacOS, FreeBSD<br>参照 : [Hardware sizing guidelines](https://docs.influxdata.com/influxdb/v1.7/guides/hardware_sizing/), [Installing InfluxDB OSS](https://docs.influxdata.com/influxdb/v1.7/introduction/installation/) |
| ライセンス | シングル構成は MIT ライセンス。クラスタ構成は製品版<br>https://github.com/influxdata/influxdb/blob/master/LICENSE<br>[ソフトウェア・ライセンス・サブスクリプション契約](https://www.influxdata.com/legal/support-policy/)があります。
| 特徴 | 時系列データのための高機能データストアです。高スループット、高データ圧縮、リアルタイム問い合わせを可能とします。HTTP/S API、InfluxQL という SQL ライクなクエリ言語を提供しています。InfluxQL は時系列データに特化した正規表現、演算式、データ処理をサポートしています。毎秒数百万データポイントを扱うことが可能です。<br>参照 : [Understanding InfluxDB & the TICK Stack](https://www.influxdata.com/time-series-platform/influxdb/) |
| 適している利用シーン | データストアとして、DevOps モニタリング、アプリケーション・メトリクス、IoT センサー・データおよびリアルタイム解析を含む大きな量のタイムスタンプされたデータに関する利用シーンに適しています。<br>参照 : [Understanding InfluxDB & the TICK Stack](https://www.influxdata.com/time-series-platform/influxdb/) |
| 適していない利用シーン | 少量規模データ、複雑な構造型データ、列が多いデータ ( カラムにインデックスを付与できない、Having, サブクエリ, Order byが使えない ) |

**開発情報**

| 項目 | 内容 |
| :--- | :--- |
| 開発主体 | InfluxData, Inc. |
| 開発体制 | Contributor は 293名<br>Contributor は [Contributor License Agreement](https://www.influxdata.com/legal/cla/) を締結する必要があります。 |
| 参加企業 | InfluxData, Inc. |
| リポジトリ | https://github.com/influxdata/influxdb |
| 開発コミュニティ | [GitHubのIssues](https://github.com/influxdata/influxdb/issues)で開発のディスカッションを実施 |
|開発コミュニティ活動状況 | GitHub で Issues 月間約 50件、ソースコード・コミット月間約 180件 |

**サポート情報**

| 項目 | 内容 |
| :--- | :--- |
| コミュニティサポート | [Influxdata の技術的な質問に関するコミュニティ](https://community.influxdata.com/)<br>[Gopher Slack コミュニティの InfluxDB チャンネル](https://gophers.slack.com/?redir=%2Fmessages%2Finfluxdb) |
| コミュニティ活動状況 | 月間約 100件の技術的な問い合わせ |
| サポート企業 | Influxdata<br>パートナー企業：ContainerShip, IBM, MESOSPHERE, RANCHER, docker, AWS, redhat, Grafana Labs, ThingWorx |
| サポートメニュー/費用 | 電話、チケット、メールでのサポート。メジャー、マイナー、メンテナンスのリリースあり。サービスレベル ( 1～3 ) によってサービス内容が異なります。<br>参考 : [Support Policy](https://www.influxdata.com/legal/support-policy/) |

**歴史**

| 項目 | 内容 |
| :--- | :--- |
| 開発開始時期 | 2013年　Errplane 社が開発を開始 |
| 開発の経緯 | 2013年　Paul Dix 氏, Todd Persen 氏, John Shahid 氏 の3名が Errplane 社を設立し、データのモニタリングのために開発開始<br>2015年 Errplane は InfluxData Inc.と名称変更<br>2016年 OSSでリリース<br>参照 : [InfluxDB Overview](https://github.com/influxdata/influxdb.com/blob/master/content/docs/v0.6/introduction/overview.md), [Database of Databases InfluxDB](https://dbdb.io/db/influxdb)
| 最近のメジャーリリース履歴 | 2017-01 V1.2.0：サブクエリのパフォーマンス向上、書き込み性能50%改善<br>2017-06 V1.3.0：継続的クエリ統計<br>2017-11 V1.4.0：tsi1インデックス性能改善<br>2018-03 V1.5.0 : デフォルト・ロギングフォーマットの変更<br>2018-07 V1.6.0 : プロメーテウスとの連携<br>2018-11 v1.7.0 : GOクライアントV2にチャンククエリを追加<br>参照 : [InfluxDB 1.7 release notes](https://docs.influxdata.com/influxdb/v1.7/about_the_project/releasenotes-changelog/) |
| リリース頻度 | 年間 約20回のリリース |

**適用状況**

| 項目 | 内容 |
| :--- | :--- |
| 適用システム | IBM Trusteer ( サイバー犯罪詐欺防止ソリューション )、CISCO eコマースアプリケーションのモニタソリューション、eBay DevOps モニタリングとリアルタイム解析 ( Elasticsearch クラスタインスタンスのヘルスメトリクスを格納 )、シーメンス　風力発電及びガスタービンのモニタリングサービス<br>参照 : [Customer success in DevOps & IoT Monitoring](https://www.influxdata.com/customers/) |
| 適用数 | 400社以上の顧客、110,000以上のインストール<br>参照 : [Customer success in DevOps & IoT Monitoring](https://www.influxdata.com/customers/) |
| 適用企業 | CISCO, eBay, IBM, シーメンスなど<br>参照 : [About Our Time Series Platform](https://www.influxdata.com/about/)|

# GridDB

Key-Value を発展させた Key-Container 型のデータモデルの分散 NoSQL データベースです。データをすべてメモリに配置するインメモリデータベースです。<br>参照 : [GridDB テクニカルリファレンス](https://www.toshiba.co.jp/cl/pro/bigdatapf/lineup/GridDB/doc/GridDB_TechnicalReference.html)


**基本情報**

| 項目 | 内容 |
| :--- | :--- |
| ホームページ | https://griddb.net/ja/ |
| 最新バージョン | v4.0.1 ( 2018-6-20 ) |
| 開発言語 | C++<br>https://github.com/griddb |
| 動作環境 | CPU：x86_64<br>メモリ：32GB 以上<br>ストレージ：100GB 以上<br>OS：RHEL 6.2 / 6.3 / 6.4 / 6.5, CentOS 6.2 / 6.3 / 6.4 / 6.5<br>参照 : [Supported OS, Platforms and System Requirements](https://www.griddb.net/ja/docs/documents/6-1_supported-os-platforms-and-system-requirements.php) |
| ライセンス | Community Edition：サーバは AGPL、Java クライアントとオプショナル・コマンドは Apache License version 2.0<br>https://github.com/griddb/griddb_nosql<br>Standard Edition, Advanced Edition：パーペチュアルライセンス ( 永続使用可 )、サブスクリプションライセンス ( 契約期間使用可 )<br>参照 : [GridDB 製品ラインアップ](https://www.toshiba.co.jp/cl/pro/bigdatapf/lineup/GridDB/lineup.htm) |
| 特徴 | トランザクションは、コンテナ単位で ACID 特性 ( 原子性、一貫性、独立性、永続性 ) を保証して、また時系列データのアグリゲーション ( 集約 ) やサンプリング、期限解放などをサポートします。インメモリ指向型のアーキテクチャが、並列処理による高速化とオーバーヘッドの削減を実現して、多様なデータ構造をサポートします。容量や性能に応じて簡単に拡張・縮退が可能です。障害が発生しても無停止運用を実現します。<br>参照 : [GridDB Developers](https://griddb.net/ja/) |
| 適している利用シーン | マシンやデバイスに設置したセンサーなどから大量のデータが集まる IoT の分野での膨大な時系列データ処理<br>参照 : [ビッグデータ IoT向けデータベース GridDB](http://www.toshiba.co.jp/cl/pro/bigdatapf/lineup/GridDB/index_j.htm) |
| 適していない利用シーン | 小規模データ、複雑な構造データ、列に関連のあるデータ |

**開発情報**

| 項目 | 内容 |
| :--- | :--- |
| 開発主体 | 東芝デジタルソリューションズ |
| 開発体制 | Contributor は 6名。[GridDB Contributor License Agreement](https://github.com/griddb/griddb_nosql/blob/master/CLA_rev1.1.pdf)を締結する必要があります。 |
| 参加企業 | 東芝デジタルソリューションズ |
| リポジトリ | https://github.com/griddb/griddb_nosql |
| 開発コミュニティ | GitHub の Issues, PullRquest で開発コミュニティを形成<br>https://github.com/griddb |
| 開発コミュニティ活動状況 | 年間 30～40 件のソースコードコミット<br>https://github.com/griddb/griddb_nosql/commits/master

**サポート情報**

| 項目 | 内容 |
| :--- | :--- |
| コミュニティサポート | [GitHubのIssues](https://github.com/griddb/griddb_nosql/issues) と [デベロッパーフォーラム](https://griddb.net/ja/forums/forum/top/) でコミュニティをサポート。
| コミュニティ活動状況 | GitHub の Issues に40件投稿があって、デベロッパーフォーラムは数件の投稿があります。 |
| サポート企業 | 東芝デジタルソリューションズ |
| サポートメニュー/費用 | サポートを受ける場合、Standard Edition、Advanced Edition のパーペチュアルライセンスを購入後、保守契約を締結するか、サブスクリプションライセンスを締結するか、どちらかでサポートを受けられます。サービスメニュー及び費用は要問い合わせ<br>参照 : [GridDB 製品ラインアップ](https://www.toshiba.co.jp/cl/pro/bigdatapf/lineup/GridDB/lineup.htm) |

**歴史**

| 項目 | 内容 |
| :--- | :--- |
| 開発開始時期 | 2011年、GridDB の前身 GridStore の開発開始<br>参照 : [オープンソースカンファレンス2017 Tokyo/Fall : 何を基準に選定すべきなのか！？ ～ビッグデータ×IoT×AI時代の オープンソース・データベースの アーキテクチャとメカニズムの比較～](http://www.toshiba.co.jp/cl/pro/bigdatapf/data/GridDB-OSC2017-TokyoFall.pdf) |
| 開発の経緯 | ビッグデータ向けに大量のデータを高速、かつ拡張性をもって処理できるデータベースが求められていたことから2011年にスケールアウト型データベースの開発に着手<br>2013年　GridDB 製品化<br>2016年　GitHub でソースコードを公開 ( OSS化 )<br>参照 : [オープンソースカンファレンス2018 Tokyo/Fall : 日本発オープンソース！！スケールアウト型データベースGridDB入門](https://www.toshiba-sol.co.jp/pro/bigdatapf/data/GridDB-OSC2018-TokyoFall_myk.pdf) |
| 最近のメジャーリリース履歴 | 2016/02 v2.8.0：GridDB Community Edition のファーストリリース<br>2016/10 v3.0.0：クラスタ構成及びクライアント接続、圧縮関数<br>2017/04 v3.0.1：バグフィックス版<br>https://github.com/griddb/griddb_nosql/releases |
| リリース頻度 | 年間数回のリリース |

**適用状況**

| 項目 | 内容 |
| :--- | :--- |
| 適用システム | フランス リヨン 太陽光発電 監視・診断システム、クラウドBEMS、石巻スマートコミュニティ プロジェクト、電力会社 低圧託送業務システム、神戸製鋼所 産業用コンプレッサ稼働監視システム、DENSO International America 次世代の車両管理システムの構築<br>参照 : [dbtech showcase Tokyo 2018 : もうSQLとNoSQLを選ぶ必要はない！? ～両者を備えたスケールアウトデータベースGridDB～](https://www.toshiba-sol.co.jp/pro/bigdatapf/data/db_techshow_case2018.pdf)<br> |
| 適用数 | 東芝SPINEX や Digital TWIN で利用し、複数の産業用メーカーが利用しています。 |
| 適用企業 | 国内電力会社、神戸製鋼所、DENSO International America<br>参照 : [IoT産業におけるGridDB導入事例](https://griddb.net/ja/blog/three-examples-griddb-iot-industry/)、　[自動車産業におけるGridDB導入事例](https://griddb.net/ja/blog/griddb-automotive) |

# 最後に

今回調査対象とした OSS NoSQL データベースはデータ構造の違いが使用用途と関係するので、まずは使用用途からデータベースを選択することをお勧めします。
データベースによっては、既に多くの導入実績がありコミュニティの活動も活発なことから、導入対象としての選択肢としては、十分に対象となると考えられます。ただし、ライセンス面では、Redis 以外はデュアルライセンスなどのマルチライセンスであったり、製品版があったりします。ライセンスによって機能や性能が異なる場合があるので、導⼊する際にはライセンス条項を確認する必要があります。

もし、記述について誤りがあったり、気になることがあれば、編集リクエストやコメントでフィードバックしていただけると助かります。