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 データベース接続に用いる管理者ユーザ名

パスワード(必須)

任意のパスワード
※Cassandra データベース接続に用いる管理者パスワード

接続先スイッチ(必須)

ユーザ環境とサービス環境間を接続するスイッチ

ポート番号(必須)

Cassandra で使用するポート番号
(デフォルト値:9042)

IPv4 アドレス

Cassandra データベースの IP アドレス
※ノード数 3 の場合、3 つの IPv4 アドレスが必要

ネットマスク(必須)

任意の設定値
※接続先スイッチ選択時に自動入力されます

ゲートウェイ(必須)

任意の設定値
※接続先スイッチ選択時に自動入力されます

送信元ネットワーク

任意の設定値

バックアップ先

さくらのクラウド上に作成した NFS サーバをバックアップ先として利用可能です

定期バックアップ間隔

任意の設定値(日曜日~土曜日)

実行する時間帯

任意の設定値(15 分単位)

バックアップ世代数

1 ~ 8 世代まで指定可能

名前(必須)

任意の Cassandra データベース名
※ここで設定した名前が一覧画面に表示されます

説明

任意の設定値

タグ

任意の設定値
※一覧画面で検索する際のキーとして使用できます

※1:NoSQL β 版における設定値です。今後、設定値が変更される場合があります。

3.作成後、一覧画面に作成したデータベースが表示されますので、しばらく待って有効状態が「利用可能」、かつ起動状態が「起動」になったら利用開始できます。
※作成時の環境の状況にもよりますが、作成にはおよそ 10 ~ 15 分前後掛かります。定期的に画面左上の更新ボタンをクリックして最新の状態をご確認ください。

一覧画面

有効状態

状態

説明

利用可能

データベースを利用できます。

利用不可

データベースは利用できません。

起動状態

状態

説明

準備中

システム処理中です。しばらくお待ちください。

起動

Cassandra サーバが起動中です。

停止

Cassandra サーバは停止中です。

エラー

何らかの理由でシステム側でエラーとなっています。
必要に応じて、 さくらのクラウドサポート へお問い合わせください。

データベースの検索

一覧画面の「検索バー」より、任意の値を用いて作成したデータベースの検索を行うことができます。
※画面上の値に色が付いている「タグ」「起動状態」に関しては、値の部分をクリックすると検索バーに値が自動入力されます。

一覧画面

データベースの削除

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

詳細画面

詳細画面

データベースの詳細

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

一覧画面

一覧画面

詳細画面

詳細画面

データベースの編集

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

詳細画面

詳細画面

編集ダイアログ

編集ダイアログ

電源操作

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

詳細画面

バックアップ

バックアップの取得

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

詳細画面(バックアップタブ)

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

詳細画面(バックアップタブ)

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

ヘッダ

バックアップの復元

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

詳細画面(バックアップタブ)

詳細画面(バックアップタブ)

バックアップの削除

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

詳細画面(バックアップタブ)

詳細画面(バックアップタブ)

パラメータ設定

パラメータの編集

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

詳細画面(パラメーター設定タブ)

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

パラメーター編集タブ

パラメータの反映

詳細画面(パラメーター設定タブ)

編集した設定をデータベースに反映させる必要があります。パラメータ一覧画面の右上にある「反映」ボタンをクリックします。

