NoSQL
[更新: 2025年8月28日]
概要
「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世代まで)。
「バックアップ世代数」を超えて新たにバックアップを取得した場合、最も古いバックアップから順に自動で削除されます(自動・随時バックアップ共通の仕組みです)。
リペアについて
リペアとは、複数のサーバ間で発生したデータのずれを検出・修復し、データの整合性(一貫性)を維持するためのメンテナンス作業です。
Cassandraは高可用性を実現しており、ノード障害が発生してもシステムの稼働を継続します。
しかし、障害が発生しているノードへの書き込みは完全には保証されないため、データの不整合が発生する可能性があります。
そのため、将来的なデータ欠損を防ぎ、データの整合性を保つため、定期的にリペア処理を実施することが推奨されます。
リペアの種類
リペアには「増分リペア」と「完全リペア」の2種類があり、それぞれについて解説します。
増分リペア
増分リペアは、前回のリペア実行以降に更新されたデータのみを対象に修復を行う方法です。
このため、修復対象が限定され、処理にかかる時間やシステムへの負荷を抑えつつ効率的にデータ整合性を維持できます。
ただし、一度修復済みとマークされたデータは再度修復されないため、ディスク障害やオペレータのミス、Cassandraのバグなどによるデータ損失には対応できません。
完全リペア
完全リペアは、クラスタ内のすべてのデータを対象に修復を行います。
これにより、増分リペアでは見逃される可能性のある不整合も検出・修復でき、ディスク障害や人為的ミス、ソフトウェアのバグに起因するデータ損失のリスクを軽減します。
ただし、全データを対象とするため、増分リペアに比べて処理時間やI/O負荷が大きくなる点に注意が必要です。
リペアの実行コマンド
対象
実行コマンド
増分リペア
nodetool repair -pr
完全リペア
nodetool repair --full -pr
※-prオプションは各ノードのPrimary Rangeのみをリペアし、重複作業を避けて効率的に処理時間を短縮します。
リペア方法
NoSQLのリペアは、管理画面から設定および実行することができます。
リペア方法には「定期リペア」と「即時リペア」の2種類があり、それぞれについて解説します。
定期リペア
データベース作成後、または定期リペアの設定変更後、指定されたタイミングで自動的にリペアが実行されます。
1.設定手順
データベースの初回作成時または設定変更時に、以下の設定項目に適切な値を入力し、設定を保存します。
設定を保存すると、定期リペアの設定が有効になり、運用が開始されます。
対象
設定項目
増分リペア
・増分リペアを実行する曜日
・増分リペアを実行する時間帯完全リペア
・完全リペアを実行する間隔
・完全リペアを実行する曜日
・完全リペアを実行する時間帯
※いずれか一方の設定(増分リペアまたは完全リペア)を入力して保存すれば、定期リペア機能は有効になります。両方を設定した場合は、それぞれのスケジュールに従ってリペアが実行されます。

