オープンソース DBMS Apache Cassandra の主要ベンダーである DataStax は、自社製品のデータベース・アズ・ア・サービス (DBaaS) バージョンを展開しており、一方、Cassandra をエミュレートする ScyllaDB は、同じデータベースの AWS ネイティブ バージョンである DynamoDB に対抗するため、独自のアップグレードをリリースしました。
このアップデートは、NoSQL データベースの世界における活発な活動の一部であり、PayPal や欧州中央銀行が使用する値キー データベースである Aerospike も、世界中の複数の場所に分散されたトランザクション アプリケーションでの低レイテンシと一貫性などの機能を備えた 5 番目のバージョンをリリースしました。
Cassandra とその派生製品は Aerospike とは異なる強みと使用例を持っていますが、これらのリリースは、NoSQL 市場がパフォーマンス、規模、クラウド対応の面でどのように準備を整えているかを示しています。
Aerospike Database 5のマルチサイトクラスタリングは、従来のリレーショナルデータベースでしばしば問題となる、データの一貫性と高パフォーマンスのトレードオフを解消するとされています。Aerospikeは、データベースが複数のデータセンター、クラウド、あるいは異なるリージョンのオンプレミスとクラウド間で実行される場合でも、この効果が当てはまると考えています。
DBaaSのすべて:NoSQLの応援団MongoDBは収益が急増、しかし2021年には「最大」2500万ドルのCOVID-19による打撃を予想
続きを読む
Aerospike の最高製品責任者兼創設者である Srini Srinivasan 氏はThe Register に次のように語っています。「データベース全体を 1 つのラックに収めることができるため、パブリック クラウドのクラスタの 1 つのラックを駆動し、独自のデータセンター領域で別のラックを単一のクラスタとして駆動できます。これにより、書き込みごとに調整された分散トランザクションがそれらの間で実行されます。」
一方、クラスタ全体のコピーが単一のラック上に保持されているため、データベースはアプリケーション内でローカルに読み取ることができます。「読み取りレイテンシは発生しません」と彼は主張します。「また、システムはアクティブなので、ある場所で行われた更新は他のサイトに即座に反映されます。」
システムを世界中に展開しても、依然としてわずかな遅延は発生していましたが、競合のNoSQLシステムと比較すると大幅に短縮されたと彼は述べました。「遅延はサイト間の距離によって異なります。同じ都市であれば数ミリ秒、大陸をまたぐ場合は150ミリ秒になることもあります。これは、現在では一貫性を保つのに数時間から数日かかるこれらのプロセスの一部を実行するための、わずかなコストです。」
Aerospike は金融サービス分野で人気があり、顧客には Barclays も含まれていますが、産業や物流の IoT アプリケーションにも進出しています。
ガートナーの著名なバイスプレジデント兼アナリストであるドナルド・フェインバーグ氏は、これはグローバル企業が待ち望んでいる機能だと述べています。「データセンターを安定的に連携させるには、常にレイテンシの問題が生じます。複数リージョンにまたがるアプリケーションで一貫したトランザクションを実現したい場合、従来のアプローチは2フェーズコミットですが、時間がかかり、トランザクションの速度低下につながる可能性があります。」
DataStaxはApacheとの対立を解消し、NoSQL Cassandraをより高速、安全、そしてよりグラフ化しやすいものにする機能を発表した。
続きを読む
AeroSpike のアプローチには多少の遅れはあるものの (「光の速度を変えることはできない」と同氏は述べた)、一貫性を実現するための時間が大幅に短縮され、全体的なサービス レベルが向上するとしている。
Aerospike は Apache Spark 分析エンジンへのコネクタを構築していますが、主にトランザクション データベースのままです。
Aerospikeとは異なり、Apache Cassandraはトランザクションを主目的として設計されたのではなく、多数の汎用サーバーにまたがって大規模に拡張可能な構造化データを管理するための分散ストレージシステムとして設計されました。このプロジェクトに貢献する主要ベンダーはDataStaxで、同社は本日、Apache Cassandraアプリケーション向けDBaaSであるDataStax Astraの一般提供開始を発表しました。その目的は、クラウドアプリケーションの導入時間を数週間から数分に短縮し、Cassandra導入における最大の障害を取り除くことです。DataStaxによると、開発者はCassandraの運用オーバーヘッドなしにアプリケーションを構築できるとのことです。
Astra は Google Cloud Platform (GCP) および AWS で利用可能で、Azure でもサポートされる予定です。
AmazonがKeyspacesのボタンを押す:Cassandraに似たサービスでNoSQLの信頼性を強化
続きを読む
DataStaxの最高製品責任者であるエド・アナフ氏は次のように述べています。「Cassandraのようなデータベースの課題は、クラウドでの運用が(リレーショナルデータベースよりも)はるかに複雑であることです。MySQLが使われていた頃は、ノートパソコンでもISPアカウントでも、単一のインスタンスを実行するだけで済みました。しかし、分散データベースを運用するとなると、運用ははるかに複雑になります。」
DataStaxの顧客には、バンク・オブ・アメリカ、eBay、オンライン学習企業のCourseraなどが含まれる。Cassandraを自社で運用したいという顧客もいるが、DBaaSオプションを求める顧客もいると同氏は述べた。
ガートナーのフェインバーグ氏も、顧客がCassandraの導入と管理の煩わしさを軽減したいと考えていることに同意した。「顧客から一番の問題は管理だと聞きます。ノードが複数あると、複雑で面倒な作業になる可能性があるのです。」
同氏は、Cassandra のコピーデータベースのサーバーレス版である Amazon Keyspaces の開発にも同じ理由が背景にあると述べた。
Amazon 交換がこんなに簡単なんて...
CassandraのクローンであるScyllaDBも先週、第4版をリリースしました。ScyllaDBによると、CassandraとAmazonのCassandra類似製品であるDynamoDBの両方と互換性のあるAPIを提供することで、アプリケーションを新しいデータベースに容易に移行し、ベンダーロックインを回避することができるとのことです。
オンプレミス、優先クラウド プラットフォーム、または Scylla の完全管理型 DBaaS である Scylla Cloud で実行できます。
しかし、ScyllaDBのCEOであるDor Laor氏は、その秘密はコードにあると述べた。データベースは、Cassandraの基盤となるJavaではなく、根本からC++で書き直された。
第一の利点はパフォーマンスです。パフォーマンス向上はコスト削減につながります。なぜなら、データベースは常に分散して実行されるからです。より小さなクラスタでより高いパフォーマンスを引き出せば、コストは削減され、管理も容易になります。そのため、スループットとレイテンシの両方において、Cassandraの6~10倍のパフォーマンスを実現できます。Javaを使用していないため、中間層の大きなJVMも存在しません。また、パフォーマンス向上を可能にする多くのアルゴリズムも実装しています。
「たとえば、私たちは独自のメモリ管理を制御しますが、Java では Linux ページ キャッシュに依存しています。これは Linux の汎用キャッシュです。私たちのキャッシュは私たちに合わせて調整されており、メイン キャッシュは 1 つだけで、多くはありません。」
Comcast、Starbucks、Samsung が ScyllaDB を採用しているにもかかわらず、Gartner の Feinberg 氏は同社のパフォーマンスに関する主張に依然として懐疑的だ。
ScyllaDBとCassandraは、それぞれのリリースにおいて、それぞれが他方よりも優れたパフォーマンスを主張していると彼は述べた。一方、AWS DynamoDBはAmazonプライムをサポートしている。「開発者は隣に座っている」とはいえ、データベースのパフォーマンスの可能性を示していると彼は述べた。
彼は、ScyllaDBのパフォーマンス上の優位性が顧客を移行させるとは確信していなかった。「Cassandraで問題なく動作しているなら、なぜCassandraを使わないのですか?」と彼は言った。
NoSQL市場の拡大に伴い、名前はますます馬鹿げたものになり、選択肢はますます複雑になっています。特に、本質的に同じデータベースのレプリカが多数存在する場合はなおさらです。しかし、ITチームは慎重に、純粋なパフォーマンスやマーケティングビジョンではなく、コストとユースケースに基づいて選択する必要があります。®