問題タブ [memcachedb]

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 投票する
4 に答える
2209 参照

hashmap - 高速でスケーラブルなハッシュ検索データベース? (バークレーっぽい)

私は Berkeley を愛用していますが、エントリーが 100 万件近くになると、特に挿入物で行き詰まるようです。動作するmemcachedbを試しましたが、メンテナンスされていないため、本番環境で使用するのが心配です. 基本的に、大規模な(おそらく分散された)データセット(4000万以上)でキールックアップを実行できるようにしたいと考えています。

注: Java 以外のものはすべておまけです。:-) 現在、ほとんどのものが Java ルートに移行しているようです。

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

mysql - 新しいサイトのスケーラビリティが心配

次の特性を持つ webapp を構築しています。

  1. ページ数は少なく、ホーム、お問い合わせ、アバウト、サインアップなどがあります。
  2. 各ユーザーには、DOM 要素をドラッグ/ドロップ/操作できる jquery ベースのページが 1 つあります。
  3. ユーザーが要素の操作を終了したら、[保存] をクリックすると、要素が JSON 経由でサーバー上の PHP スクリプトに送信されます。以前に保存した JSON を読み込むこともできます。

基本的に、90% の静的情報を含むページはほとんどありません。クライアント側の作業を含む 1 つのページと、JSON の GETting/POSTing が大量に発生する可能性があります。

PHP/Smarty、jQuery、および mySQL を使用して、この POC を作成しました。ユーザーの詳細は mySQL に保存され、JSON データも保存されます。Web ページは Smarty によってディスクにキャッシュされます。

現在、スケーラビリティについて考えています。明らかな問題は、頻繁に変更される JSON データを mySQL に格納する必要があるのか​​、それとも memcacheDB やその他のキーと値のストアを使用する必要があるのか​​ということです。簡単な mySQL オプションを選択するか、今すぐキー値ストアを導入しますか?それとも、スケールの問題が発生するかどうかを確認するのを待ちますか? 現実的に、mySQL がボトルネックになるポイントに到達することはありますか?

これをまず Slicehost でホストし、必要に応じて移動する予定です。

0 投票する
4 に答える
4062 参照

php - PHP - Redis/Memcachedb/Mongodb またはカウンターを格納するためのその他の永続ストレージ

反対に、それはページビュー、ダウンロード、投票数などである可能性があります。基本的に、それほど「重要な」データではありません。

それらの情報を保存するための「最良の」方法は何ですか? Mysql は適切なオプションではありません。皆さんは何を使っていますか?

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

django - django で MemcacheDB を使用して Memcached を置き換えることはできますか?

Memcached 用の RAM があまりないため、Memcached の代わりに MemcacheDB を使用したいと考えています。

django のキャッシュ フレームワークで動作しますか?

私がする必要がある追加のことはありますか?

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

caching - 優れたメモリ + ディスク キャッシング ソリューションが必要

現在、生成された HTML ページを memcached インメモリ キャッシュに保存しています。これはうまく機能しますが、使用可能なメモリを超えてキャッシュのストレージ容量を増やしたいと考えています。私が本当に欲しいのは:

  1. memcached セマンティクス (つまり、信頼できない、単なるキャッシュ)
  2. memcached api を推奨 (必須ではありません)
  3. 大規模なメモリ内第 1 レベル キャッシュ (MRU)
  4. 巨大なディスク上の二次キャッシュ (メイン)
  5. LRU または LFU を使用して最大ストレージでオンディスク キャッシュから削除
  6. 実証済みの実装

解決策を探しているときに、次の解決策を見つけましたが、それらはすべて何らかの形で私のマークを逃しています。誰もが次のいずれかを知っていますか:

  • 私が考慮していない他のオプション
  • memcachedb にエビクションを実行させる方法

すでに考慮されているのは次のとおりです。

memcachedb

  • 最適ですが、エビクションは行いません: 明示的に「キャッシュではありません」
  • エビクションを行う方法が見当たりません (手動または自動)

ツゲラキャッシュ

  • 放棄、サポートなし
  • お客様に勧めたくない

nmdb

  • memcache API を使用しない
  • 新しく証明されていない
  • お客様に勧めたくない
