現在,さくらサーバー(スタンダード)でJulia言語のWebサービスを作ってみたくて色々試しています.
そうなると当然,データベースが必要になってくるので,今回はさくらサーバーのMySQLに接続してデータを取得してみたいと思います.
何人かの方が既に記事を書かれていますが,僕の環境ではうまくいきませんでした.
ちなみ僕のJuliaの環境は以下になります.
さくらサーバー(スタンダート)にJulia言語をインストールする
少し余談
データベースが必要だなと思った時に始めはCSVファイルを読み込み方法をしましたが,これはサイトのレスポンスが遅くなりすぎてダメでした.次にMySQLに接続する方法を選びましたが,少し改善はされもののこれも正直かなり遅いです.データ量によってはGASなどで簡単なAPIサーバーを作成した方が早いのかもしれません.
サンプルコード
簡単にですが,以下でデータベースに接続して,SQLを実行することができました.
# 以下必要なモジュールは事前にインストールしてください
using MySQL # データベース操作に必要
using DataFrames # 取得したデータ扱うのに使用
host = "***サーバー名***"
id = "***id(ドメイン)***"
pass = "***パスワード***"
# データベースと接続
conn = DBInterface.connect(MySQL.Connection, host, id, pass)
# クエリの実行,結果の取得
result = DBInterface.execute(conn, "***SQL文(例:SELECT * FROM `***DB名***`.テーブル名)***")
# データベースとの接続を閉じる
DBInterface.close!(conn)
# データフレーム形式に変換して操作する(SELECT文の場合)
df = DataFrames.DataFrame(result)
終わりに
簡単ですが,Julia言語でのMySQLの接続になります.前述しましたが,Webで検索してみるといくつかの記事は出てくるのですが,僕の環境ではうまくいきませんでした.また,Webサービスを作る目的だったので,データフレーム形式にしないでSELECT文で取得したデータを取り扱いたかったのですが,その方法がわかりませんでした.
僕の書き方が悪いだけかもしれませんが,全体的にレスポンスが遅くてWebサービスにJulia言語を使うのは厳しいかなというのが僕の印象です.