ケイバハック

競馬ソフトは自分で作ろう!

プログラムの基本

競馬ソフト作りに欠かせないデータベースの選び方

競馬ソフト作りに欠かせないデータベースの選び方

今回は、競馬ソフトを作成するにあたり、全くプログラミング経験がない人にお伝えしたい情報です。

競馬ソフトを作成するためには、「データベース」が必要となります。なぜなら、レースを予想する自分なりの理論があったとしても、その理論で分析する対象のデータがないと意味がないからです。

例えば、あるレースにおいて、オッズからリスクの少ない買い目を見出す理論があったとしても、そのオッズのデータがないと、その理論は使い道がないですよね。

なので、競馬ソフトを作るためには、まずデータベースを作るところから始めることになります。

たくさんあるデータベースソフト

で、「データベース」という言葉は、もっと広い意味があるものです。ですがIT業界では、もっと狭い意味の言葉となっており、「データベースを作成・管理できるソフトウェア」のことを示します。

そして、そのようなデータベースのソフトには、本当にたくさん種類があります。例えば、そのようなデータベースのシェアを調査しているDB-Enginesというサイトでは、そのランキングが確認できます。

DB-Enginesでデータベースソフトのシェアランキングを見る

このランキングから、トップ10を抜粋して引用しますと、次の通りです。

2016年12月時点のデータベースソフトのシェアランキングトップ10

  1. Oracle
  2. MySQL
  3. Microsoft SQL Server
  4. PostgreSQL
  5. MongoDB
  6. DB2
  7. Cassandra
  8. Microsoft Access
  9. Redis
  10. SQLite

つまり、「競馬ソフトのためのデータベースを作ろう」と考えたとき、このようにたくさんあるデータベースソフトから、どれか1つを目的や予算に応じて選択する必要があるわけです。

で、これまで全くプログラミング経験がないと、「データベースを選べ!」と言われてもの違いがわからず困りますよね。そこで、今回は、その選び方をご紹介したいというわけです。

手軽に使う目的に向いているもの

まず、手軽に使う目的で向いているデータベースからご紹介すると、次のものがあります。

  • SQLite
  • Microsoft Access

なぜこれらが手軽に扱いやすいかというと、データベースが1つのファイルとして作成されるからです。なので、例えばコピーも簡単で、バックアップなどの管理も楽なんですね。

特に、SQLiteは、より手軽に使えるデータベースとなります。なぜかというと、SQLiteを利用する分には、特別なソフトウェアのインストールが必要ないからです。

Accessの場合は、Officeのインストールが必要になります。その点で、SQLiteよりは利用する手間があります。

ちなみに、ここではデータベースのソフトウェアを紹介しているので、ご紹介しませんでしたが、メモ帳で作る単純なテキストファイルも、データベースとして使おうと思えば使えます。

例えば、JRA-VANのJV-LINKから取得できるデータは、単純なテキストファイルとなっています。それをデータベースソフトに取り込まず、そのままテキストファイルで利用する方法も、プログラムの作り方次第ではできます。

いずれにせよ、そのソフトウェアで作成されるデータベースが1つのファイルとして管理されるソフトが、手軽に利用できるものとなります。

ただ、このようなファイルで管理するデータベースは、不特定多数の人が同時に使う目的には向いていません。なので、利用者が一人で使う前提の競馬ソフトを作るのに向いています。

将来的にWebサービスとして公開したい場合

一方、将来的にその競馬ソフトをネット上のWebサービスとして公開し「不特定多数の人に使ってもらいたい」と考えている場合。そのような目的には、次のデータベースが向いています。

  • Oracle
  • MySQL
  • Microsoft SQL Server
  • PostgreSQL

これらのソフトは、サーバー型のデータベースとなります。そのため、不特定多数のユーザーから利用される前提で使われるデータベースとなっています。

ただ、OracleやMicrosoft SQL Serverは、基本、有償のソフトウェアです。無償で使えるエディションもあるのですが、それらには、「商用利用できない」や「使えるメモリに上限がある」のような、制限がかけられています。

一方、MySQLやPostgreSQLは基本無償で利用できるため、その点では、利用しやすいです。ただ、MySQLに関しては、現在Orale社の管理下にあり、商用利用に関してライセンスの条件が厳しくなることも考えられます。そのような背景も知っておいた方が良いです。

MySQLとPostgreSQLの2択を考える場合。私は、この記事を書いている現在では、MySQLをオススメします。なぜかというと、MySQLの方がネット上の情報量が多いからです。

今、Googleでそれぞれを検索した結果の数は、次のようになっています。

桁違いにMySQLの情報が多いことがわかります。これからプログラミングを始める人は、ネット上で調べる機会が多くなります。なので、この情報量の多さは重要です。

以上、競馬ソフト作りに欠かせないデータベースの選び方をご紹介しました。大きく、一人が使うもの、不特定多数で使うもの、で使うデータベースが分かれるということですね。

次に読むべき記事:競馬ソフト向けのデータの準備の仕方

Return Top