LoginSignup
0
0

Amazon Keyspacesを使用してApache Cassandraを試す

Posted at

Amazon Keyspacesを利用して、Apache Cassandraを試してみたので、そのメモです。
AWSで使用するNoSQLの定番といえばDynamoDBですが、ベンダーロックインされてしまうことを鑑み、OSSのNoSQLを試そうと思ったのがきっかけです。
Cassandraであれば、Azure Cosmos DBなどでもサポートされているため、マルチクラウドで対応できる、きっと。

チュートリアル

最初にAmazon Keyspacesのコンソールから利用開始すると、以下のチュートリアルが表示されます。このチュートリアルに沿うだけで、テーブル作成からデータのINSERTまでの一連の流れがわかります。
image.png

データのクエリを試す

クエリは、CQL(Cassandra Query Language)を使用します。SQLに似た構文でクエリできるので、DynamoDBよりとっつきやすいイメージです。
image.png

しかし、NoSQLなので、プライマリキー以外でwhereで絞り込もうとすると、エラーが発生します。
image.png

ALLOW FILTERINGをつけることで結果が出ますが、全件検索になってしまう(DynamoDBでいうところのScan相当)ため、あまりやりたくないことは確かです。
image.png

また、Dynamo DB同様、データの並び替えは期待できなさそうです。order by で並び変えようとすると、プライマリキーをEQかINで指定するように言われ、プライマリキーをINで指定して再度クエリを実行しましたが、想定の結果にはなりませんでした。
image.png
image.png

DynamoDBであれば、インデックスを用いて無理やりやることもできますが、Keyspacesではインデックスを貼ることはできないようです。(本家Cassandraであればインデックスも貼れそうでした)

感想

趣味レベルではおとなしくDynamoDBか普通のRDBを使ったほうがよさそうと思ったので、これ以上の深追いはしませんでしたが、ここまでの情報で参考になる方もいらっしゃればと思い投稿しました。なにかの参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0