paint-brush
Apache Cassandra 5.0 が登場: これを構築した人々が熱意を持っている理由がここにあります@datastax
1,232 測定値
1,232 測定値

Apache Cassandra 5.0 が登場: これを構築した人々が熱意を持っている理由がここにあります

DataStax6m2023/07/31
Read on Terminal Reader

長すぎる; 読むには

動的データ マスキングから ACID トランザクションまで、Apache Cassandra コミッターが、次期 5.0 リリースの大きくて魅力的な変更点について話し合います。
featured image - Apache Cassandra 5.0 が登場: これを構築した人々が熱意を持っている理由がここにあります
DataStax HackerNoon profile picture
0-item
1-item


8 人の異なる人に意見を尋ねると、8 つの異なる答えが得られます。 Apache Cassandraオープンソース プロジェクトは、それぞれの動機を持って集まった個人によって構築および維持されています。新しい機能を好む人もいます。システムからパフォーマンスを最大限に引き出すことを好む人もいます。オペレータの作業を楽にしたいと考えている人もいます。何がそれらすべてを結びつけているのでしょうか?彼らは、改善を続ける素晴らしいデータベースという 1 つの目標に向かって、分散したチームとして取り組んでいます。


Cassandra は、可能な限り最高の製品を作成するという共通の目標を共有する、世界各地のエンジニアの共同作業です。彼らは、プロジェクトのオープンソースコードに貢献しながら、雇用主の問題に取り組みます。コミュニティから信頼を得て基本コードを変更できる人を「コミッター」と呼びます。コミッターになるには、プロジェクトに対する献身と情熱が必要です。先日、プロジェクトでは以下のイベントを開催しました。カサンドラ フォワードでは、コミッターの何人かが、Cassandra 5.0 の今後のリリースについての洞察を共有しました。彼らが言わなければならなかったことは次のとおりです。


ジョン・ハダッド: Java 17 サポートとガベージ コレクター

Haddad 氏は、Java 17 と、Cassandra 5.0 の ZGC などの低遅延ガベージ コレクターのサポートを楽しみにしていると語ります。 2017 年から Cassandra のコミッターである元 Netflix と Apple の開発者は、これらのコレクターはミリ秒未満の一時停止時間と「設定して忘れる」モデルを提供し、Cassandra ユーザーにとってメモリ管理の負担が軽減されると述べています。プロジェクトが成熟し、メモリ管理がさらに改善されるにつれて、GC の一時停止の期間と頻度が改善され、より高密度のノードを実行しやすくなり、ユーザーのコストが節約されます。


「つまり、GC 一時停止の頻度が減り、一時停止が発生しても所要時間は短縮されます。これにより、より高密度のノードを実行しやすくなり、クラスターの実行コストが安くなります。アップグレードするだけでお金を節約できるというアイデアが気に入っています。」


アンドレス・デ・ラ・ペーニャ: 動的データマスキング

DataStax ソフトウェア エンジニアであり、2016 年から Cassandra コミッターでもある De la Peña氏は、Cassandra 5.0 の動的データ マスキング機能に熱心に取り組んでいます。この機能により、マスクされた列へのアクセスを許可しながら機密情報を隠すことができます。この機能は、セル値を変換する一連の通常の SQL 関数を使用して、列の実際の値を汎用データに置き換えます。管理者はこれらのマスキング関数をテーブル スキーマの列に付加できるため、権限のないユーザーには、クエリで関数を指定していない場合でも常にマスクされたデータが表示されます。現時点では利用可能なマスキング関数のセットは比較的少ないですが、ユーザーはマスキングに独自のユーザー定義関数を使用できるため、カスタム タイプのマスキングを簡単に追加できます。


「これは、世の中の多くのデータベースで利用できるセキュリティ匿名化機能です。

そして、カサンドラでは長い間待ち望まれていました。」


ヴィナイ・チェラ: ガードレール

Netflixのシニア エンジニアリング リーダーであり、2019 年からコミッターを務める Chella は、開発者により多くのガードレールを提供し、安定性を向上させ、操作エクスペリエンスを強化する Cassandra 5.0 の新機能に興奮しています。 Cassandra 4.1 でのガードレールの導入により、ユーザーのアクションに対するソフト制限とハード制限が可能になり、Cassandra 5.0 では信頼性、可用性、ユーザー エクスペリエンスを向上させるためにいくつかの新しいガードレールが追加されました。これらのガードレールはベスト プラクティスを体系化し、運用上重要なキー スペースの削除やデータの損失などの致命的なミスを回避します。


「これらのガードレールは、多くの『おっと』瞬間を防ぐのに確かに役立ちます。」


ミック・センブ・ウェバー: コミュニティ

2016 年から Cassandra コミッターであり、DataStax の主任アーキテクトでもある Semb Weaver 氏は、Cassandra 5.0 がコントリビューターの背後に複数のベンダー、企業、従業員を擁することで「真のオープンソース」を体現していることを高く評価しています。これにより、豊富な機能とアプリケーションを備えた多様な開発コミュニティが形成され、信頼性を高めて革新的な機能を実現するために、エンジニアリングの衛生管理、QA および CI の構築の重要性が強調されます。これらの原則と実践はテクノロジーの長寿命化、持続可能性、最新化につながり、コミュニティにおける多様性と協力を促進すると彼は述べています。


「これは、5.0 で導入されるいくつかの革新的な機能 (Accord など) を可能にするものであり、チーム全員が協力しなければゴールラインを越えることはできません。」


