無料データベースを調べてみた〜Excelからの脱却を目指して〜
こんにちは、てつをです。今回は、無料で利用できるデータベースの調査結果を共有します。
Excelで色々なデータを管理している方は多くいらっしゃると思います。私も、仕事・プライベート両方で、多くのデータをExcelで管理しています。しかし、Excelでのデータ管理には限界もあると思っています。データを増やせばファイルやシートの数が増え続け、最終的にはどこにどのデータがあるのかわからなくなってしまいます。しかし、Excelからデータベースの利用に切り替えようと思うことはあるのですが、一体何を使うべきなのかわからない。まさに、今私はこの状態です。そこで、今回は無料で利用できるデータベースを調査してみたいと思います。
目次
-
データベースを調べる前に
-
データベースの調査結果
-
データベース調査結果まとめ
データベースを調べる前に
データベースの使用目的は?
まず、なぜデータベース管理が必要だと感じたかを書いておこうと思います。私は、会社でもプライベートでもデータベースが必要なのではと感じることがありました。
まず会社では、見積、顧客情報、製品情報、社員情報などがバラバラに管理されており、これらをまとめて管理するにはExcelだと少し情報量も多くて難しいかなと思ったという背景があります。これらはお金を出せば何かしらのツールで一元管理できるかと思いますが、お金を出してもらうには少々時間がかかります。そこで、データベースの勉強も兼ねて自分でデータベースを作ってしまいたいなと思うようになりました。
話が変わって今度はプライベートです。プライベートではそこまで管理しなくてはいけないデータは多くないのですが、機械学習に利用するデータセットを保存するのに役立つかなと思っています。例えば、スクレイピングで取得したデータをCSV出力してファイルサーバに保管するのではなく、全てデータベースで管理できればデータを利用しやすいかなと。さらにSQLで操作も可能なので、複数のデータセットから新たなデータセットを容易に作成できるかなと思った次第です。
ということで、今回は2つの場面を想定してデータベースの調査を進めていこうと思います。
データベースの利用を想定する場面
- 場所:会社利用、 データ:営業関連(見積、顧客、社員、etc)
- 場所:個人利用、 データ:機械学習用データセット
調査するデータベースの評価指標は?
では、実際にデータベースを色々と調べてみようと思うのですが、その前に評価指標だけいくつか定めておこうと思います。私が個人的に気になっているのは、以下の3点です。
-
無料でどこまでできるか
-
誰でも操作可能か
-
Pythonとの親和性
無料でどこまでできるか。
当たり前の話ですが、製品によって無料で利用できる範囲と有償で利用できる範囲が分かれているものがあります。今回は、無料でできる範囲内で調査したいと思います。
誰でも操作可能か。
データベースを構築した後は、必ずそのデータベースを運用する必要があります。データベースを構築した人がそのまま運用を続けられれば良いのですが、その人が急に異動したり転職することもあり得ます。そうなると、ほかのだれかが運用を引き継ぐ必要がありますが、データベース操作が難しいと運用できません。誰でも操作可能か否かはとても重要な指標だといえると思いますので、今回の調査では着目したいと思います。
Pythonとの親和性はどんなもんか。
この指標は機械学習で色々データ操作をする際に必要となります。まあ、おそらくどのデータベースもPythonで操作可能な気がしますが、念のため確認しておきたいと思います。
データベースの利用環境について
データベースの利用環境についても、確認が必要そうです。利用環境については以下2点に着目します。
クラウドか、オンプレ(個人のPC)か。
今のご時世クラウド利用が増えているかと思いますが、今回はまずオンプレでテスト的にデータベースを利用することを想定します。しかし、将来的にクラウドへ移行することも考慮して、クラウド移行が可能か否かは確認したいと思います。
Windows、Linux、Macで利用可能か。
個人で利用する場合は、お金さえあればすぐに欲しいPCを購入できます。しかし、会社での利用となると既にあるPCを利用しなくてはいけないこともあるかと思います。よって、Windows、Linux、Macで利用可能かも評価指標としてちゃんと加えたいと思います。
データベースの調査結果
オンプレでデータベースを構築する場合
1.MySQL
MySQL(マイ・エスキューエル、海外ではマイ・シークェルとも)は、オープンソースのリレーショナルデータベース管理システム (RDBMS) である。その名前は、共同設立者のミカエル・ウィデニウスの娘の名前である「My」と、Structured Query Languageの略称である「SQL」を組み合わせたものである。(参考:Wikipedia)
無料で利用できる範囲
基本的には無料で全ての機能を利用できる。しかし、MySQLには有償版も存在し、有償版にすると技術サポートを受けることができる。有償版にはさらに3種類と分かれているが、今回の調査範囲外のため割愛する。
特徴
クラウド移行:可能。OCI、AWS、Azureなど。
プラットフォーム:Windows, Linux, and Mac.
言語:SQL and C, C++, Java, Perl, PHP, Python, and Tcl for client programming.
評価:
MySQLは、世界的にシェアの高いオープンソースであり、大容量のWebサイト、パッケージソフトウェア、ビジネスクリティカルなシステムなどに使用することができる。ネットワークが利用できないときでも動作する。ホストベースの検証も可能。
サイト:MySQL公式サイト
2.Oracle
Oracle Database(オラクル データベース)とは、米国オラクル (Oracle) が開発・販売している、関係データベース管理システム (RDBMS) のことである。Oracle Databaseは世界初の商用RDBMSであり、メインフレームからパーソナルコンピュータまで、幅広いプラットフォームをサポートしている。(参考:Wikipedia)
無料で利用できる範囲
Oracle Database XEというエディションは無料で利用可能。(サイト)
Oracle Database Express Edition(XE)は、開発者、データベース管理者、データ・サイエンティスト、教育関係者、あるいはただデータベースに興味があるユーザーにとっても、最初に使用するのに最適な製品です。世界中の企業が信頼を寄せるOracle Databaseと同じ性能を備えながら、シンプルなダウンロード、使いやすさ、フル機能を体験できるパッケージ製品となっています。Oracle Databaseはあらゆる環境で使用できるうえ、組み込みや再配布も可能です。しかもすべて無料です。
利用制限:
- 最大12GBのユーザー・データ
- 最大2GBのデータベースRAM
- 最大2つのCPUスレッド
特徴
クラウド移行:Oracle Database XE(無料で利用できるもの)では対応できなくなった場合、オンプレミスのOracle Databaseの別エディションまたはOracle Cloudに簡単に移行可能。
プラットフォーム:Windows and Linux.
言語:Java, .NET, Python, Node.js, Go, PHP, C/C++ and etc.
評価:
Oracleは、人気のあるデータベースの一つであり、小規模、中規模、または大規模な組織で使用することができます。
サイト:Oracle公式サイト
3.SQL Server
Microsoft SQL Server(マイクロソフト・エスキューエル・サーバー)とは、マイクロソフトが開発する、関係データベース管理システム(RDBMS)である。 略称はSQL Server、またはMS SQL等。 主要な問い合わせ言語(クエリ言語)は、T-SQLとANSI SQLである。
企業サーバ向けの高機能なシステムから、組み込み系の小規模なシステムまで幅広く対応する。 また、Microsoft Windowsと親和性が高く、ADOやADO.NETを経由し、最適なバックエンドデータベースを構築できるようになっている。(参考:Wikipedia)
無料で利用できる範囲
エディション:Express
このエントリ レベルのデータベースで、最大 10 GB サイズの小規模なデータ主導の Web アプリケーションとモバイル アプリケーションを構築できます。無料で利用できます。
特徴
クラウド移行:Azureなど移行可能。(参考サイト)
プラットフォーム:Windows and Linux.
言語:C++, Python, Ruby, Java, PHP, Visual Basic, Delphi, Go, and R
評価:
SQL Serverは、小規模から大規模の企業向けのデータベースソリューションです。SQL Serverは、データ圧縮技術を使用して、データストレージのニーズを削減します。
4.Firebird
Firebird(ファイアバード)は、InterBaseから派生したオープンソースの関係データベース管理システム (RDBMS)。オープンソースで開発されており、Mozilla Public Licenseを元にしたIPL(InterBase Public License)と IDPL (Initial Developer’s Public License)(商用・非商用問わず利用できるが、オリジナル〈ここではFirebirdを指す〉のソースコードを改変したプログラムを利用する場合は、その変更箇所のコードを公開しなくてはならない)によってライセンスされている。(参考:Wikipedia)
無料で利用できる範囲
全て無料で利用可能。
特徴
クラウド移行:可能。しかし、他と比較すると事例は少なそうなので、難しい可能性あり。(参考サイト)
プラットフォーム:Windows, Linux, and Mac.
言語:SQL, C, and C++.
評価:
サイト:Firebird公式サイト
5.PostgreSQL
PostgreSQL(ポストグレス キューエル[※ 1])は、拡張性とSQL準拠を強調するフリーでオープンソースの関係データベース管理システム(RDBMS)である。Postgresとしても知られている。もともとは、カリフォルニア大学バークレー校で開発されたIngresデータベースの後継としてその起源を根拠としたPOSTGRESという名前であった。1996年に、プロジェクトはSQLのサポートを反映してPostgreSQLに改名された。2007年の検討の結果、開発チームはPostgreSQLという名前とPostgresという別名を維持することを決定した。
PostgreSQLは、原子性、整合性、独立性、耐久性 (ACID)プロパティを持つトランザクション、自動更新可能なビュー、マテリアライズドビュー、トリガ、外部キー、ストアドプロシージャを特徴としている。単一マシンからデータウェアハウスや多数の同時使用ユーザを持つWebサービスまで、さまざまなワークロードを扱えるように設計されている。macOS Serverのデフォルトデータベースであり、Linux、FreeBSD、OpenBSD、Windowsでも利用可能である。
無料で利用できる範囲
完全無料であるため、お試しで触るにはもってこい。
特徴
クラウド移行:可能。
プラットフォーム:Windows, Linux, and Mac.
言語:PL/pgSQL, PL/Tcl, PL/Perl, and PL/Python.
評価:
サイト:PostgreSQL公式サイト
3.データベースの調査結果まとめ
今回は、無料で利用可能なオープンソースのデータベースを5つ調査しました。それぞれ特徴があったと思うので、最後に表にまとめておきたいと思います。
【無料で使えるデータベースまとめ】
項目 | プラットフォーム | 無料範囲 | 使いやすさ | クラウド移行 | Python | 機械学習(個人) | 会社利用 |
---|---|---|---|---|---|---|---|
MySQL | Windows, Linux, Mac | 制限なし | 簡単 | 可能 | 利用可能 | ◎ | 〇 |
Oracle | Windows, Linux | 最大12GBのユーザーデータ | 普通 | 可能 | 利用可能 | 〇 | ◎ |
SQL Server | Windows, Linux | 最大10GBのユーザーデータ | とても簡単 | 可能 | 利用可能 | △ | ◎ |
Firebird | Windows, Linux, Mac | 最大20TBのユーザーデータ | 不明 | 可能(難?) | 利用不可 | × | △ |
PostgreSQL | Windows, Linux, Mac | 制限なし | 普通 | 可能 | 利用可能 | ◎ | 〇 |
以上