2010-12-16 5 views
0

Obwohl dies sehr abstrakte Frage sein kann, bitte zeigen Sie mir eine richtige Richtung.WIE: hohe Verkehrsdichte db

DB Design und Replikationskonfigurationen für Twitter-ähnliche Webapp (schwere Einsätze & liest).

+3

Hey Mann, ich kann Ihnen Menschen versprechen, werden Sie gut beantworten, wenn Sie Folgendes tun: zeigen Sie uns, was Sie haben bereits, wenn Sie nichts zeigen uns, was Sie * grübel * Sie haben sollten, beschreiben die Projekt viel detaillierter. Leute auf S.O. Sie werden mürrisch, wenn Sie nicht genug Details angeben, besonders wenn Ihre Frage so abstrakt ist, dass es sich anhört wie "Tu meinen Job für mich". Ich kann Ihnen versprechen, dass wenn Sie mit dem beginnen, was ich Ihnen (den Details) gesagt habe, werden die Leute den Rest Ihrer Frage herausholen. – Crisfole

Antwort

1

Für eine sehr hohe Belastung könnten Sie NoSQL databases in Betracht ziehen. Diese Lösung funktioniert gut, wenn Sie hauptsächlich Daten lesen müssen und Ihre Datenlogik nicht zu komplex ist. NoSQL-Lösungen können bei richtiger Konfiguration manchmal schneller sein als relationale Datenbanken.

Wenn Sie mit MySQL gehen wollen, ist diese Frage zu abstrakt. Es gibt Unmengen an Dinge, die Sie darüber nachdenken müssen:

  1. richtige Tabellenstruktur
  2. Indexierung
  3. Caching
  4. Normalisierung und Denormalisierung
  5. Ihre Anfragen
  6. Clustering

Google all diese, um zu verstehen, warum diese Fragen wichtig sind Ameise. Wenn Sie das Beste aus der MySQL-Performance herausholen möchten, empfehle ich Ihnen "High performance MySQL" - dieses Buch ist grandios.

High performance MySQL

+0

Soweit ich verstehe, ist NoSQL nicht schneller als SQL, wenn ACID-Qualitäten erzwungen werden. Wenn Sie ACID in Ihrer Anwendung löschen, wird SQL-Lösung so schnell wie NoSQL ausgeführt. –

+0

@Victor: SQL-Datenbanken werden (fast) immer ein bisschen schwerer sein, da sie allgemeine Zwecke sind, während ein spezieller Zweck dbms ein bisschen schneller sein sollte. Und NoSQL ist kein Produkt. Es ist ein Begriff, der sich auf dbms bezieht, der sich von relationalen Datenbanken in irgendeiner Weise unterscheidet. Dieser Artikel macht einen ziemlich guten Job bei Hammer mit Nägeln: http://highscalability.com/blog/2010/12/6/what-the-heck-are-you-actually-using-nosql-for.html – Ronnis