ジョーダン・ウェスト: もっと睡眠!

Netflix のシニア ソフトウェア エンジニアであり、2020 年から Cassandra コミッターを務めているウェスト氏は、Cassandra 5.0 の改善が信頼性とパフォーマンスの向上にどのようにつながり、オンコール エンジニアとしての睡眠時間を増やすことにつながると興奮しています。彼は、新しいトランザクション メタデータ機能と、より多くの書き込みを高速化できる改善された memtable を強調しています。また、新しい仮想テーブル、診断、メトリクスが Cassandra についてのより多くの洞察を提供し、インシデントをより迅速に解決するのにどのように役立つかについても説明します。


「Cassandra 5.0 を使用すると、就寝時に目が覚める可能性が低くなります。目が覚めたら、より早く問題を解決し、より早くベッドに戻れるようになります。」


エカテリーナ・ディミトロワ: Accord および ACID トランザクション

2020 年からコミッターを務めている DataStax エンジニアである Dimitrova は、コミュニティによる Accord プロトコルの実装を熱心に期待しています。このプロトコルにより、グローバルなコンセンサスが可能になり、ACID トランザクションを大規模に実行できるようになり、パフォーマンスやスケーラビリティを犠牲にすることなく開発者の効率が向上します。銀行振込などでは世界的なコンセンサスが非常に重要です。同時実行性の保証により、一度に 1 つのプロセスのみが変更できることが保証されます。開発者向けに作成している新しい構文には、トランザクションの開始宣言とコミット宣言が含まれており、これにより、宣言内のすべての操作が完全に ACID に準拠できるようになります。


ロリーナ・ポーランド:統合圧縮戦略

2021年にコミッターとなったDataStax技術リーダーのポーランドは、CT、サイズ階層化、レベル圧縮戦略などの古いレガシー圧縮戦略を組み合わせたCassandra 5.0の統合圧縮戦略(UCS)の利点を気に入っています。 UCS は、スペースのオーバーヘッドを削減し、並列処理を可能にする、大幅に高速な圧縮戦略です。この戦略には、特定のワークロード (読み取りが多いか書き込みが多いか、あるいはその両方) に合わせて調整できるスケーリング係数もあります。従来の戦略がどのように機能するかを知る必要はなく、UCS への移行にかかるオーバーヘッドはゼロです。


「書き込みを多くする必要がある場合は、それに合わせて調整できます。読み取りを多くする必要がある場合は、それに合わせて調整できます。その中間のものが必要な場合は、ワークロードがどのようなものであってもうまく機能します。」


ベンジャミン・レラー: ストレージ接続インデックス作成

Lerer 氏は 8 年前にコミッターになりました。 DataStax の技術責任者は、ストレージ接続セカンダリ インデックス (SASI) が 2016 年に追加されましたが、十分な投資が行われず、望ましい基準を満たしていなかったため、Cassandra 4.0 で実験的に販売する必要があったと述べています。 SAI は SASI 上に構築されており、スケーラビリティの問題を発生させずに複数の列にインデックスを付ける機能や、スペース使用量や数値クランチ クエリの最適化など、独自の一連の革新機能を備えています。


「SAI は、セカンダリ インデックスや SASI が抱えていた欠点を持たずに、新しいクエリ機能のセットを可能にします。」


ブラニミール・ランボフ: プラグイン可能性

2015 年から Cassandra コミッターを務める DataStax エンジニアである Lambov は、Cassandra 5.0 のローカル ストレージのプラグイン機能に興奮しています。この変更は memtable を中心に行われます。memtable は、データがより永続的なストレージに書き込まれる前に保存される、コンピューターのメモリ内の一時的なストレージ領域です。新しい実装の目標は、さまざまなタイプの memtable を簡単に使用し、特定のユースケースごとに最適なものを選択できるようにすることです。新しい実装の 1 つは、トライデータ構造により、データをより効率的に保存する方法が提供されます。また、メイン Java ヒープからメモリを使用できるようになり、ストレージ操作のガベージ コレクションが不要になります。これらの改善により、データベースの書き込みスループットが 2 倍になります。コミュニティがこの柔軟なストレージ インターフェイスを次にどこに持っていくかを見るのはエキサイティングです。


OSS では人がすべての違いを生みます

オープンソース プロジェクトの成功を探ることは、人的観点と技術的観点の両方から見て、魅力的な旅です。ソフトウェア プロジェクトの最初の焦点はテクノロジーかもしれませんが、それを本当に魅力的なものにするのは、関係する人々です。人はそれぞれ独自の感情や欲望を持ち出し、それがプラスの結果もマイナスの結果ももたらす可能性があります。オープンソース プロジェクトでは、何かを改善したいという個人の願望がむき出しになり、批判にさらされます。しかし、プロジェクトの真の魔法は、協力して前進するという決意を通じて生まれます。


Cassandra 5.0 に期待している機能は何ですか?個人的には、ACID トランザクション、新しいインデックス作成スキーム、NOT 演算子のような新しい構文など、状況を一変させる開発者の改善に興奮しています。私自身も Cassandra コミッターとして、開発者がこれらの新機能を使用して素晴らしいものを作成するのを見るのが楽しいです。しばらく Cassandra をチェックしていない場合は、今が良い機会です。残りのユーザー コミュニティに参加してください。惑星カサンドラCassandra 5.0 の何に興奮しているかについてあなたの考えを共有してください。


ここでも公開されています。