システム構築には欠かせないデータベースですが、以下のようなケースに遭遇したことはないでしょうか。
- BIツールなどの製品導入にデータベースも必要といわれてしまって、これ以上費用を上乗せできずに頭を抱えるケース
- 作るシステムは決まっていて、プログラマーの人件費だけでも高いのに、データベースソフトの購入を検討しなければいけないケース
思わぬところで足元をすくわれるのがデータベース、そんなケースを解消できる救世主、無料でつかえるデータベースを10個紹介します。
目次
無料で使えるリレーショナルデータベース
リレーショナルデータベースとは
データベースといっても実は様々な種類があります。
リレーショナルデータベース(RDB)は、データベース界のデファクトスタンダードであり、データベースといえば、リレーショナルデータベースを指すことが多くなっています。
リレーショナルデータベースはExcelのような表形式でデータを保存するところが大きな特徴なので、ITリテラシーが低い方でもある程度触ることができます。
ここでは以下、特におすすめの無料リレーショナルデータベースを5つご紹介します!
おすすめ無料リレーショナルデータベース
-
- MySQL(マイエスキューエル)
-
- PostgreSQL(ポストグレエスキューエル)
-
- SQLite(エスキューライト)
-
- MariaDB(マリアディービー)
-
- SQLServer(エスキューエルサーバー)
MySQL(マイエスキューエル)
どういう場合にMySQLを選択すべき?
- 汎用性が高く、特にこだわりや特別な事情がない場合はMySQLを選択してもよいでしょう。
特徴
MySQLは有料のデータベースも含め、世界で一番使われているデータベースソフトです。
あのYoutube(MySQL :: MySQL のお客様: YouTube)やFacebook(MySQL :: MySQL のお客様: Facebook)などでも採用されています。
MySQLは1995年から開発者にとって使いやすいところが特徴でした。当初は信頼性はそこまでありませんでしたが、現在はデータベースメーカーのOracleが管理していますので、その信頼性は折り紙付きです。さらに、様々な名だたる企業が利用しているため、事例の豊富さが信頼性に拍車をかけています。
さらに、利用者が世界一の為情報の量も世界一です。わからないことは誰かが知っている状態ですので、ネットを探せば答えが分かるという利点もあります。
PostgreSQL(ポストグレエスキューエル)
どういう場合にPostgreSQLを選択すべき?
- 複雑なロジックの多い業務用アプリケーション用途
- BIツールのデータソースなどの大容量データの分析用途
特徴
無料のデータベースでMySQLに次いで使われているのがPostgreSQLです。
特徴については、使いやすさや信頼性や情報量と非常にMySQLと似ております。唯一違うといわれているのが、パフォーマンスです。
大規模データや複雑な処理の場合にはPostgreSQLのほうが高速であるという結果が出ているため、通常は企業の基幹システムや、BIのような分析を行う場合に適しているのがPostgreSQLです。
SQLite(エスキューライト)
どういう場合にSQLiteを選択すべき?
- ただの練習や勉強のためにデータベースを利用したい
- 簡易的な情報を保存するために利用したい
特徴
SQLiteはデータベースに必要な最低限の機能だけを保持し、高パフォーマンスを維持した、超簡易データベースです。
インストール不要で、exeファイルをダウンロードして、実行するだけで起動し、操作可能です。そのため、データベースの練習に適しています。
実務上の用途としては、デスクトップアプリを開発する際の内部データベースとして活用する方法があります。
MariaDB(マリアディービー)
どういう場合にMariaDBを選択すべき?
- MySQLとの互換性が欲しい
- ベンダー管理が信用できない
- Linuxを利用していてインストール作業すらしたくない
特徴
MariaDBはMySQLの創始者が当時のサンマイクロシステムズのコアメンバーとの意見の食い違いが理由でMySQLとは別れて立ち上げられたプロジェクトです。
MySQLとの互換性があるのが特徴で、移行が非常に簡単です。ベンダー管理ではないため、例えば、急にすべてが有料になってしまうような危機感がないのが利点です。
Oracleは突然すべて有料にするようなことを実施してしまうことがあるので(Javaがいい例です)そういった点でMySQLの弱点を排除した安心感のあるデータベースと言えます。
機能もMySQLに非常に似ているため、MySQLの情報をそのまま使えますのでとっつきやすいのもポイントが高いです。
SQL Server(エスキューエルサーバー)
どういう場合にSQL Serverを選択すべき?
- できる限りプログラミングしたくない
- 最初はスモールスタートで今後は予算がおりてデータベースを購入できる
特徴
MicrosoftのSQL Serverの名前を聞いたことがある人もいるのではないでしょうか?
有料のデータベースとして有名ですが、実は無償で商用利用できるエディション「SQL Server Express」があります。ただし以下の3つの制限がつきます。
- データ容量10GBまで
- CPUは1CPUにつき4コアまで、メモリは1ギガバイトまでの使用制限
- スケジュール機能などが使えない(独自にプログラミングが必要)
ですが小規模のシステムであれば十分すぎるほどの機能が利用できるため、スモールスタートとして導入するのもありです。
無料で使えるNoSQLデータベース
NoSQLデータベースとは
NoSQLデータベースとは、簡単に言うとリレーショナルデータベース以外のものを指します。
どれもデメリットがある代わりに尖った機能を持っていて、利用方法も特徴的なため、利用するハードルが高いのが特徴です。
ここでは以下、特におすすめの無料NoSQLデータベースを5つご紹介します!
おすすめ無料NoSQLデータベース
-
- MongoDB(モンゴディービー)
-
- Cassandra(カサンドラ)
-
- Redis(レディス)
-
- DynamoDB(ダイナモディービー)
-
- Cosmos DB(コスモスディービー)
MongoDB(モンゴディービー)
どういう場合にMongoDBを選択すべき?
- よく変更される一時データの保存場所を検討している
- データベースの構造の変更が頻繁に起きる
特徴
MongoDBはドキュメント指向データベースに分類されるNoSQLデータベースです。
特徴は処理が高速であるところと後から構造の変更が容易であるところです。しかしデメリットとして集計処理がと大容量のデータの保持が苦手です。
そのため、例えばゲームのキャラの持ち物情報などに使われることがあります。
Cassandra(カサンドラ)
どういう場合にCassandraを選択すべき?
- NoSQLを使いたいけど新しい技術に現場がついていけるか心配
- データの追加変更を何度も行う
特徴
Cassandraはキーバリューストア型と呼ばれる構造のデータベースです。
特徴は書き込み速度の速さとRDBと似た操作性です。デメリットとして複雑な集計ができないことと、データの整合性を取るのが苦手なことです。
使用例として機械学習のデータや、キャッシュ情報の保存に向いていると言われています。
Redis(レディス)
どういう場合にRedisを選択すべき?
- データの整合性が取れるキーバリューストア型のデータベースを探している
特徴
Redisもキーバリューストア型のデータベースです。
特徴は処理の高速さと整合性があることです。通常、キーバリューストア型ではデータの整合性を取るのが難しいことが多いのですが、Redisはそこを解決しています。
デメリットとしては、大容量のデータを保持できないところとデータの永続性にあります。永続化機能はありますが、メモリにデータを保存する関係上、急なトラブルがあった際に保存されていないデータが発生する可能性があります。
使用例としては、WEBページのキャッシュ機能に適していると言えます。高速でWEBページを表示させることが可能です。
DynamoDB(ダイナモディービー)
どういう場合にDynamoDBを選択すべき?
- 管理する手間を省きたい
- 大容量データを扱いたい
特徴
DynamoDBはAWSのサービスの一つで、一部有料のクラウドデータベースです。キーバリューストア型やドキュメント指向など、様々なNoSQLの機能のいいとこ取りをしているのが特徴です。
大容量のデータを高速に扱うことができ、ゲームや広告技術やIoTシステムと相性がいいです。
Cosmos DB(コスモスディービー)
どういう場合にCosmos DBを選択すべき?
- 管理する手間を省きたい
- NoSQL導入時の現場の混乱を最小限に抑えたい
特徴
Cosmos DBはAzureのサービスの一つで、一部有料のクラウドサービスです。
DaynamoDBとよく似ていますが、こちらは利用方法に利点があり、様々なAPIが用意されていますので、NoSQLは製品ごとに使用方法を覚える必要がありますが、Cosmos DBは技術者がすでに知っているであろう知識で触れることができるデータベースです。
クラウドに対応しているデータベース
データベースソフト単体でクラウドサービス展開しているものはほとんどが有料になります。無料で利用可能なのは、AWSのようなクラウドサービスに上記で解説したデータベースソフトが対応しているものになります。
AWS RDSというサービスでは無料枠の範囲内でMySQL、PostgreSQL、MariaDB、SQLServerなどの利用が可能です。
無料枠ですが、初めて契約してからの12か月間と、それ以降も毎月20GBのストレージなどが利用できるようです。
・MySQL、MariaDB、PostgreSQL、Oracle BYOL、または SQL Server (SQL Server Express Edition を実行) などを使う Amazon RDS の Single-AZ db.t2.micro インスタンスのための、750 時間という使用時間
・20 GB の汎用 (SSD) DB ストレージ
・自動データベースバックアップとユーザーによる任意の DB スナップショットに使用できる 20 GB のストレージ
なぜ無料で使えるの?
個人情報の流出など、ITの事件はデータの流出が非常に多いです。とても重要なデータを保持するデータベースソフト。機能は膨大になるため、高額になってもおかしくないソフトです。なぜ無料で使えるのでしょうか?
有料データベースの値段
SQL Server … 約150万円
オープンソースソフトウェアだから
オープンソースソフトウェア(OSS)とはソースコードを公開しているソフトウェアのことです。誰でも無料で使える代わりに世界中の開発者からの指摘や修正を受ける利点をとっています。
セキュリティが重要なデータベースソフトでオープンな状態だと、脆弱性が懸念されます。
しかし、以下の点からOSSデータベースはクローズドな有料ソフトよりも安心できるのが特徴です。
- たくさんの人の目でチェックされ、見られていても問題ない仕組みになっている
- もし脆弱性がでても即座に修正される
ちなみに本記事で紹介しているソフトのほとんどはオープンソースソフトウェアです。
機能を制限しているから
有料版のお試しとして機能を制限したものを販売しているパターンもあります。最近の製品は高性能なため、小規模であればお試し版でも問題ない場合が多いです。
また、有料ですとセキュリティの担保や様々な補償をすることが必須になりますが、そういった重要な機能がない代わりに他の製品にはできない尖った機能を提供しているパターンもあります。
製品が無料の代わりにサポート対応や製品保証が有料
製品が無料なのに、誰が何の目的で開発を行っているのか気になりますよね。ほとんどの無料製品は問い合わせ対応などのサポートにお金がかかったり、長い間製品サポートを行う有料版製品を扱っています。
サポート支援がないと稟議が下りない企業も多いのではないでしょうか。責任を製品に対して委譲するためには有料サポートを購入するということですね。
無料で使えるクライアントツール
データベースソフトはデータを蓄積するだけのソフトですので、データをエクセルのような表形式で見るためにはクライアントツールというのが必要になります。
ほとんどのデータベースソフトはインストールした際にソフトごとの専用のクライアントツールが同梱していますが、ここではどんなデータベースソフトでも汎用的に使える無料のツールをご紹介します。
A5:SQL Mk-2(エーファイブエスキューエルマークツー)
通称、A5Mk2でエーファイブマークツーと呼ばれます。
SQL文の実行やテーブルの編集はもちろんのこと、ER図の作成や印刷にも対応しています。これさえ使いこなしていれば、どんなデータベースソフトでも同じUIで利用できるようになります。
まとめ
最後にこれまで紹介してきたデータベースソフトの比較表をまとめます。
リレーショナルデータベース
データベース | 選択基準 |
MySQL | 特にこだわりがなければとりあえず選択 |
PostgreSQL | 大規模データを扱ったり複雑な処理を行う場合に |
SQLite | データベースの練習や簡易的に利用したい場合に |
MariaDB | Linux標準搭載を利用するならこれ |
SQL Server | GUI操作を求めるのであればこれ |
NoSQL
データベース | 選択基準 |
MongoDB | 構造変更を頻繁に行いたいならこれ |
Cassandra | データの追加変更を頻繁に行うならこれ |
Redis | データの整合性がとれるキーバリューストア型のNoSQLならこれ |
DynamoDB | 大規模なデータを扱いたい場合に |
Cosmos DB | NoSQLを現場に浸透させたい場合に |
以上、ここまでご覧いただきありがとうございました!