3

私は、Hadoop、Cassandra などの分散 NoSQL データベースを初めて使用します。専門家のアドバイスを求める質問がいくつかあります。

  1. MySQL のような現在の従来のデータベースからこれらの大規模なクラスターベースのデータベースに移行する際に一般的に直面する問題/課題を挙げていただけますか?
  2. これらのオープン ソース プロジェクトの新しいバージョンに適応する必要がある場合、どのような困難がありますか?
  3. ページの高速レンダリングのために memcached に一般的に保存/保持されるものをリストアップできますか?
  4. オープンソース プロジェクトのソース コードを理解して、その上に構築し、コミュニティに還元するにはどうすればよいですか?

上記の質問はばかげて基本的なものに聞こえるかもしれませんが、専門家が上記の質問に詳細かつ可能な限り回答するように依頼してください。

4

2 に答える 2

0

私はいくつかの考えを提供することができます:

1: ドキュメントとサンプルは、Hadoop を使用する私のプロジェクトと関連プロジェクトにとって大きな課題でした。MySQL と比較すると、どの機能が利用可能で、どのように使用するかを見つけるのは難しいことがよくあります。この点で、メーリングリストは非常に役立ちました。バッチ処理と「フル テーブル スキャン」の観点からの考え方を学ぶことも適応であり、Map Reduce プログラミングに慣れることは簡単ではありませんが、未加工の Map Reduce を記述しないようにするために利用できるツールは数多くあります。

2: Hadoop とその仲間のコード ベースの多くは基本的にまだアルファウェアであり、バージョンごとに大きく変わることがあります。最初にテスト クラスターでアップグレードを行い、何が壊れているかを確認する必要があります。アップグレード中の API の劇的な変更は予期しないものではありません。

3: 特に memcached を使用したことはなく、ページのレンダリングではなく、バックエンドの ETL 処理に Hadoop を使用しています。ここであなたを本当に助けることはできません。

4: プロジェクトを理解する最善の方法は、コードを入手して調べてみることです。しばらく使ってみると、最終的には、もっとうまくできると思うものや、必要な機能が見つかるでしょう。それは参加するのに最適な場所です。必ず開発者メーリング リストにサインアップし、既存のバグや機能要求のリストに注意して、誰かが既に同様の作業を行っているかどうかを確認してください。これらのプロジェクトのほとんどは、コミット権を持つ誰かにコードを入れてもらう必要がありますが、それほど難しくありません。より具体的な情報については、貢献したい特定のプロジェクトを読んでください。

于 2011-01-03T16:50:48.460 に答える
0

私の経験は次のとおりです。

  1. 主な課題は、リレーショナルのバックグラウンドから来て、No-SQL の用語で考えることです。たとえば、HBase (Hadoop DFS 上に構築) は昇順のみを提供します。降順ルックアップを実行する場合は、逆インデックスを維持する必要があります。つまり、ID 1 はブック A を指し、逆インデックス (最大 - 1) は 1 を指します。ドキュメントは問題ですが、すべての OSS と同様に、コミュニティは非常に重要です。Git と Jersey に加えて、HBase コミュニティは非常に役に立ち、ドキュメントの不足を補っており、HBase のドキュメントは常に改善されています。もう 1 つの課題は検索です。検索には SQL RDBMS をよく使用しますが、たとえば HBase はその目的にはまったく適していません。Elastic Search、Apache Solr、Apache Lucene など、信頼できる保存のために HBase を使用しながら、検索には他のソフトウェアを使用することをお勧めします。
  2. これは実際にはプロジェクトごとに異なります。HBase の場合、0.20.X から 0.90.X に大きく改善されています (そのリリースは著名です)。私の知る限り、データストアの形式は変更されず、API も大幅に変更されませんが、メジャーバージョンが変更された主要な OSS と同様に API が変更されますが、マイナーな変更では API の変更はありません。アップグレードの経験はあまりありませんが、これに関する私の小さな冒険から、データの取得に問題がないことに気付きました.
  3. これは注意が必要で、ここで問題となっているアプリケーションの種類に大きく依存します。あなたがmemcachedに言及したように、私たちが現在経験している経験を共有したいと思います. 単純な主キー検索以外の検索には HBase を使用していません。他のすべての検索は、Apache Solr (Lucene に基づく) を経由します。そのため、検索結果は Solr によってキャッシュされます。アプリケーション層では、Java を使用しているため、生のオブジェクトを保存するために Ehcache を使用します。Web キャッシングではVarnish Cacheを使用し、ESI を使用してページをユーザーごとのコンテンツ (ログイン、ログアウト、アカウント、カートなど) と一般的なコンテンツ (ニュース、イベント、製品など) に分割し、高いスループットを実現します。
  4. 私はそれについてマーク・トッツィに同意したいと思います。
于 2011-01-04T06:15:48.470 に答える