各種パラメータの説明

  1. read_request_timeout(読み込みリクエストタイムアウト|ミリ秒)

  • 秒数を長くすると低スペック環境/ディスク競合での遅延に対応しやすくなります。短くすると正常リクエストもタイムアウトする可能性が高くなります。

  • デフォルト値:5000ms

  • 選択肢:5000ms / 10000ms / 15000ms / 20000ms

  1. write_request_timeout(書き込みタイムアウト|ミリ秒)

  • read_request_timeoutと同様の傾向が見られます。秒数を長くすると高負荷/ディスク競合時の遅延に対応しやすくなる可能性があります。リスクとして、問題の検知が遅れることや、リソースを長時間占有してしまう可能性があります。秒数を短くすると、低スペック/ディスク競合環境では正常リクエストもタイムアウトする可能性が高くなります。

  • デフォルト値:2000ms

  • 選択肢:2000ms / 3000ms / 6000ms / 8000ms

  1. counter_write_request_timeout(カウンター書き込みタイムアウト|ミリ秒)

  • 秒数を長くすると、高負荷時やクラスタ通信遅延に対する耐性が向上し、処理の成功率が高まる可能性があります。一方で、問題検知の遅延やリソースの長時間占有といったリスクがあります。短く設定すると、システム全体の健全性は維持されやすいものの、処理遅延時に正当なリクエストがタイムアウトするリスクがあります。

  • デフォルト値:5000ms

  • 選択肢:3000ms / 5000ms / 8000ms / 10000ms

  1. range_request_timeout(範囲読み込みタイムアウト|ミリ秒)

  • 秒数を長くすると、低速なディスクや大規模データを扱う環境でもタイムアウトを回避しやすくなりますが、問題検知が遅れたり、スレッド・リソースを長時間占有するリスクがあります。秒数を短くすると応答性は向上しますが、遅延のある環境では正当なリクエストが失敗する可能性が高くなります。

  • デフォルト値:10000ms

  • 選択肢:5000ms / 10000ms / 20000ms / 30000ms

  1. truncate_request_timeout(TRUNCATEリクエストタイムアウト|ミリ秒)

  • 値を長くすると、大規模なデータ削除処理が完了するまで待機する時間が長くなり、タイムアウトエラーの回避ができます。しかし、長すぎるタイムアウト値を設定すると、削除処理が長時間リソースを占有し、システム全体のパフォーマンスに影響を与える可能性があります。値を短くすると、削除処理が速やかに失敗し、他の操作への影響を最小限に抑えることができますが、大規模削除時にはタイムアウトが発生しやすくなるリスクがあります。

  • デフォルト値:60000ms

  • 選択肢:3000ms / 6000ms / 9000ms / 12000ms

  1. cas_contention_timeout(CAS競合タイムアウト|ミリ秒)

  • 秒数を長くすると、競合が発生した場合にタイムアウトまで待機する時間が長くなり、処理が成功する可能性が高くなります。ただし、長すぎるタイムアウト秒数を設定すると、リクエストの遅延が増加し、他のリクエストが待機することになり、システム全体のレスポンスが低下するリスクがあります。秒数を短くすると、競合の発生時に即座に失敗するため、システムのレスポンスは向上しますが、競合が頻繁に発生する場合にはリクエストが失敗しやすくなるリスクもあります。

  • 1000ms

  • 選択肢:1000 / 2000 / 5000 / 10000

  1. request_timeout(リクエストタイムアウト|ミリ秒)

  • 秒数を長くすると、リクエストが完了するまで待機する時間が長くなり、低速なディスクや高負荷環境でもタイムアウトを回避しやすくなります。しかし、タイムアウト秒数を長く設定しすぎると、問題の検知が遅れたり、リソースの占有が長時間続くリスクがあります。秒数を短くすると、応答性が向上し、問題の早期発見が可能になりますが、低スペック環境や負荷の高い環境では正当なリクエストがタイムアウトするリスクが増加します。

  • デフォルト値:10000ms

  • 選択肢:10000ms / 15000ms / 20000ms / 30000ms

  1. concurrent_reads(読み込みリクエスト同時実行数)

  • 値を大きくするとCPU/ディスクに余裕がある場合、スループット向上の可能性があります。リスクとして、CPU(3コア)がボトルネックになりやすく、ディスクI/O競合(書き込み/コンパクション)によりレイテンシ悪化の可能性があります。

  • デフォルト値:32

  • 選択肢:4 / 8 / 16 / 32

  1. concurrent_writes(書き込みリクエスト同時実行数)

  • 値を大きくするとCPU/ディスクに余裕がある場合、スループット向上の可能性があります。リスクとしてCPU(3コア)負荷増に加え、ディスクI/O競合(CommitLog/Data/Compaction)が激化し、性能の大幅な低下や、システムが不安定になる可能性があります。

  • デフォルト値:32

  • 選択肢:4 / 8 / 16 / 32

  1. concurrent_counter_writes(カウンタ書き込みリクエスト同時実行数)

  • concurrent_writesと同様の傾向があります。CPU(3コア)への負荷やディスクI/O競合リスクが高くなり、性能の低下やシステムの不安定になるリスクがあります。

  • デフォルト値:32

  • 選択肢:4 / 8 / 16 / 32

  1. compaction_throughput(コンパクションI/O帯域|MiB/s)

  • 値を大きくするとコンパクション処理が迅速に進む傾向がありますが、CPU(3コア)への負荷が増加します。また、CommitLogの書き込みや通常の読み書き処理とディスクI/Oが激しく競合するため、システム全体のレイテンシが悪化する可能性が高くなります。ディスクI/Oの競合は軽減されますが、コンパクション処理が遅延するリスクがあります。

  • デフォルト値:32MiB/s

  • 選択肢:16MiB/s / 32MiB/s / 64MiB/s

  1. memtable_heap_space(Memtable最大サイズ|MB)

  • 値を大きくするとメモリ(8GB)が少ないため、JVMヒープが圧迫されやすくなり、GCの負荷が増す可能性があります。OOMリスクも非常に高まります。また、Flush処理の際にディスク2とのI/O競合が激しくなるため、システム全体のパフォーマンス低下につながる可能性があります。

  • デフォルト値:512MiB

  • 選択肢:512MiB / 1024MiB / 2048MiB

  1. commitlog_sync_period(periodic用コミットログ同期頻度|ミリ秒)

  • 値を短くすると耐久性が向上します。ただし、ディスクI/O競合(ディスク2)が増加し、書き込みレイテンシが悪化する可能性があります。値を長くするとディスクの負荷が軽減されますが、耐久性が低下する可能性があります。デフォルト値の使用が推奨されます。

  • デフォルト値:10000ms

  • 選択肢:15000ms / 10000ms / 5000ms

