HTAPデータベースの代表的製品で、OLTPとOLAPを単一のテーブルで処理できる革新的なアーキテクチャのSingleStore。その無料で使えるDev ImageをUbuntuのDocker環境で起動する方法を紹介します。
ちなみに、SingleStoreを試用するならクラウド版のHeliosを使う方が圧倒的に楽だし、Notebookも使えて便利です(Starter Workspaceなら期限なく無料で使用可能)。下記記事でアカウント作成の方法から紹介しています。
Ubuntuサーバの準備
- SingleStore Dev Imageは単体のコンテナとしてのみ起動できるので、分散データベースとしての機能検証には使えません。
- 本番環境での使用は非推奨となります。
SingleStore Dev Imageは8vCPU、32GBメモリの構成まで無料で使えますが、今回は起動確認だけなので2vCPU、4GBメモリの構成(t3.medium)でEC2を作成しています。機能検証をする場合は8vCPU、32GBメモリの構成での検証をおすすめします。
OSバージョンはUbuntu 24.04を指定。
t3.micro (2vCPU、1GBメモリ)ではスペック不足でコンテナが動作しなかった。
Dockerのインストール
sudo apt update &&\
sudo apt upgrade -y &&\
sudo apt install ca-certificates curl &&\
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc &&\
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null &&\
sudo apt update &&\
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
SingleStore Dev Imageの起動
sudo docker run \
-d --name singlestoredb-dev \
-e ROOT_PASSWORD="YOUR SINGLESTORE ROOT PASSWORD" \
--platform linux/amd64 \
-p 3306:3306 -p 8080:8080 -p 9000:9000 \
ghcr.io/singlestore-labs/singlestoredb-dev:latest
YOUR SINGLESTORE ROOT PASSWORDに任意のパスワードを設定
SingleStoreのSQL Shellへのアクセス
sudo docker exec -it singlestoredb-dev singlestore -p
パスワードプロンプトの後に上記で設定したパスワードを入力
SingleStoreのWeb UIへのアクセス
あらかじめEC2のSecurity Groupでアクセス元(自分のIPアドレス)からの8080ポートへのアクセスを許可しておく必要があります。
ブラウザから以下のURLにアクセスします。
http://<EC2のパブリックIP>:8080
rootユーザーとして、上記で設定したパスワードを入力してログインします。

SingleStoreはMySQLとワイヤ互換なので、あとは好きにデータベースを作成して触ることができます。
参照元

