問題タブ [cassandra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3712 参照

cassandra - ノードがダウンした場合、Cassandra はどのようにリバランスしますか?

ノードがダウンしたり使用できなくなったときにCassandraを使用した経験のある人はいますか? 私は主に、クラスターが再調整されるかどうか、およびノー​​ドがオンラインになったとき、または新しいマシンに置き換えられたときに何が起こるかに関心があります。

0 投票する
2 に答える
14185 参照

database - ヴォルデモートはカサンドラと比べてどうですか?

ヴォルデモートはカサンドラと比べてどうですか?

私はコミュニティの規模について話しているのではなく、実際に両方を使用したことのある人からだけ聞きたいのです。

特に私は興味があります:

  • ノードを追加および削除するときに動的にスケーリングする方法
  • クエリのパフォーマンス
  • ノードを追加するときにどのようにスケーリングしますか(線形)?
  • 書き込み速度
0 投票する
2 に答える
241 参照

cassandra - XML を編集して列を作成することなく、Cassandra を動的に構成できますか?

XML を編集して列を作成することなく、Cassandra を動的に構成できますか?

0 投票する
1 に答える
3015 参照

database - Cassandraクラスターを一連のLinodeVPSインスタンスにデプロイする際の「落とし穴」はありますか?

ApacheCassandraデータベース[原文のまま]について学んでいます。

LinodeやSlicehostの製品のような専用ハードウェアよりも少ないハードウェアにCassandraをデプロイすることについて、良い/悪い経験を持っている人はいますか?

Cassandraは、読み取り/書き込み/要求の負荷に合わせてWebサービスを簡単にスケーリングするための優れた方法だと思います...Cassandraノードを実行している別のLinodeを既存のクラスターに追加するだけです。はい、これは、パブリックWebサービスとCassandraノードを同じVPSで実行することを意味します(多くの場合、例外が発生する可能性があります)。

CassandraのLinodeのような展開の長所:

  • プライベートVLAN; Cassandraノードはプライベートに通信できます
  • 新しいLinodeをプロビジョニングするためのAPI(そしておそらくCassandraとその依存関係などをインストールする「StackScript」で構成する)
  • 価格は正しいです

短所:

  • 各ホストはVPSであり、もちろん専用ではありません
  • 4GBのRAMが必要だと決めたら、RAM /コストの比率はそれほど大きくありません(たとえば、SoftLayer専用)
  • 私が推測する2つのディスク(コミットログ用に1つ、データファイル自体用にもう1つのディスク)を好むディスクは1つだけです。とにかくこれは共有ハードウェアなので、おそらく議論の余地があります。

編集:少し役立つこれを見つけました:http ://wiki.apache.org/cassandra/Cas​​sandraHardware

1GBが最小であると思いますが、これは推奨事項ですか?たとえば、Linode 720でデプロイできますか(たとえば、Cassandraで500 MB使用可能)?http://www.linode.com/を参照してください

0 投票する
1 に答える
14134 参照

nosql - Cassandra クラスターには少なくとも 3 つのノード/サーバーが絶対に必要ですか、それとも 2 つあれば十分ですか?

確かに単一ノード クラスタを実行できますが、ある程度のフォールト トレランスが必要です。

現在、2 台のサーバー (8GB RAM、プライベート VLAN @1GigE) をリースする余裕がありますが、3 台はリースできません。

私の理解では、Cassandra クラスターに必要な最小ノード数は 3 です。これは、2 つのノード間に過半数が存在する可能性はなく、バージョニングの競合を解決するには過半数が必要であるためです。ちょっと待って、「ベクトルクロック」とRiakのことを考えていますか?あっ!Cassandra は競合解決にタイムスタンプを使用します。

2 ノードの場合、推奨される読み取り/書き込み戦略は何ですか? 通常、すべての (両方の) ノードに書き込み、1 つのノード (N=2; W=N/2+1; W=2/2+1=2) から読み取る必要がありますか? Cassandra は 2 つのノードに対しても通常どおり Hinted-Handoff を使用しますよね?

これらの 2 つのサーバーは、同じデータ センター FWIW にあります。

ありがとう!

0 投票する
2 に答える
1695 参照

database - Retwis for RedisのようなCassandraのデータモデリング演習はありますか?

アプリケーションのエンティティ/アクター/オブジェクト/モノをCassandraに保存するためにマッピングする方法を学ぼうとしています。TwitterデータとRetwis[1]と呼ばれる典型的なアクセスパターンのモデリングに関するRedisの素晴らしいチュートリアルがありました。Cassandraの例をいくつか見つけました。

カサンドラのデータモデルをどのようにして直感的に理解し始めましたか?

[1] http://retwis.antirez.com/

0 投票する
3 に答える
29367 参照

mysql - MySQL から Cassandra への切り替え - 長所と短所?

ちょっとした背景として、この質問は単一の小さな EC2 インスタンスで実行されているプロジェクトを扱っており、中規模のインスタンスに移行しようとしています。主なコンポーネントは、Django、MySQL、および python と java で記述された多数のカスタム分析ツールであり、これらが面倒な作業を行います。同じマシンで Apache も実行されています。

データ モデルは次のようになります。大量のリアルタイム データがさまざまなネットワーク センサーからストリーミングされます。理想的には、現在の 15 分ごとのアプローチではなく、ロング ポーリング アプローチを確立したいと考えています (統計の計算とデータベース自体への書き込み)。データが入ってきたら、未加工のバージョンを MySQL に保存し、分析ツールにこのデータを解き放ち、別のいくつかのテーブルに統計を保存します。これらはすべて Django を使用してレンダリングされます。

私が必要とするリレーショナル機能 -

  • [CassandraのAPIのSliceRangeはこれを満たしているようです]による注文
  • グループ化
  • 複数のテーブル間の多対多関係[Cassandra SuperColumns は 1 対多でうまく機能するようです]
  • これについて Sphinx は素晴らしい全文エンジンを提供してくれるので、それも必要です。[Cassandra では、Lucandra プロジェクトがこのニーズを満たしているようです]

私の主な問題は、データの読み取りが非常に遅いことです (書き込みもそれほど速くありません)。今は多額のお金やハードウェアを投入したくありません。また、時間の経過とともに簡単に拡張できるものを選びたいと思っています。MySQL の垂直方向のスケーリングは、その意味で簡単ではありません (または安価です)。

基本的に、NOSQL について多くのことを読み、MongoDB、Cassandra、Voldemort などを試した後、私の質問は次のとおりです。

  • 中程度の EC2 インスタンスでは、Cassandra のようなものに移行することで、読み取り/書き込みにメリットがありますか? この記事(pdf) は間違いなくそれを示唆しているようです。現在、毎分数百回の書き込みが標準だと思います。読み取りの場合 - データは約 5 分ごとに変更されるため、キャッシュの無効化はかなり迅速に行う必要があります。ある時点で、多数の同時ユーザーも処理できるようになるはずです。現在、MySQL では、インデックスが作成されていても、大きなテーブルでいくつかの結合を実行すると、アプリのパフォーマンスが低下します。32k 行程度のものは、レンダリングに 1 分以上かかります。(これは、EC2 仮想化 I/O のアーティファクトでもある可能性があります)。テーブルのサイズは約 400 万から 500 万行で、そのようなテーブルは約 5 つあります。

  • CAP定理と結果整合性を考えると、複数のノードでCassandraを使用することについて誰もが話しています。しかし、成長し始めたばかりのプロジェクトの場合、1 ノードの cassandra サーバーをデプロイする意味はありますか? 注意事項はありますか?たとえば、Django のバックエンドとして MySQL を置き換えることはできますか? 【おすすめは?】

  • シフトする場合、行をフェッチするために複数のルックアップを行う必要があるため、アプリの一部を書き直して、より多くの「管理」を行う必要があると思います。

  • MySQL をリレーショナル エンジンではなく、キー バリュー ストアとして使用することに意味があるでしょうか。そうすれば、安定したエンジンだけでなく、利用可能な多数の安定した API を利用することができます (必要に応じてリレーショナルに移行することもできます)。(これに関する Friendfeed からの Brett Taylor の投稿 - http://bret.appspot.com/entry/how-friendfeed-uses-mysql )

シフトを行った人からの洞察は大歓迎です!

ありがとう。

0 投票する
5 に答える
24077 参照

java - CassandraがJavaで書かれたのはなぜですか?

カサンドラ についての質問

なぜ地球上の誰もがJavaでデータベースENGINEを書くのでしょうか?
なぜJavaインターフェイスが必要なのかは理解できますが、エンジンは...

C / C ++より高速なものはなく、データベースエンジンは最大速度よりも遅くならないという印象を受けました。確かにガベージコレクションを使用しないでください...

CassandraがC/C ++コードで実行される通常のSQLよりも高速である理由/理由を誰かに説明してもらえますか?

編集:
「なぜ地球上の地獄」の部分については申し訳ありませんが、それは私にはまったく意味がありませんでした。
私は、平均的な園芸用ユーザープログラムとは異なり、データベースを1回だけ起動してから非常に長時間実行する必要があること、そしておそらくサーバー上で唯一のプログラムとしてデータベースを作成することを無視しました。重要なパフォーマンスの違い。

私は、執筆時点で使用していた(またはむしろ使用したかった)「機能しない」(穏やかに言えば)Java税プログラムと比較/参照していました。

実際、税務プログラムにJavaを使用するのとは異なり、専用サーバープログラムを作成するためにJavaを使用することは完全に理にかなっています。

0 投票する
7 に答える
173209 参照

nosql - Cassandraポートの使用-ポートはどのように使用されますか?

Cassandraを試してみると、Cassandraが次のポートをリッスンしていることがわかりました。

  • TCP *:8080
  • TCP *:8888
  • TCP *:57311
  • TCP *:57312
  • TCP 127.0.0.1:7000
  • TCP 127.0.0.1:9160
  • UDP 127.0.0.1:700

Cassandraはリストされている各ポートをどのように使用しますか?

0 投票する
2 に答える
13746 参照

nosql - Cassandraファイル構造-ファイルはどのように使用されますか?

Cassandraを試してみると、Cassandraが次のファイルに書き込むことがわかりました。

一般的な構造は次のようです。

Cassandraファイル構造とは何ですか?具体的にはdata、ディレクトリはどのように使用され、ディレクトリ(/ / )commitlog内のファイルの構造はどのようになっていますか?dataDataFilterIndex