APIの利用方法

NoSQL の設定は管理画面からのみでなく、API でも設定をすることが可能です。

認証

さくらのクラウド API は API キーとシークレットトークンを利用した Basic 認証または Digest 認証を使用します。 APIキーとシークレットトークンは、コントロールパネルの APIキー管理 で発行または確認できます。

OpenAPI仕様

詳しくは下記 OpenAPI 仕様ページをご覧ください。

Cassandra

概要

Apache Cassandra(アパッチ・カサンドラ)は、スケーラビリティと高可用性を備えながらパフォーマンスを損なうことなく動作する、オープンソースの NoSQL 分散データベースです。

Cassandra 公式ドキュメント

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

データベース内で新しいオブジェクト(キー・スペース、テーブル、インデックス、ユーザ・ロールなど)を作成するための権限
この権限を持っているユーザは、Cassandra のデータベースに新しい構造を追加することができる

ALL keyspaces
ALL FUNCTIONS
ALL ROLES

ALTER

既存のデータベースオブジェクト(テーブル、インデックス、キー・スペース、カラム・ファミリーなど)の構造や設定を変更するための権限
この権限を持っているユーザは、既存のオブジェクトを変更することができるが、削除することはできない

ALL keyspaces
ALL FUNCTIONS
ALL ROLES

DROP

既存のデータベースオブジェクト(テーブル、インデックス、キー・スペース、ユーザ・ロールなど)を削除するための権限
この権限を持っているユーザは、指定されたオブジェクトを完全に削除することができる

ALL keyspaces
ALL FUNCTIONS
ALL ROLES

SELECT

指定されたデータベースオブジェクト(テーブル、ビュー、カラムファミリーなど)からデータを読み取るための権限
この権限を持っているユーザは、データベース内のテーブルからデータをクエリ(検索)できるようになる

ALL keyspaces
ALL mbeans

MODIFY

ユーザがデータの挿入(INSERT)、更新(UPDATE)、削除(DELETE)など、テーブルのデータに対する変更を行うための権限
この権限を持っているユーザは、テーブルのデータ内容を変更することができる

ALL keyspaces
ALL mbeans

AUTHORIZE

ユーザまたはロールに対して、他のユーザやロールの権限を付与・取り消しするための権限
具体的には、あるユーザやロールに対して権限を管理することができる権限

ALL keyspaces
ALL FUNCTIONS
ALL mbeans
ALL ROLES

DESCRIBE

データベース内のスキーマに関する情報を取得するための権限
具体的には、この権限を持つユーザは、テーブルやキー・スペースの構造やメタデータ(例えば、テーブルのカラム、データ型、インデックス、など)を表示することができる

ALL ROLES

EXECUTE

ユーザ定義関数(UDF: User Defined Function)やユーザ定義集計関数(UDA: User Defined Aggregation)の実行を許可する権限
具体的には、ユーザがカスタム関数を実行することを許可する

ALL FUNCTIONS
ALL mbeans