私はURL短縮サービスを構築しており、リンクデータのストレージエンジンとしてInnoDBを使用しています。最初に、同じ仮想マシン上のアプリケーションインスタンスとMySQLデータベースインスタンスの両方を含む単一のVPSから始めます。アプリケーションを簡単にスケーラブルにしたい、新しいノードを追加して、必要に応じてシステムをできるだけ簡単に実行できるようにしたい。
MySQL ClusterとMySQL Replicationについて読んでいましたが、どちらを使用するかを決定できませんでした。 (人気のある)URL短縮プログラムは、書き込みと読み取りの両方に負荷がかかると想像できます。そのような場合に使用する構造は何ですか?クラスターまたはレプリケーションに行きますか?
次に、クラスターまたはレプリケーションの選択に基づいて、単一のinnoDBエンジンのデータベースからクラスターまたはレプリケーション構造に拡張できるようにするために必要なインフラストラクチャ/構成は何ですか?正しく起動したいのですが、必要に応じてデータベースシステムを拡張/改善できない状況で立ち往生したくありません。
どうもありがとう
シニア.
MySQL Clusterは、key:valueルックアップトラフィックパターンのため、おそらく適しています。 NDBは伝統的に、結合またはcompexクエリでは不十分です。ただし、これはMySQLとは異なり、ベッドに入る前に理解しておく必要がある警告があります。シェアードナッシングアーキテクチャは、まともな(そして包括的な冗長性)ネットワークインフラストラクチャで大規模に運用する必要があることを意味します。それを適合させてテストすることは、おそらく概念実証プロジェクトの価値があります。複数の人の男たちは、あなたを立ち上げて動かすための設定ツールを持っています。
モンゴも不向きではなく、A_Iをあきらめることはできないと言っているのはなぜですか(1902jdd、 "/ page/id")の必要性や自動インクのような値はどうですか? Mongoドキュメントはスキーマレスであり、適合性を確認し、key:valueスタイルでクエリするドキュメントに余分なデータを追加します。前進する統計は、あなたを地図に入れて、世界を減らして楽しいかもしれません。
従来のRDBMSを維持し、パフォーマンスを必要とする場合は、memcachedおよびmysql memcached apiを調べて、集約クエリのリレーショナルな側面を保持するデータへの迅速なkey:valueアクセスを選択する必要があります(select [count | max | avg] ... group by order何とか、何とか...
MongoDB-自動シャーディングがあり、ノードを次々に追加することができます。そうでない場合、書き込みをスケーリングするには、mysqlを何らかの方法でシャーディングする必要があり、クラスターは役に立ちません。