タグ付けされた質問 「cassandra」

Apache Cassandraは、オープンソースの分散データベース管理システムです。これは、単一障害点のない高可用性サービスを提供しながら、多くのコモディティサーバーに分散する非常に大量のデータを処理するように設計されています。これはNoSQLソリューションです。

5
どのデータベースが何十億レコードのストレージを処理できますか?
私たちは、膨大な量を収集するnetflowデータをキャプチャして分析するツールの開発を検討しています。毎日約14億のフローレコードをキャプチャします。これは、json形式では次のようになります。 { "tcp_flags": "0", "src_as": "54321", "nexthop": "1.2.3.4", "unix_secs": "1352234521", "src_mask": "23", "tos": "0", "prot": "6", "input": "105", "doctets": "186", "engine_type": "0", "exaddr": "2.3.4.5", "engine_id": "2", "srcaddr": "9.8.7.6", "dst_as": "12345", "unix_nsecs": "752265174", "sysuptime": "2943529544", "dst_mask": "24", "dstport": "80", "last": "2943523241", "srcport": "52672", "dpkts": "4", "output": "111", "dstaddr": "6.5.4.3", "first": "2943517993" …

5
高度な同時書き込み、高書き込みDBのインフラストラクチャ
私の要件は次のとおりです。 3000接続 70-85%の書き込みと読み取り 現在、700の接続でHigh-CPU、エクストララージインスタンスを最大化しています。8コアすべてが最大化されています。メモリが十分であるため、同時接続の数だと思います。書き込み自体は非常に単純です(検証によって処理が遅くなります)。3000に拡張するには、現在のオプションである複数のサーバーに移動する必要があります。 MySQLシャーディング MongoDBクラスター カサンドラ HadoopとMySQL(Hadoopキャッシュ、MySQLへの単一ダンプ) MongoDBとMySQL(Hadoopの代わりに、mongoをキャッシュに使用します) この数の接続を処理するには、いくつかの質問があります。 MySQL Shardingは同時接続を処理できますか? 単一のマスターがこれらの同時接続を処理できますか、またはMongoのようなマルチヘッドがより良いオプションですか? 問題をうまく説明していない場合は謝罪します。質問してください。

1
修復の実行中にCassandraクラスターに新しいノードを追加しても安全ですか?
既存のCassandraクラスターを拡張する準備ができています。修理を定期的に実行する予定です。クラスターに新しいノードを追加するときに修復を無効にする必要がありますか?または、クラスターの他の場所で修復が実行されている間に新しいノードをブートストラップできますか?

1
1つの外部IPを使用したCassandra multidatacenter構成
複数のデータセンターのCassandraクラスターをセットアップしようとしています。問題は、私のデータセンターには外部IP(wan IP)が1つしかないことです。別のポートを使用して外部から各ノードにアクセスするようにデータセンタースイッチでポート転送を設定できますが、cassandraの設定方法がわかりません.yamlファイルが適切に。 このシナリオでmultidatacenter cassandraクラスターをセットアップする方法はありますか? 前もって感謝します!
13 cassandra 


2
Cassandra ColumnFamily間で同じキースペース上の別のデータにデータをコピーするための良い方法は何ですか(SQLのINSERT INTOのように)?
Cassandra ColumnFamily / Tableから別の行にすべての行を簡単に転送する方法を見つけようとしています。 COPYコマンドは、私が理解し、適切なオプションです。ただし、すべてのデータを.csvディスクにダンプしてからロードし直すので、エンジン内で実行するより良い方法があるかどうか疑問に思わずにはいられません。 私が意味することの具体的な例はINSERT * FROM my_table INTO my_other_table、多くのSQLデータベースで利用可能であろう。もちろん、私はCassandraがNoSQLであり、したがって同じように機能しないことを理解していますが、それは利用可能なもののようです。 これを達成するための良い方法は何ですか? どうもありがとう!

2
Cassandraで多数(数千)の列ファミリーまたはキースペースを使用することのペナルティは何ですか?
現在、Cassandraのインストールに最適な設計を評価しています。 Cassandraが提供する最初の2つのアクセスレベル、つまりキースペースと列ファミリーの使用については、インターネットにはそれほど多くの情報はありません。 大量のキースペースまたは列ファミリー(> 10.000)を作成することを選択した場合、ペナルティはどのようなものになるのでしょうか。 どこか古いブログ投稿で、Cassandraが各列ファミリー用にメモリを予約することが示唆されました。この記事は0.6バージョンに関するもので、現在のバージョンは1.0です。これはまだ事実であり、本当の問題ですか? Cassandraで何千もの列ファミリーまたはキースペースを使用することのペナルティは何ですか?

1
Cassandraの列ファミリーの実際的な制限は何ですか?
Cassandraでは、数千を超える列ファミリーを持つことはお勧めしません。議論のために2,000としましょう。2,000を超えるタイプのデータを保持する必要がある場合、1つのアプローチは、複数の無関係なタイプのデータを各列ファミリーに分割することです。 たとえば、1つのCFにOrders、Invoices、およびCustomersを含めることができます。ただし、行キーが異なる場合(たとえば、オブジェクトタイプの接頭辞、つまり、1つのCFのキーにOrder|1234との両方を含めることができますCustomer|1234)。2番目のCFには、たとえば、Addresses、LineItems、およびOrde​​rTypeを含めることができます。このアプローチの基本的な実現可能性を考えると、それに対する実際的な制限は何ですか?たとえば、10,000種類すべてのオブジェクトを1つのCFに配置することの何が問題になっていますか?Cassandra wikiからわかる限り、CFのサイズに厳密な制限はありません。

2
Cassandraがカーディナリティの高い列にインデックスを作成しないことを推奨するのはなぜですか?
Cassandraのドキュメントには、 次の状況ではインデックスを使用しないでください。 カーディナリティの高い列では、大量のレコードに対して少数の結果をクエリするため。以下のカーディナリティの高い列インデックスの使用に関する問題を参照してください。 それは続きます、 カーディナリティの高い列にインデックスを作成すると、個別の値が多くなり、フィールド間のクエリでシークが多くなり、結果が非​​常に少なくなります。10億曲の表では、アーティストではなくライター(通常は各曲に固有の値)で曲を検索するのは、非常に非効率的です。Cassandraビルトインインデックスを使用する代わりに、テーブルをインデックスの形式として手動で維持する方が効率的です。一意のデータを含む列の場合、インデックス付きの列を持つテーブルへのクエリ量が中程度で一定の負荷がかかっていない限り、便宜上インデックスを使用するとパフォーマンスが向上することがあります。 しかし、実際には決して質問に答えることはできません。なぜ非効率なのでしょうか。「手動でテーブルをインデックスの形式として維持する」が何を意味するのか私にはわかりません。ただし、「...クエリの量が中程度である限り、便宜上インデックスを使用するとパフォーマンスが向上する場合があります...」とは多少矛盾します。 これは、PKをいつ、どこで使用できるかを教えようとしているだけですか?非効率とは何ですか?私の理解では、インデックスにヒットするクエリはクラスター内のすべてのノードをクエリする必要があり、各ノードはローカルインデックスでルックアップを実行し、結果が集計されます。ロットの最も遅いノードを待たなければならないため、ネットワークの遅延を支払うことを除いて、これは必ずしも高価ではありません(各インデックスの検索はかなり安価でなければなりません)。ここで何か不足していますか? しかし、私が膨大な数のアイテムを含むコレクションを持っている場合-まれに-異なるがほとんど一意の属性で検索する必要がある…これは適切な用途ですよね? veryみんな?IDKは、レプリケーションが3のレプリケーション係数でクラスタの1/3をヒットできるかどうかを意味しますか?
10 index  cassandra 

2
NoSQL:非構造化データとは何ですか?
現在、mssqlサーバーベースのソリューションを使用して、リソースのエッジで実行しています。 負荷に取り組むための次の動きに関する多くの従来のオプションがあります。 より高速なCPUとIOを購入する 一部の顧客を分割してサーバーを分離する クラスタにデータベースを移動 ライセンスとハードウェアまたは時間の点で、すべてが高価です。そこで、システム全体をnosqlエンジンのcassandraが約束するスケーラブルなソリューションに移動することで、別のオプションを追加したいと思います。 それでも、私は定かではなく、noSQLデータベースの経験もないので、「非構造化」データの構造を理解する必要があります。 このアプリケーションでは、基本的に、ユーザーがさまざまな方法で入力したデータを「Key-Value」リストとして保存します。(Orderのような)ヘッド要素を含む親テーブルがあり、(Order_Linesのような)注文の内容を構成するキーと値のペアを持つ子テーブルがあります。 ビジネス的には、OrderとOrderLinesは1つの単位です。ただし、RDBMSにより、これらはテーブルに格納され、常に結合する必要があります。 操作中に、上部のみをロードすることを選択する場合がありますが、ほとんどの場合、先頭行といくつかのKVPをロードして、いくつかの有用な情報を表示します。 たとえば、概要リストでは、ヘッド識別子といくつかの値を各行の列に表示します。 更新:あらゆる種類のフォームを保存します。したがって、基本的には「ドキュメント」を保存します。それにもかかわらず、これらのフォームを準備し、値、並べ替えなどで検索する必要があります。データアクセス制御により、データベースにもう1つの複雑なレイヤーが追加されます。 ご想像のとおり、特定のKVPの量と可用性はオブジェクトごとに異なります。さまざまなデータの組み合わせに対して数千のテーブルを作成する必要があるため、オブジェクトの種類ごとに単一のテーブルを作成する有効な可能性はありません。 この種の「辞書」のようなデータセットは、noSQLデータベースに格納する方が良いでしょうか?これによるパフォーマンス上のメリットはありますか?cassandraはこれらのhead + KVPを1つのデータセットとしてモデル化しますか?cassandraのWebページといくつかのチュートリアルを見ると、RDBMSとcassandraの間にデータ編成の点でそれほど大きな違いはないように思えます。5つのKVPを選択したい場合は、結合の数は同じです。各行のリスト。 啓蒙は歓迎されています、そして問題を説明する論文へのポインターも大丈夫です。

2
Cassandra:メンテナンス
私はCassandraに不慣れですが、SQLベースのリレーショナルデータベースにはある程度の経験があります。 展開後のCassandraのメンテナンス方法に関するベストプラクティス情報を見つけることができませんでした。データベースをVACUUMする必要がありますか?読み取り/書き込みの負荷はストレージの断片化を引き起こすと考えるべきです。 またはより一般的には、Cassandra実稼働デプロイメントを維持するためのベストプラクティスは何ですか?システムの状態を維持するために、定期的に何をしなければなりませんか?運用マニュアルでは、この点については触れていません。 ありがとう。

3
Cassandraの「phpMyAdmin」
Cassandra DB用のRDBMS-MySQL用のphpMyAdminのようなツールはありますか? 可能な「ランタイム」構成が少ないことを知っています(実行時に列ファミリーを編集できないなど)。それでも、さまざまな列ファミリーを検査したり、データを参照したりするためのGUIがあると非常に役立ちます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.