0 投票する
6 に答える
2604 参照

php - ファイルベースのキャッシュソリューションに関して、Memcachedb と MongoDB と CouchDB の違いは?

ユーザーの好みと基準に基づいて、基本的にデータ (テキスト ファイル) を 3 日から 1 週間キャッシュするキャッシュ ソリューションが必要です。この場合、メモリベースのキャッシュは意味がありません。MemcacheDB を紹介されましたが、NO SQL ソリューションもいくつか考えました。

私たちの現在のアプリケーションは RDMS (MYSQL) を使用しており、MemcacheDB を使用するのは理にかなっていると思いますが、NOSQL は、それが地平線上にあるため、魅力的です。しかし、私たちは NOSQL の下で製品レベルのアプリケーションを展開しておらず、ベータ版のものは経営陣や投資家の間でうまく解決していません。どのように考え、どのように対処しますか?

ありがとうございました

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

mysql - NoSQL/ドキュメント ストアの検索

私はしばらくの間 NoSQL を研究してきましたが、結果やドキュメントの検索とフィルタリングに頭を悩ませています。

NoSQL の世界では、たとえば 2 つのタイムスタンプ内ですべてのデータを見つけるにはどうすればよいでしょうか? すべてがキー/値ベースで保存されている場合は? または、緯度と経度のポイントの半径内にあるすべてのドキュメントを検索しますか?

ありがとう

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

lighttpd - Lighttpd を介した静止画像の提供

ライブラリアプリケーションを構築しようとしています。PDF ドキュメントを PNG 画像に変換します。(各ページは 1 つの PNG ファイルです)

そのため、サーバーには数百万の PNG が存在することになります。1 秒あたりのヒット数は 500 を超え、png を提供する必要があります。

1) PNG を維持するために MemcacheDB を選択しています 2) PNG を提供するために Lightpd サーバーを選択しています

質問: 1) Lighttpd は初めてで、png を提供したい、またはアクセスを拒否したいパラメーターに基づいて各要求を認証する方法がわかりません。lighttpd に使用できるプログラミング言語は何ですか? 2) 要件に適したオプションを選択しましたか?

私は議論したくありません。ありがとう

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

python - Pythonでネストされたmemcacheルックアップ、o(n)良い/悪い?

memcacheでこのようなものは悪いですか?

キーのリストの長さは約1000になると思います。

これが悪い場合、これを行うためのより良い方法があるかどうか疑問に思っていますか?このようなO(n)クエリがそれほど重要ではない場合、memcacheは十分に高速である可能性があると考えました。たとえば、MySQLではこれを行うことはありません。

ありがとう。

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

caching - 18M以上の行テーブルのサブクエリとMySQLキャッシュ

これは私の最初の投稿なので、1つのリンクしか投稿できないようです。そのため、参照しているサイトを下部にリストしました。一言で言えば、私の目標は、データベースが結果をより速く返すようにすることです。投稿の下部に質問を組み立てるのに役立つように、考えられる限り多くの関連情報を含めるようにしました。

マシン情報


ただし、私たちはmysqlインストールを256GBのRAMを搭載したクラスター内の別のマシンに移動することを検討しています。

テーブル情報


私のMySQLテーブルは次のようになります

約1800万行あり、1Mの一意のcluster_indexと6Kの一意の一致があります。PHPで生成しているSQLクエリは次のようになります。

SQLクエリ


ここで、$ clusterには、約3,000のコンマ区切りのcluster_indexの文字列が含まれています。このクエリは約50,000行を使用し、実行に約15秒かかります。同じクエリを再度実行すると、実行に約1秒かかります。

使用法


  1. テーブルの内容は静的であると見なすことができます。
  2. 同時ユーザー数が少ない
  3. 上記のクエリは現在、テーブルで実行される唯一のクエリです

サブクエリ


この投稿[stackoverflow:MySQLでのサブクエリのキャッシュ/再利用] [1]とクエリ時間の改善に基づいて、サブクエリにインデックスを付けることができると思います。

追加情報のこの古い記事[MySQLの最適化:クエリとインデックス] [2]によると、ここで見るのが悪いのは「一時的なものの使用」と「ファイルソートの使用」です。

