Wann NoSql und welche? [geschlossen]

8

Ich habe schon eine Weile mit php und mySql programmiert und kürzlich beschlossen, dass ich nosql ausprobieren möchte. Ich würde es sehr schätzen, wenn einige von Ihnen mit Erfahrung mir sagen könnten:

  • Wann ist es eine gute Zeit zu wechseln, woher weiß ich, dass nosql für mich ist?
  • Welche Nosql-Software würden Sie empfehlen?

Danke

    
DavidW 21.06.2011, 20:28
quelle

4 Antworten

7
  

Wann ist es eine gute Zeit zu wechseln?

Es kommt wirklich auf das jeweilige Projekt an. Aber im Allgemeinen sehe ich, dass ich Nosql für 95% der Webanwendungen verwenden kann. Ich werde weiterhin alte gute SQL für die Systeme verwenden, die ACID garantieren sollten (zum Beispiel Systeme, die mit "echtem" Geld arbeiten) ).

  

Woher weiß ich, dass nosql für mich ist?

Es ist für dich, für dich, glaube mir. ;)

Sie müssen nur etwas aus der Welt von nosql ausprobieren, einige existierende Artikel lesen und Sie werden alle Vorteile und Probleme sehen.

  

Welche Nosql-Software würden Sie empfehlen?

Ich würde dir persönlich empfehlen, mit mongodb zu beginnen, weil es wirklich einfach ist. Um ein Experte in SQL zu werden dauert Jahre, um ein Experte für Mongodb zu werden braucht einen Monat oder so.

Ich schlage vor, dass Sie eine Stunde zum Lesen verbringen " Das kleine mongodb Buch " und versuchen Sie Ihre erste Testanwendung ab morgen zu schreiben.

Niemand wird hier sagen, dass Sie diese oder diese Datenbank verwenden müssen. Welche Datenbank zu verwenden ist, hängt von Projekt und Anforderungen ab.

    
Andrew Orsich 21.06.2011 22:22
quelle
3

Es hängt von Ihren Anwendungsanforderungen ab. Es gibt viele Optionen.

Sie können ein dokumentorientiertes wie mongodb verwenden, einen "erweiterten" Schlüsselwert wie Redis oder vielleicht ein Graph-orientiert wie neo4j

Dieser Artikel ist sehr nützlich Ссылка

    
Felipe Cruz 21.06.2011 20:44
quelle
2

Dieser neue Blogpost in High Scalability beantwortet ziemlich genau Ihre Frage, wann NoSQL verwendet werden sollte.

Ich selbst gehe immer zu MySQL, bis es mir misslingt und dann das richtige Werkzeug für den Job auswähle. Einige der nicht-relationalen Datenbanken, mit denen ich gearbeitet habe, sind:

  • Riak : ein Dynamo-Klon, der nützlich ist, wenn Sie schnell auf Datensätze zugreifen müssen, aber Sie zu viele Datensätze haben, die Sie auf einem Computer behalten möchten. Zum Beispiel ein Empfehlungssystem für Benutzer in einer Webanwendung, Sie möchten in wenigen Millisekunden auf die Daten zugreifen, aber Sie haben 200 Millionen Benutzer.
  • MongoDB : eine dokumentenbasierte Datenbank, für die ich Geschwindigkeit brauchte, aber eine schreibintensive Anwendung hatte (Lese- / Schreibverhältnis nahe 1): 1) Die Daten waren sehr kurzlebig, so dass mir die Haltbarkeitsprobleme nicht wichtig waren
Asaf 21.06.2011 21:05
quelle
1

Die beste Zeit zum Wechseln ist, wenn Sie:

  • Fangen Sie an, an einem neuen Projekt zu arbeiten und treffen Sie erste architektonische Entscheidungen. Die Portierung einer bestehenden Anwendung auf eine andere Datenbank kann eine Menge Probleme bereiten.
  • Schlagen Sie eine Mauer ... oder besser, bevor Sie einen kommen sehen :) Der Hauptgrund ist in der Regel Mangel an Leistung oder Skalierbarkeit.
  • Brauchen Sie ein fehlendes Merkmal (zB: komplexe Hierarchische Strukturen, Graph-ähnliche Traversalen, etc ..).

Ich würde viele von ihnen empfehlen, aber jeder von ihnen hat seine eigenen Sweet-Spots, wo sie leuchten und andere Teile, wo sie keine Features haben. Die einzige Möglichkeit, das / die richtige (n) Werkzeug (e) auszuwählen, besteht darin, sich mit einigen davon vertraut zu machen.

  • Webentwickler lernen in der Regel zuerst Schlüsselwertspeicher (memcached, redis), da sie viele Leistungsprobleme beheben können (aber auch Ihre App etwas komplexer machen ...).
  • Es gibt dokumentlose (schemalose) Datenbanken wie MongoDB oder CouchDB, die Ihre Produktivität erheblich steigern können, wenn sich Ihr Datenmodell häufig ändert.
  • Für Graph-Traversale gibt es NeoJ.
  • Für "Big Data" gibt es Hadoop und die zugehörigen Projekte.
  • Und eine Liste geht weiter und weiter ...
Karoly Horvath 21.06.2011 21:36
quelle

Tags und Links