NoSQL
[更新: 2025年5月22日]
サービス基本情報
概要
「NoSQL」は、Apache Cassandra 互換のマネージドデータベースサービスで、パフォーマンスを犠牲にすることなくスケーラビリティと高可用性を実現します。
GUIおよびコマンドラインの両方を使用して、NoSQLサービスをいつでも利用できます。
機能説明
ユーザは、NoSQLで管理するデータベースを作成、参照、変更、削除できます
ユーザは、作成したデータベースを自由に起動および停止できます
ユーザは、画面、API、CLIを使用して、新規にCassandraインスタンスを作成できます
システム管理者が指定する独立した閉じたネットワーク内で、プライベートネットワークとして利用できます
ネットワークレベルおよびユーザ権限レベルでアクセス制御が可能です
β版における注意事項と制限事項
ご利用いただく前に、以下の点にご注意ください。
品質保証(SLA)の適用対象外です。
サポートは限定的となり、利用状況によっては一時的に利用が制限される場合があります。
β版の提供ゾーンは東京第2ゾーンのみです。接続するスイッチは、同じゾーン内に作成する必要があります。
バックアップに使用する NFSアプライアンス の費用は、別途発生します。
主な制限事項
料金 |
リソース作成数 |
---|---|
無料 |
1 |
項目 |
β版のスペック |
---|---|
ノード数 |
3 のみ |
仮想コア |
3 コアのみ |
メモリ |
8 GB のみ |
ディスクサイズ |
100 GB のみ |
想定される利用シーン
例1: 高トラフィックWebサービス
SNSや動画配信の大量アクセスに対応できるスケーラブルで耐障害性の高いデータストアとして利用します。
例2: IoTの時系列データ管理
センサーデータをリアルタイムで蓄積・分析し、渋滞予測や最適化に活用します。
料金体系
現在 β 版のため、全機能を無料でご利用いただけます。
正式版リリースに伴う課金開始の際には、事前にアナウンスさせていただきます。
サポート
ご不明点やお困りの際は、 会員メニュー内のメールサポート より、サービス情報を「さくらのクラウド」としてお問い合わせください。
バックアップについて
NoSQLのバックアップは、管理画面から設定および実行することができます。
バックアップ方法には「自動バックアップ」と「随時バックアップ」の2種類があり、それぞれについて解説します。
前提条件
バックアップ先は、さくらのクラウド上でユーザ自身が作成したNFSサーバに限定されるため、事前にNFSサーバを作成しておく必要があります。
さくらのクラウドマニュアル: NFSアプライアンス
自動バックアップ
データベース作成後、または自動バックアップの設定変更後、指定されたタイミングで自動的にバックアップが取得されます。
1.設定手順
データベースの初回作成時または設定変更時に、「バックアップ先」「定期バックアップ間隔」「実行時間帯」「バックアップ世代数」のすべてに適切な値を入力し、設定を保存します。 設定を保存すると、自動バックアップの設定が有効になり、運用が開始されます。

随時バックアップ
データベース作成後は、いつでも自由にバックアップを取得できます。
自動バックアップを設定中に随時バックアップを実行しても自動バックアップには影響しません。
取得方法の詳細については、「バックアップの取得」の手順をご確認ください。
1.設定手順
データベース初回作成時、もしくは設定変更時、「バックアップ先」および「バックアップ世代数」に適切な値を入力して設定を保存します。
尚、 自動バックアップ が設定済みであれば、随時バックアップも実行することができます。

世代管理(共通)
リソースごとに、「バックアップ世代数」に設定した上限までバックアップを保管できます(最大8世代まで)。
「バックアップ世代数」を超えて新たにバックアップを取得した場合、最も古いバックアップから順に自動で削除されます(自動・随時バックアップ共通の仕組みです)。
利用手順
利用開始ガイド
前提条件
以下の準備が完了していることが前提となります。
さくらのクラウド ご利用開始手順 が完了していること。
管理画面へのログイン
さくらのクラウドのコントロールパネルより、「NoSQL」を選択して管理画面にログインしてください。

ログアウト
管理画面ヘッダ右上のユーザアカウントが表示されているボタンより、ログアウトができます。 ログアウトせずにさくらのクラウドホームへ戻ることも可能です。

管理画面の利用方法
データベースの作成ガイド
データベースの新規作成
1.本サービスの管理画面(NoSQL 一覧画面)にログイン後、画面右上の作成ボタンをクリックします。

2.起動したデータベース作成ダイアログに必要項目を記入し、作成ボタンをクリックします。
※画面左上の更新ボタンをクリックすると画面の状態をリフレッシュして最新化できます。