MySQL構成情報


クエリキャッシュは利用可能ですが、サイズが現在ゼロに設定されているため、事実上オフになっています

[Mysqlデータベースのパフォーマンスターニング][3]に関するこの記事に基づいて、調整する必要のある値は次のとおりです。

  1. table_cache
  2. key_buffer
  3. sort_buffer
  4. read_buffer_size
  5. record_rnd_buffer(GROUPBYおよびORDERBY用語の場合)

改善のために特定された領域-MySQLクエリの微調整


  1. 一致するデータ型を別のテーブルを指すintであるインデックスに変更する[MySQLは、TEXTやBLOBなどの可変長フィールドが含まれている場合、実際に動的行形式を使用します。この場合、並べ替えはディスク上で実行する必要があります。 。解決策は、これらのデータ型を避けることではなく、そのようなフィールドを関連するテーブルに分割することです。] [4]
  2. matchesステートメント["選択、グループ化、順序付け、または結合しているフィールドのインデックスを作成する必要があります。"] [5]に基づいて、 GROUPBYがより速く発生するように新しいmatch_indexフィールドにインデックスを付けます。

ツール


パフォーマンスを微調整するには、使用する予定です

  1. 【説明】【6】【出力フォーマット】【7】を参考に
  2. [ab-ApacheHTTPサーバーベンチマークツール][8]
  3. [プロファイリング][9]と[ログデータ][10]

将来のデータベースサイズ


目標は、1Mの一意のcluster_index値、1Mの一意の一致値、約0.5秒のクエリへの応答時間を持つ約3,000,000,000のテーブル行を持つことができるシステムを構築することです(必要に応じてramを追加し、データベースをクラスター全体に分散できます)

質問


  1. クエリがディスクに触れないように、レコードセット全体をRAMに保持したいと思います。データベース全体をMySQLキャッシュに保持すると、memcachedbが不要になりますか?
  2. データベース全体をMySQLキャッシュに保持しようとすると、永続的になるように設計されていないため、悪い戦略ですか?memcachedbやredisのようなものがより良いアプローチでしょうか?もしそうなら、なぜですか?
  3. クエリによって作成された一時テーブル「結果」は、クエリが終了すると自動的に破棄されますか?
  4. InnodbからMyISAMに切り替える必要があります[InnoDBは大量の書き込みに適しているのに対し、大量のデータの読み取りには適しています] [11]?
  5. [Query Cache Configuration] [12]でキャッシュがゼロとしてオンになっていないように見えますが、2回目に実行したときに、クエリが現在より速く発生するのはなぜですか?
  6. 「一時的な使用」と「ファイルソートの使用」の発生を排除するためにクエリを再構築できますか?サブクエリの代わりに結合を使用する必要がありますか?
  7. MySQL[データキャッシュ][13]のサイズをどのように表示しますか?
  8. 開始点として、table_cache、key_buffer、sort_buffer、read_buffer_size、record_rnd_bufferの値のどのようなサイズを提案しますか?

リンク


  • 1:stackoverflow.com/questions/658937/cache-re-use-a-subquery-in-mysql
  • 2:databasejournal.com/features/mysql/article.php/10897_1382791_4/Optimizing-MySQL-Queries-and-Indexes.htm
  • 3:debianhelp.co.uk/mysqlperformance.htm
  • 4:20bits.com/articles/10-tips-for-optimizing-mysql-queries-that-dont-suck/
  • 5:20bits.com/articles/10-tips-for-optimizing-mysql-queries-that-dont-suck/
  • 6:dev.mysql.com/doc/refman/5.0/en/explain.html
  • 7:dev.mysql.com/doc/refman/5.0/en/explain-output.html
  • 8:httpd.apache.org/docs/2.2/programs/ab.html
  • 9:mtop.sourceforge.net/
  • 10:dev.mysql.com/doc/refman/5.0/en/slow-query-log.html
  • 11:20bits.com/articles/10-tips-for-optimizing-mysql-queries-that-dont-suck/
  • 12:dev.mysql.com/doc/refman/5.0/en/query-cache-configuration.html
  • 13:dev.mysql.com/tech-resources/articles/mysql-query-cache.html