<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>devkuma – Cassandra</title>
    <link>https://www.devkuma.com/jp/tags/cassandra/</link>
    <image>
      <url>https://www.devkuma.com/jp/tags/cassandra/logo/180x180.jpg</url>
      <title>Cassandra</title>
      <link>https://www.devkuma.com/jp/tags/cassandra/</link>
    </image>
    <description>Recent content in Cassandra on devkuma</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>jp</language>
    <managingEditor>kc@example.com (kc kim)</managingEditor>
    <webMaster>kc@example.com (kc kim)</webMaster>
    <copyright>The devkuma</copyright>
    
	  <atom:link href="https://www.devkuma.com/jp/tags/cassandra/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Cassandra</title>
      <link>https://www.devkuma.com/jp/docs/cassandra/</link>
      <pubDate>Fri, 28 Oct 2022 01:02:00 +0900</pubDate>
      <author>kc@example.com (kc kim)</author>
      <guid>https://www.devkuma.com/jp/docs/cassandra/</guid>
      <description>
        
        
        &lt;h2 id=&#34;cassandra-の概要&#34;&gt;Cassandra の概要&lt;/h2&gt;
&lt;p&gt;Cassandra(カサンドラ)は、高い拡張性と可用性を兼ね備えた OSS の分散データベース管理システムである。&lt;br&gt;
Cassandra はもともと Facebook で大容量データを保存するために開発され、2008年にソースコードが公開された。
その後、Facebook が Google の Bigtable をモデルにした別製品である HBase を採用した流れから、採用する企業は限定的だったが、最近では Apple や Netflix などの企業が可用性などの観点から自社の大規模システムに Cassandra を採用した事例もあり、再び注目されている。&lt;/p&gt;
&lt;p&gt;Cassandra はオープンソースプロジェクトであるため、無料でソースコード取得やプロダクション利用などが可能だが、テスト済みでサポートを受けられる DataStax 社による商用製品版も存在する。&lt;/p&gt;
&lt;p&gt;2021年7月にメジャーリリースである 4.0.0 がリリースされた。&lt;/p&gt;
&lt;p&gt;この主要リリースでは、以下のように機能が進化した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Java 11 および一時レプリケーションへの実験的サポートを追加&lt;/li&gt;
&lt;li&gt;メトリクスおよび YAML 構成情報を公開する Virtual Tables 機能を追加&lt;/li&gt;
&lt;li&gt;コンプライアンスおよびデバッグに有用な監査ログ機能を追加&lt;/li&gt;
&lt;li&gt;ライブトラフィックのキャプチャと再生のための Full Query Logging(FQL) 機能を追加&lt;/li&gt;
&lt;li&gt;ノード間メッセージプロトコルを最適化&lt;/li&gt;
&lt;li&gt;クラスターノード間のデータ交換に使用されるストリーミングを改善&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cassandra-の主な特徴&#34;&gt;Cassandra の主な特徴&lt;/h2&gt;
&lt;p&gt;Cassandra の主な特徴は次のとおりである。&lt;/p&gt;
&lt;h3 id=&#34;マスターレス方式&#34;&gt;マスターレス方式&lt;/h3&gt;
&lt;p&gt;データベースのクラスターアーキテクチャとしては「マスタースレーブ方式」が多いが、Cassandra は「マスターレス方式」になっている。&lt;br&gt;
この方法では各ノードが等価であり、ノードを統括するマスターは存在しない。したがって、単一障害点が存在しない。また、レプリケーション設定により、各ノードに登録されたデータは自動的に他のノードへ伝播されるため、高い可用性を実現できる。&lt;/p&gt;
&lt;h3 id=&#34;スキーマ定義がある&#34;&gt;スキーマ定義がある&lt;/h3&gt;
&lt;p&gt;MongoDB のようなドキュメント DB や Redis のような Key-Value ストアとは異なり、Cassandra にはスキーマ定義がある。これにより、アプリケーションの開発や運用時に、開発者や運用者がデータ内容を把握しやすくなる。
また、Cassandra は RDB と異なりスキーマに完全には依存せず、1つの列に複数の値を挿入するなど、ある程度自由なテーブル構成ができる。&lt;/p&gt;
&lt;h3 id=&#34;性能が線形にスケール&#34;&gt;性能が線形にスケール&lt;/h3&gt;
&lt;p&gt;Cassandra はノードを追加して処理を拡張できる。&lt;br&gt;
Cassandra は公式に性能が線形にスケールすると主張しており、&lt;a href=&#34;http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netflix が実施したベンチマーク&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt; がこれを裏付けている。&lt;br&gt;
Apple の iCloud など大規模システムで Cassandra が採用されている理由の一端には、このようなスケール性能があると考えられる。&lt;/p&gt;
&lt;h3 id=&#34;sql-に似たクエリが使用可能cql&#34;&gt;SQL に似たクエリが使用可能(CQL)&lt;/h3&gt;
&lt;p&gt;Cassandra では、CQL(Cassandra Query Language)という SQL のようなクエリで操作できる。
&lt;code&gt;SELECT&lt;/code&gt; や &lt;code&gt;UPDATE&lt;/code&gt;、&lt;code&gt;DELETE&lt;/code&gt; など基本的なクエリは SQL とほぼ同じように実行できる。&lt;code&gt;GROUP BY&lt;/code&gt; はバージョン 3.4.3 から実装され、サポートされている。しかし、&lt;code&gt;JOIN&lt;/code&gt; のような集計は実装されていない。&lt;br&gt;
また、関数や &lt;code&gt;ORDER BY&lt;/code&gt; などのソートにも制限があるため、注意が必要である。&lt;/p&gt;
&lt;h2 id=&#34;cassandra-のライセンス&#34;&gt;Cassandra のライセンス&lt;/h2&gt;
&lt;p&gt;Cassandra のライセンスは「Apache License version 2」に従って公開されており、営利、非営利を問わず誰でも自由かつ無料で利用、変更、再配布できる。&lt;/p&gt;
&lt;h2 id=&#34;cassandra-の運用環境&#34;&gt;Cassandra の運用環境&lt;/h2&gt;
&lt;p&gt;Cassandra は Java アプリケーションである。&lt;/p&gt;
&lt;p&gt;Oracle Java Standard Edition 8 または OpenJDK 8 の最新バージョンが必要である。Java 11 はまだ実験的サポートであり、プロダクション環境での使用は推奨されない。&lt;br&gt;
cqlsh を使用するには Python 3.6 以上の最新バージョンが必要である。&lt;/p&gt;
&lt;h2 id=&#34;cassandra-ダウンロード&#34;&gt;Cassandra ダウンロード&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;http://cassandra.apache.org/download/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://cassandra.apache.org/download/&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;

      </description>
      
      <category>Cassandra</category>
      
      <category>NoSQL</category>
      
    </item>
    
  </channel>
</rss>