項目 |
設定値 |
---|---|
データベースエンジン(必須) |
Cassandra |
データベースバージョン(必須) |
4 (固定)※1 |
ノード数(必須) |
3 (固定)※1 |
仮想コア(必須) |
3 (固定)※1 |
メモリ(必須) |
8GB (固定)※1 |
ディスクサイズ(必須) |
100GB (固定)※1 |
ストレージ(必須) |
SSD (固定) |
デフォルトユーザ名(必須) |
任意のユーザ名 |
パスワード(必須) |
任意のパスワード |
接続先スイッチ(必須) |
ユーザ環境とサービス環境間を接続するスイッチ |
ポート番号(必須) |
Cassandra で使用するポート番号 |
IPv4 アドレス |
Cassandra データベースの IP アドレス |
ネットマスク(必須) |
任意の設定値 |
ゲートウェイ(必須) |
任意の設定値 |
送信元ネットワーク |
任意の設定値 |
バックアップ先 |
さくらのクラウド上に作成した NFS サーバをバックアップ先として利用可能です |
定期バックアップ間隔 |
任意の設定値(日曜日~土曜日) |
実行する時間帯 |
任意の設定値(15 分単位) |
バックアップ世代数 |
1 ~ 8 世代まで指定可能 |
名前(必須) |
任意の Cassandra データベース名 |
説明 |
任意の設定値 |
タグ |
任意の設定値 |
※1:NoSQL β 版における設定値です。今後、設定値が変更される場合があります。
3.作成後、一覧画面に作成したデータベースが表示されますので、しばらく待って有効状態が「利用可能」、かつ起動状態が「起動」になったら利用開始できます。
※作成時の環境の状況にもよりますが、作成にはおよそ 10 ~ 15 分前後掛かります。定期的に画面左上の更新ボタンをクリックして最新の状態をご確認ください。

有効状態
状態 |
説明 |
---|---|
利用可能 |
データベースを利用できます。 |
利用不可 |
データベースは利用できません。 |
起動状態
状態 |
説明 |
---|---|
準備中 |
システム処理中です。しばらくお待ちください。 |
起動 |
Cassandra サーバが起動中です。 |
停止 |
Cassandra サーバは停止中です。 |
エラー |
何らかの理由でシステム側でエラーとなっています。 |
データベースの検索
一覧画面の「検索バー」より、任意の値を用いて作成したデータベースの検索を行うことができます。
※画面上の値に色が付いている「タグ」「起動状態」に関しては、値の部分をクリックすると検索バーに値が自動入力されます。

データベースの削除
詳細画面の「削除」ボタンより、データベースの削除を行うことができます。
詳細画面

データベースの詳細
一覧画面でデータベースの「名前」のリンクをクリック、もしくは明細をダブルクリックすることで、詳細画面に遷移し、選択したデータベースの詳細を確認することができます。
一覧画面

詳細画面

データベースの編集
詳細画面の編集ボタンをクリックすることで、データベースの編集を行うことができます。編集が終わったら「更新」ボタンをクリックして更新してください。
詳細画面

編集ダイアログ

電源操作
詳細画面の「電源操作」ボタンをクリックすることで、データベースの起動、または停止を行うことができます。
ただし、起動の場合は該当データベースが停止していること、または停止の場合は起動している必要があります。

バックアップ
バックアップの取得
1.詳細画面のバックアップタブをクリックしてバックアップの一覧を表示します。

2.画面右上の「バックアップ」ボタンをクリックした後、すぐにバックアップを開始します。

3.バックアップが完了すると、作成したバックアップが一覧に反映されます。
反映されない場合は画面左上の更新ボタンをクリックしてご確認ください。
※データ量によっては、時間が掛かる場合があります。

バックアップの復元
バックアップの一覧より、復元に使用したいバックアップの右端のドロップダウンリストより、「復元」をクリックします。
詳細画面(バックアップタブ)

バックアップの削除
バックアップの一覧より、削除したいバックアップの右端のドロップダウンリストより、「削除」をクリックします。
詳細画面(バックアップタブ)

パラメータ設定
パラメータの編集
1.パラメータの一覧より、編集したいパラメータの右端のボタンをクリックします。

2.値を入力または、選択し「OK」ボタンをクリックします。

パラメータの反映