2.リペアの実施間隔推奨値
項目
推奨値
増分リペア
1~3日に1回
完全リペア(増分リペアを実施している場合)
1~3週間に1回
完全リペア(増分リペアを実施しない場合)
7日に1回
※「完全リペア(増分リペアを実施しない場合)」は、Cassandra の GC 猶予期間内にリペアを実行する必要があるための最低限の基準です。
CassandraのGC 猶予期間(デフォルト 10日)は、削除済みデータの 墓石(tombstone)が保持される期間です。
この期間を過ぎてリペアを行うと、削除データが他ノードで復元される可能性があります。
理論上は「10日以内」にリペアを行えば 問題ありませんが、障害やメンテナンス遅延に備え、本サービスでは、7日に1回を最低限の実施間隔として定めています。
即時リペア
データベース作成後は、起動中であれば任意のタイミングでリペアを実行できます。
停止中はリペアを実行できないため、実行する際はデータベースを起動してください。
即時リペアは突発的な不整合対応や定期リペアの補完として適宜実行いただけます。
実行方法の詳細については、「即時リペアの実行」の手順をご確認ください。
バージョンアップについて
Cassandra バージョンの提供・サポートポリシー
提供バージョン対象
当社では、以下の基準に基づき、Cassandra の提供・サポートを行います。
提供対象
Cassandra 4系のみを対象とし、最新から3世代分のマイナーバージョンをサポートします。
マイナーバージョン: Apache Cassandra の正式リリースから 1〜2か月を目安に、当社で動作確認後に提供開始します。
パッチバージョン: リリースから 14日〜1か月を目安に、当社で動作確認後に提供開始します。
- ※バージョン表記について
Cassandraのバージョンは「メジャー.マイナー.パッチ」の形式で表記されます。
例: 4.1.9の場合
メジャーバージョン: 4
マイナーバージョン: 1
パッチバージョン: 9
提供対象外
以下のバージョンは提供・サポート対象外です。
当社で動作確認を行っていないバージョン
コミュニティでサポート終了(EoL)となったバージョン
※Cassandra 5 系については今後の対応を検討中です。
バージョンアップ方針
マイナーバージョンアップ
当社が動作確認済みのバージョンのみ選択可能です。
サポート対象外(EoL など)のバージョンは選択できません。
マイナーバージョンをスキップしたアップデート(例:4.1.7 → 4.5.6)はできません。
段階的なアップデートが必要です。
パッチバージョンアップ
任意のパッチバージョンを指定することはできません。
アップデート時には、利用可能な最新パッチバージョンのみ選択可能です。
メジャーバージョンアップ
メジャーバージョン(例:4.1.x → 5.0.0)へのアップグレードは現時点では対象外です。
注意事項
サポートが終了したバージョンは、アップデート候補として表示されず、選択できません。
当社から強制的なアップデートは行いませんが、脆弱性対応等の必要がある場合は個別にご案内します。
新規データベース作成時のバージョン
サポート対象の最新バージョンが自動適用されます。
旧バージョンをご希望の場合は、個別にご相談ください。
サポート
ご不明点やお困りの際は、 会員メニュー内のメールサポート より、サービス情報を「さくらのクラウド」としてお問い合わせください。
利用手順
利用開始ガイド
前提条件
以下の準備が完了していることが前提となります。
さくらのクラウド ご利用開始手順 が完了していること。
管理画面へのログイン
さくらのクラウドのコントロールパネルより、「NoSQL」を選択して管理画面にログインしてください。

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

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

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

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

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

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

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

詳細画面

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

編集ダイアログ

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

再起動
ノードの一部が停止している場合は、詳細画面の「再起動」ボタンをクリックすることで、データベースを再起動できます。 また、「再起動」ボタンをクリックすることで、NoSQLの起動状態を確認することも可能です。

詳細画面(起動状態確認)

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

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

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

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

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

リペア
即時リペアの実行
1.詳細画面の「リペア」ボタンをクリックします。
詳細画面

2.「増分リペア」または「完全リペア」ボタンをクリックします。

パラメータ設定
パラメータの編集
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
選択肢:30000ms / 60000ms / 90000ms / 120000ms
cas_contention_timeout(CAS競合タイムアウト|ミリ秒)
秒数を長くすると、競合が発生した場合にタイムアウトまで待機する時間が長くなり、処理が成功する可能性が高くなります。ただし、長すぎるタイムアウト秒数を設定すると、リクエストの遅延が増加し、他のリクエストが待機することになり、システム全体のレスポンスが低下するリスクがあります。秒数を短くすると、競合の発生時に即座に失敗するため、システムのレスポンスは向上しますが、競合が頻繁に発生する場合にはリクエストが失敗しやすくなるリスクもあります。
1000ms
選択肢:1000ms / 2000ms / 5000ms / 10000ms
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
バージョンアップ
バージョン確認
詳細画面より、「バージョン確認」ボタンをクリックします。
※更新可能なバージョンがある場合のみ、表示されます。

バージョンアップ
1.バージョンを選択し「確認」ボタンをクリックします。

2.バージョンアップの確認ダイアログが表示されますので、内容を確認し「アップデート」ボタンをクリックします。

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 コマンドを実行して接続してください。
接続例
cqlsh {ip} {port} --username={USERNAME} --password={PASSWORD}
例)cqlsh 192.168.1.100 9042 --username=example_user --password=example_pass
管理者ユーザの権限
権限名 |
権限についての説明 |
対象 |
---|---|---|
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 |