JSONデータベースという選択肢 (Couchbase, MongoDB, クラウド等) 序. オープンデータ

# はじめに

### 背景
以前に、「[インメモリDBという選択肢（Oracle Coherence、Redis、そしてCouchbase) ①データ永続化との関係](https://qiita.com/yoshiyuki_kono/items/cf156988239462287d63)」という記事を発表しました。
Couchbaseには「インメモリDB」という側面と「JDBC（ドキュメント指向）データベース」という二つの側面があります（歴史的に、前者にあたるMembaseに、後者にあたるCouchDBがマージされたという経緯を持ちます）。

### 本記事の位置づけ
この記事から始まる表題のシリーズでは、後者の側面を、同じカテゴリーに含まれるMongoDBや、各種クラウドサービス等を視野に入れつつ、検討していきたいと考えています。

本記事は、そのシリーズの「序」の位置づけとして、それぞれのデータベース自体に触れる前に、なぜJSONデータベースなのか？を、如何にJSONフォーマットが世の中を席巻しているのか、について見ていくことで、始めたいと思います。具体的には、オープンデータの動向について見ていきます（ただし、扱う範囲については、あくまで自分の関心から発しているため、網羅性は期待できないことをご了承ください）。

### 断り書き

オープンデータという観点で見ていく際に、必ずしも（JSON）フォーマットありきで、取り扱いを選別することは現実的ではないため、（CSV等）JSONフォーマット以外のフォーマットで（も）、データを提供している場合も、含まれます。強いていえば、（データ表現ではなく）データ構造に注目した場合、JSONの表現範囲は、CSVの表現範囲を包含する、ということも言えるかと思います（具体的なところについていえば、Couchbaseには、CSVデータを対象にして、保存時にJSONフォーマットに変更するコマンドやUIが備わっています）。
とはいえ、NoSQLには、フォーマットの独自性のみではなく、Big Dataの扱いを目的としている、という面もあるため、そうした異なるデータフォーマットのオープンデータについて、同時に視野に入れておくことも、さほど検討外れでないともいえます。


# データセット検索プラットフォーム

### Google Dataset Search
https://datasetsearch.research.google.com/
検索されるデータセットには、当然JSONが含まれていますが、それ以外のデータセットもまた当然存在しています（サイトからは、フォーマットによる、データセット数の比較はできない）。

# データセット

## 交通

### 東京交通オープンデータチャレンジ
https://ckan-tokyochallenge.odpt.org/dataset
2021年2月4日時点、フォーマットの点数が一番多いのは、JSONで144点、次いでCSV45点となっています。

## 製造

### Cars CSV File From the CORGIS Dataset Project
https://corgis-edu.github.io/corgis/csv/cars/

### Automotive Sensor Data. An Example Dataset from the AEGIS Big Data Project
https://zenodo.org/record/820576#.YBstsegzZPY

>  The time series data has been collected by using a BeagleBone single plate computer which has been developed at VIF to collect data for driving analytics. The BeagleBoard can be connected to the OBD2 interface of a vehicle to capture data from CAN bus and has been additionally equipped with further sensors (GPS, gyroscope, acceleration). The data in this research dataset was collected during 35 different trips conducted by one driver driving one vehicle in the Graz area in Austria.

>This is a dataset about cars and how much fuel they use.

ここであげた自動車関連のデータは全てCSVでした。
付け加えると、センサーデータは、データ（センサー）により、スキーマが異なり、また運用後も追加・変更がまま行われる、という特徴があるため、JSON（やKVSの）スキーマ柔軟性とは、相性が良いと言えます。

## 気象

### PLANET OS
https://planetos.com/

JSONフォーマットのデータをダウンロードすることができます。

### 気象庁 過去の気象データ・ダウンロード
http://www.data.jma.go.jp/gmd/risk/obsdl/index.php

こちらは、CSVフォーマット。

## 航空宇宙

### Copernicus Open Access Hub

https://scihub.copernicus.eu/

> The Copernicus Open Access Hub (previously known as Sentinels Scientific Data Hub) provides complete, free and open access to Sentinel-1, Sentinel-2, Sentinel-3 and Sentinel-5P user products, starting from the In-Orbit Commissioning Review (IOCR).

### Sentinelsat

https://sentinelsat.readthedocs.io/en/stable/index.html
> Sentinelsat makes searching, downloading and retrieving the metadata of Sentinel satellite images from the Copernicus Open Access Hub easy.

前者の提供するデータへのアクセスを提供する後者のライブラリを見る限り、データはJSONフォーマットであるように見える（全貌を掴みきれてはいないものの）。

# 最後に

JSONフォーマットが、広く世の中で用いられていることは、多くの人にとって周知の事実かと思います。
今回の記事については、今更の感が強く受け止められるかとは思いましたが、まずは具体的に（十分なものではないとはいえ）見てみることに価値があると考え、不十分ながら発表させていただきました。
何かしらの偶然の導きで、読者の方の関心と交わることがあれば、幸いです。

# 参考情報

上記のオープンデータを見つけるきっかけになった情報を掲載しておきます。

[【Python入門】Pythonを使った気象データ分析](https://avinton.com/blog/2018/01/weather-data-visualization-with-python/)

[Github acgeospatial/Satellite_Imagery_Python](https://github.com/acgeospatial/Satellite_Imagery_Python)