編集した設定をデータベースに反映させる必要があります。パラメータ一覧画面の右上にある「反映」ボタンをクリックします。
各種パラメータの説明
read_request_timeout(読み込みリクエストタイムアウト|ミリ秒)
秒数を長くすると低スペック環境/ディスク競合での遅延に対応しやすくなります。短くすると正常リクエストもタイムアウトする可能性が高くなります。
デフォルト値:5000ms
選択肢:5000ms / 10000ms / 15000ms / 20000ms
write_request_timeout(書き込みタイムアウト|ミリ秒)
read_request_timeoutと同様の傾向が見られます。秒数を長くすると高負荷/ディスク競合時の遅延に対応しやすくなる可能性があります。リスクとして、問題の検知が遅れることや、リソースを長時間占有してしまう可能性があります。秒数を短くすると、低スペック/ディスク競合環境では正常リクエストもタイムアウトする可能性が高くなります。
デフォルト値:2000ms
選択肢:2000ms / 3000ms / 6000ms / 8000ms
counter_write_request_timeout(カウンター書き込みタイムアウト|ミリ秒)
秒数を長くすると、高負荷時やクラスタ通信遅延に対する耐性が向上し、処理の成功率が高まる可能性があります。一方で、問題検知の遅延やリソースの長時間占有といったリスクがあります。短く設定すると、システム全体の健全性は維持されやすいものの、処理遅延時に正当なリクエストがタイムアウトするリスクがあります。
デフォルト値:5000ms
選択肢:3000ms / 5000ms / 8000ms / 10000ms
range_request_timeout(範囲読み込みタイムアウト|ミリ秒)
秒数を長くすると、低速なディスクや大規模データを扱う環境でもタイムアウトを回避しやすくなりますが、問題検知が遅れたり、スレッド・リソースを長時間占有するリスクがあります。秒数を短くすると応答性は向上しますが、遅延のある環境では正当なリクエストが失敗する可能性が高くなります。
デフォルト値:10000ms
選択肢:5000ms / 10000ms / 20000ms / 30000ms
truncate_request_timeout(TRUNCATEリクエストタイムアウト|ミリ秒)
値を長くすると、大規模なデータ削除処理が完了するまで待機する時間が長くなり、タイムアウトエラーの回避ができます。しかし、長すぎるタイムアウト値を設定すると、削除処理が長時間リソースを占有し、システム全体のパフォーマンスに影響を与える可能性があります。値を短くすると、削除処理が速やかに失敗し、他の操作への影響を最小限に抑えることができますが、大規模削除時にはタイムアウトが発生しやすくなるリスクがあります。
デフォルト値:60000ms
選択肢:3000ms / 6000ms / 9000ms / 12000ms
cas_contention_timeout(CAS競合タイムアウト|ミリ秒)
秒数を長くすると、競合が発生した場合にタイムアウトまで待機する時間が長くなり、処理が成功する可能性が高くなります。ただし、長すぎるタイムアウト秒数を設定すると、リクエストの遅延が増加し、他のリクエストが待機することになり、システム全体のレスポンスが低下するリスクがあります。秒数を短くすると、競合の発生時に即座に失敗するため、システムのレスポンスは向上しますが、競合が頻繁に発生する場合にはリクエストが失敗しやすくなるリスクもあります。
1000ms
選択肢:1000 / 2000 / 5000 / 10000
request_timeout(リクエストタイムアウト|ミリ秒)
秒数を長くすると、リクエストが完了するまで待機する時間が長くなり、低速なディスクや高負荷環境でもタイムアウトを回避しやすくなります。しかし、タイムアウト秒数を長く設定しすぎると、問題の検知が遅れたり、リソースの占有が長時間続くリスクがあります。秒数を短くすると、応答性が向上し、問題の早期発見が可能になりますが、低スペック環境や負荷の高い環境では正当なリクエストがタイムアウトするリスクが増加します。
デフォルト値:10000ms
選択肢:10000ms / 15000ms / 20000ms / 30000ms
concurrent_reads(読み込みリクエスト同時実行数)
値を大きくするとCPU/ディスクに余裕がある場合、スループット向上の可能性があります。リスクとして、CPU(3コア)がボトルネックになりやすく、ディスクI/O競合(書き込み/コンパクション)によりレイテンシ悪化の可能性があります。
デフォルト値:32
選択肢:4 / 8 / 16 / 32
concurrent_writes(書き込みリクエスト同時実行数)
値を大きくするとCPU/ディスクに余裕がある場合、スループット向上の可能性があります。リスクとしてCPU(3コア)負荷増に加え、ディスクI/O競合(CommitLog/Data/Compaction)が激化し、性能の大幅な低下や、システムが不安定になる可能性があります。
デフォルト値:32
選択肢:4 / 8 / 16 / 32
concurrent_counter_writes(カウンタ書き込みリクエスト同時実行数)
concurrent_writesと同様の傾向があります。CPU(3コア)への負荷やディスクI/O競合リスクが高くなり、性能の低下やシステムの不安定になるリスクがあります。
デフォルト値:32
選択肢:4 / 8 / 16 / 32
compaction_throughput(コンパクションI/O帯域|MiB/s)
値を大きくするとコンパクション処理が迅速に進む傾向がありますが、CPU(3コア)への負荷が増加します。また、CommitLogの書き込みや通常の読み書き処理とディスクI/Oが激しく競合するため、システム全体のレイテンシが悪化する可能性が高くなります。ディスクI/Oの競合は軽減されますが、コンパクション処理が遅延するリスクがあります。
デフォルト値:32MiB/s
選択肢:16MiB/s / 32MiB/s / 64MiB/s
memtable_heap_space(Memtable最大サイズ|MB)
値を大きくするとメモリ(8GB)が少ないため、JVMヒープが圧迫されやすくなり、GCの負荷が増す可能性があります。OOMリスクも非常に高まります。また、Flush処理の際にディスク2とのI/O競合が激しくなるため、システム全体のパフォーマンス低下につながる可能性があります。
デフォルト値:512MiB
選択肢:512MiB / 1024MiB / 2048MiB
commitlog_sync_period(periodic用コミットログ同期頻度|ミリ秒)
値を短くすると耐久性が向上します。ただし、ディスクI/O競合(ディスク2)が増加し、書き込みレイテンシが悪化する可能性があります。値を長くするとディスクの負荷が軽減されますが、耐久性が低下する可能性があります。デフォルト値の使用が推奨されます。
デフォルト値:10000ms
選択肢:15000ms / 10000ms / 5000ms
APIの利用方法
NoSQL の設定は管理画面からのみでなく、API でも設定をすることが可能です。
認証
さくらのクラウド API は API キーとシークレットトークンを利用した Basic 認証または Digest 認証を使用します。 APIキーとシークレットトークンは、コントロールパネルの APIキー管理 で発行または確認できます。
OpenAPI仕様
詳しくは下記 OpenAPI 仕様ページをご覧ください。
NoSQL APIドキュメント – RESTful APIを利用した操作が可能
Cassandra
概要
Apache Cassandra(アパッチ・カサンドラ)は、スケーラビリティと高可用性を備えながらパフォーマンスを損なうことなく動作する、オープンソースの NoSQL 分散データベースです。
cqlsh コマンドを用いた Cassandra への接続
本サービスで作成したCassandraデータベースには、CQL(Cassandra Query Language)を使用して接続します。
ユーザは、データベース作成時に設定したIPアドレス、ポート、デフォルトユーザー名、パスワードを使用し、接続例に従って cqlsh コマンドを実行して接続してください。
接続例
python3.9 /usr/bin/cqlsh.py {ip} {port} -u {user} -p {password}
例)python3.9 /usr/bin/cqlsh.py 192.168.1.100 9042 -u hoge -p hoge_Pass1
管理者ユーザの権限
権限名 |
権限についての説明 |
対象 |
---|---|---|
CREATE |
データベース内で新しいオブジェクト(キー・スペース、テーブル、インデックス、ユーザ・ロールなど)を作成するための権限 |
ALL keyspaces |
ALTER |
既存のデータベースオブジェクト(テーブル、インデックス、キー・スペース、カラム・ファミリーなど)の構造や設定を変更するための権限 |
ALL keyspaces |
DROP |
既存のデータベースオブジェクト(テーブル、インデックス、キー・スペース、ユーザ・ロールなど)を削除するための権限 |
ALL keyspaces |
SELECT |
指定されたデータベースオブジェクト(テーブル、ビュー、カラムファミリーなど)からデータを読み取るための権限 |
ALL keyspaces |
MODIFY |
ユーザがデータの挿入(INSERT)、更新(UPDATE)、削除(DELETE)など、テーブルのデータに対する変更を行うための権限 |
ALL keyspaces |
AUTHORIZE |
ユーザまたはロールに対して、他のユーザやロールの権限を付与・取り消しするための権限 |
ALL keyspaces |
DESCRIBE |
データベース内のスキーマに関する情報を取得するための権限 |
ALL ROLES |
EXECUTE |
ユーザ定義関数(UDF: User Defined Function)やユーザ定義集計関数(UDA: User Defined Aggregation)の実行を許可する権限 |
ALL FUNCTIONS |