Warum immer Ruby on Rails?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
metty
User
Beiträge: 99
Registriert: Samstag 13. Dezember 2008, 19:30

Hallo zusammen!

Wenn man sich die Stellenausschreibungen für Webentwickler etc. so ansieht, wird entweder nach PHP, .NET(C#) oder Rails-Entwicklern gesucht. Ich persönlich habe noch keine Ausschreibung in unserer Zeitung oder auf den Webseiten der Agenturen in meiner Nähe gefunden, die nach Python/Django etc. Entwicklern suchen. Der Trend geht meines Erachtens aber mehr Richtung Rails-Entwickler.

Da bei mir bald das Praxis-Semester ansteht, habe ich mich nach einer passenden Stelle als Webentwickler umgesehen und auch eine ergattern können. In der Firma wird, wie könnte es anders sein, mit Rails gearbeitet. Deshalb führt für mich kein Weg an Rails vorbei, wenn ich das Praktikum machen will. Nach einem ersten Blick in ein Rails-Buch, dem durchexerzieren der ersten 100 Seiten und erstellen einer kleinen Anwendung, bin ich etwas enttäuscht. Klar, über Geschmack lässt sich streiten, aber die so oft beschworene Einfachheit wie man mit Rails Webapplikationen erstellen kann habe ich bis jetzt nicht gefunden.
Ich persönlich finde den Syntax von Ruby, der ja wie Python einfach zu lesen zu sein will, etwas undurchsichtiger.
Ebenso der Umgang mit Rails. Die oft genannte "Magie", die alles irgendwie automatisiert, empfinde ich eher mittelprächtig, teilweise sogar störend. So frage ich mich häufig, "warum macht der das jetzt so und nicht anders?". Natürlich könnte man auf die "Magie" verzichten, aber dann könnte man Rails generell in Frage stellen.
Als ich damals begonnen habe meine erste Django-Webapplikation zu erstellen, war mein Spaß- und auch Lernfaktor höher. Bei Django empfinde ich alles geordneter und stimmiger miteinander verkettet. Von der umfangreichen und mit Beispielen versehenen Django-Dokumentation brauche ich gar nicht erst sprechen. Die ist bei Rails nicht ganz so toll. Vor allem für den Anfang reichen mir Klassendiagramme, etc. nicht aus.

Sieht man sich Benchmarkwerte (in der Standardkonfiguration!) an, verstehe ich den Hype um Rails noch weniger.
Defnull hat hier eines gepostet: http://www.python-forum.de/topic-20464. ... +framework
Hier ist Rails ca. halb so schnell wie Django. Von Bottle brauche ich gar nicht zu sprechen - Da brennt schlicht die Leitung! :D
(Nochmals vielen Dank an Defnull für sein großartiges Microframework!)

Betrachtet man die Geschichte von Rails, ist klar warum es sich bis jetzt so durchgesetzt hat. Es war das erste Framework dieser Art und konnte die Entwickler durch eine Einfachheit, die sie bis zu diesem Zeitpunkt nicht gewohnt waren, begeistern. Das und der Hype um Rails, haben imo dazu beigetragen, warum immer mehr Firmen und auch Entwickler "auf den Zug springen :wink: " und Rails verwenden. Einer der Hauptgründe, warum es in vielen Internetfirmen, Agenturen etc. eingesetzt wird, dürfte auch darin liegen, das es einfacher ist einen Rails-Entwickler zu bekommen als einen Django-Entwickler. Das denke ich, spielt natürlich auch mit hinein, da Firmen sich ungern von einer Handvoll Angestellter abhängig machen wollen, die mal eben schnell das doppelte an Gehalt verlangen könnten, weil keiner sonst die Software warten könnte.

Ich möchte keinen Flamewar heraufbeschwören, jeder hat seine Vorlieben, aber mich interessiert, wie ihr zu Ruby on Rails steht, bzw. was ihr davon haltet?
Was ist in Rails besser gelöst als in Django und umgekehrt?

Freudliche Grüße
Zuletzt geändert von metty am Sonntag 25. April 2010, 13:28, insgesamt 3-mal geändert.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

metty hat geschrieben:aber mich interessiert, wie ihr zu Ruby on Rails steht, bzw. was ihr davon haltet?
Seit ich einmal schmerzlich habe feststellen müssen, dass die SQL-Queries da aus Strings zusammengebastelt werden nicht mehr viel. Das vielgehypte ActiveRecord ist imo jedenfalls ein schlechter Witz.
metty
User
Beiträge: 99
Registriert: Samstag 13. Dezember 2008, 19:30

Darii hat geschrieben:Seit ich einmal schmerzlich habe feststellen müssen, dass die SQL-Queries da aus Strings zusammengebastelt werden nicht mehr viel. Das vielgehypte ActiveRecord ist imo jedenfalls ein schlechter Witz.
So genau hab ich mir das ganze noch nicht angeschaut, aber werden hier einfach Strings via concat zusammengebastelt, oder wie kann man sich das vorstellen?
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

metty hat geschrieben:
Darii hat geschrieben:Seit ich einmal schmerzlich habe feststellen müssen, dass die SQL-Queries da aus Strings zusammengebastelt werden nicht mehr viel. Das vielgehypte ActiveRecord ist imo jedenfalls ein schlechter Witz.
Werden hier einfach Strings via concat zusammengebastelt, oder wie kann man sich das vorstellen?
Nein, ich meine, dass man z.B. Bedingungen etc. als Teilqueries angibt. Siehe http://api.rubyonrails.org/classes/Acti ... /Base.html

Code: Alles auswählen

 Company.find(:first, :conditions => [
    "id = :id AND name = :name AND division = :division AND created_at > :accounting_date",
    { :id => 3, :name => "37signals", :division => "First", :accounting_date => '2005-01-01' }
  ])
Das ist pures SQL, das dann später an anderen SQL-Code drangepappt wird. Das knallt dann früher oder später irgendwann. Und Datenbankunabhängig ist das ganze schonmal gar nicht.
metty
User
Beiträge: 99
Registriert: Samstag 13. Dezember 2008, 19:30

Darii hat geschrieben:Nein, ich meine, dass man z.B. Bedingungen etc. als Teilqueries angibt.
Das knallt dann früher oder später irgendwann. Und Datenbankunabhängig ist das ganze schonmal gar nicht.
Aja, verstehe.
Das ist natürlich nicht das gelbe vom Ei...
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Metty, was möchtest du hören? Das Rails besser ist als Django oder das Ruby besser ist als Python? Oder genau das Gegenteil?

Ich denke, Rails hatte so einen Erfolg, weil es 2004 eine neue Einfachheit in der Webentwicklung gebracht hat und DHH durch konsequentes Java-Bashing so viel Aufmerksamkeit erzielt hat, dass viele dadurch Ruby und natürlich Rails bemerkt haben. Mir gefiel es schon 2001, weil es im Prinzip Smalltalk mit anderer Syntax war und mich an meine damalige Lieblingssprache erinnerte, die ich wegen Java aufgeben musste. Das ging so weit, dass ich begann, Ruby in Java nachzubauen. Man muss auch schon sagen, im Java-Umfeld war es 2004 schon echt schlimm, was Web-Entwicklung angeht. Und man liegt noch nicht einmal so falsch, wenn man sagt, dass es auch nicht grundlegend besser geworden ist.

Die Hype um Rails hat dann einen Schlag Leute angezogen, die ihren Lebensunterhalt durch das Schwimmen vor der Welle verdienen und einfach so drauf sind, dass sie "coole Sachen" machen wollen. So ist dann (von Smalltalk übrigens) z.B. RSpec entstanden und die Rails Gemeinde hat das Testen (JUnit hieß davor SUnit und stammt von Kent Beck aus Smalltalk-Zeiten) so verinnerlicht, wie zuvor keine andere. Auch das automatische Deployment, allgemein der Komfort mittels Scaffolding und Generatoren möglichst schnell ein Startprojekt zu haben, sind Dinge, die mit Rails Mainstream geworden sind. Und so Metaprogrammieren die Ruby-Leute wie zuvor nur die Lisp-Hacker und fühlen sich dabei gut.

Ich finde das toll und daher mag ich Ruby und Rails.

Python ist nett, aber langweilig. Django ist auch nett, aber irgendwie ist mir da zu wenig los. Jetzt, wo ich damit kein Projekt mehr mache, ist mir Stabilität oder "gut genug" egal, ich will neue Features, Innovationen, Coolness. Rails 3 z.B. ist ein großer Schritt nach vorne. Ich glaube, dass ist richtig gut geworden - aber vielleicht bin ich auch nur die durch vielen Vorträge, die ycatz unermüdlich gibt, gebrainwashed.

Apropos Vorträge: Es hilft IMHO auch, dass die Ruby-Community vielleicht kleiner, aber deutlich aktivier als die von Python ist. Es gibt dort recht viele wirklich gute "Speaker" von Konferenz zu Konferenz (von denen es auch echt viele gibt) tingeln und dabei auch noch etwas zu sagen haben. Jim Weirich fällt mir da z.B. ein. Und es gab kreative Köpfe wie "_why", der leider von einem auf den anderen Tag beschlossen hat, nicht mehr existieren zu wollen.

Auch schwappen von der Ruby-Community die Ideen richtig JavaScript-Community. Sowohl Sproutcore als auch Objective-C wurden von Leuten aus der Ruby-Gemeinschaft gebaut.

Und die Leute bleiben nicht stehen, sondern interessieren sich jetzt für Erlang, Clojure, sogar Scala (im Fall von Twitter). Das NoSQL-DBs die Zukunft für Webanwendungen sind, gilt da eigentlich schon als gesetzt.

Die Innovationskraft und der Innovationswille dieser Community ist IMHO wichtiger als dass die Sprache vielleicht ein bisschen komplizierter als Python ist oder Rails mehr Magie enthält (was mit Rails 3 glaube ich kaum noch zutrifft). Das gezeigte Beispiel von #find kann man übrigens so machen, muss man aber nicht. Auch bei Django könnte man sich unnötigerweise an SQL ketten. Problem bei Rails ist vielleicht, dass es häufig mehr als einen Weg gibt und man lernen muss, welches der richtige ist. Ich z.B. würde weniger als ActiveRecord denn auch Datamapper setzen, welches ich für überlegen halte.

Ich könnte jetzt noch Heroku oder JRuby oder die Tatsache erwähnen, dass ich es sehr beeindruckend finde, dass die Ruby-Community, nachdem sie bei GSoC nicht angekommen wurde, in wenigen Tagen $100.000 zusammenbekommen hat, um ihr eigenes Ruby Summer of Code zu veranstalten, erwähnen, aber ich schreibe schon wieder zu viel.

Stefan
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

sma hat geschrieben:Auch schwappen von der Ruby-Community die Ideen richtig JavaScript-Community. Sowohl Sproutcore als auch Objective-C wurden von Leuten aus der Ruby-Gemeinschaft gebaut.
Bist du dir sicher das du Objective-C und nicht cappuccino/objective-j meinst?

Auf jeden Fall hast du mich dazu ermuntert Rails und Ruby nach 5 Jahren mal wieder anzusehen.

Gruss,
Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Ruby on Rails hat einfach den Vorteil recht einfach zu sein und man hat dass Gefühl nach ein paar Minuten alles verstanden zu haben. Ich hab in wenigen Schritten eine funktionierende Anwendung und hab was funktionierendes und muss mich nicht mit irgendeiner komplexen Konfiguration rumschlagen. Außerdem bekomme ich eine JSON API quasi umsonst.

Da ist es völlig egal dass es extrem langsam ist im Vergleich zu anderen Lösungen, den es macht Spass es zu benutzen. Die Community scheint mit Ideen und Projekten nur so um sich zu werfen. Bei Python hat man eine Gewisse Elite von Leuten die an wenigen sehr interessanten Projekten arbeiten, die aber entweder nicht fertig zu werden scheinen oder von niemandem benutzt werden.
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

DasIch hat geschrieben:Da ist es völlig egal dass es extrem langsam ist im Vergleich zu anderen Lösungen, den es macht Spass es zu benutzen. Die Community scheint mit Ideen und Projekten nur so um sich zu werfen. Bei Python hat man eine Gewisse Elite von Leuten die an wenigen sehr interessanten Projekten arbeiten, die aber entweder nicht fertig zu werden scheinen oder von niemandem benutzt werden.
Zum Beispiel?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

ahojnnes hat geschrieben:Zum Beispiel?
PyPy und Zine fallen mir da spontan ein.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

DasIch hat geschrieben:Ruby on Rails hat einfach den Vorteil recht einfach zu sein und man hat dass Gefühl nach ein paar Minuten alles verstanden zu haben. Ich hab in wenigen Schritten eine funktionierende Anwendung und hab was funktionierendes und muss mich nicht mit irgendeiner komplexen Konfiguration rumschlagen. Außerdem bekomme ich eine JSON API quasi umsonst.
Ich fand Django ehrlich gesagt um einiges einfacher als Rails. Zumindest wenn man wirklich wissen will was da abgeht.

Gruss,
Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
metty
User
Beiträge: 99
Registriert: Samstag 13. Dezember 2008, 19:30

sma hat geschrieben:Metty, was möchtest du hören? Das Rails besser ist als Django oder das Ruby besser ist als Python? Oder genau das Gegenteil?
Ich will gar nicht hören was besser ist, ich will darüber diskutieren was in der einen Welt besser gelöst ist (sein könnte) als in der anderen! So kann sich jeder seine Meinung bilden. Ein "meins ist besser als deins" geflame wäre eher kontraproduktiv, aber das habe ich schon in meinem Eingangspost geschrieben. Jeder darf soviel mit Rails oder Django arbeiten wie er/sie möchte.

Mein Anliegen lässt sich nochmals einfach zusammenfassen:
"Warum hat sich Rails so stark verbreitet und warum wird es oft bevorzugt für Web-Entwicklung eingesetzt, obwohl es vielleicht andere performantere, einfachere oder stabilere Lösungen geben könnte?"

sma hat geschrieben:Jetzt, wo ich damit kein Projekt mehr mache, ist mir Stabilität oder "gut genug" egal, ich will neue Features, Innovationen, Coolness.
Diese Sichtweise kann ich nicht ganz teilen. Coolness allein bezahlt keine Rechnungen und hält keine Kunden bei der Stange. Eine Mischung aus Stabilität und Innovation ist imo der bessere Weg.

sma hat geschrieben:Und die Leute bleiben nicht stehen, sondern interessieren sich jetzt für Erlang, Clojure, sogar Scala (im Fall von Twitter). Das NoSQL-DBs die Zukunft für Webanwendungen sind, gilt da eigentlich schon als gesetzt.
Als bis dato Django/Python Entwickler interessiere ich mich auch für Dinge wie Erlang oder NoSQL-DBs und bin ebenfalls überzeugt, das sie der Standard für eine vielzahl der Webanwendungen wird. Verhalte ich mich jetzt nicht regelkonform, bzw. ist diese Ansicht den Ruby-Entwicklern vorbehalten? :wink:


Fazit:
Ich habe mir noch ein Buch zu Ruby geordert und lasse mich (hoffentlich) noch von Ruby begeistern. Vielleicht bin ich in einem Jahr Ruby/Rails-Verfechter, wer weiß das schon? Die Ruby-Einstellung, "nicht stehen zu bleiben" habe ich ja schon mal :D :wink:
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

sma hat geschrieben:Und die Leute bleiben nicht stehen, sondern interessieren sich jetzt für Erlang, Clojure, sogar Scala (im Fall von Twitter). Das NoSQL-DBs die Zukunft für Webanwendungen sind, gilt da eigentlich schon als gesetzt
Gibt es dazu eigentlich einen guten Artikel (à la "Webentwicklung von Morgen") in der diese Themen kurz behandelt werden?
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

@veers, ja ich meinte Cappuccino und nicht die Sprache, die Apple als Vehikel für einen blödsinnigen Krieg mit Adobe nutzt.

@DasIch, du fasst sehr schon zusammen, was ich mit zu vielen Worten ausdrücken wollte: Die Ruby-Community scheint aktiver zu sein. Jedenfalls klappern sie mehr.

@metty, ich glaube gar nicht einmal, dass Rails stärker verbreitet ist, als Python-basierte Web-Anwendungen. Doch während der typische Python-Entwickler einfach macht, ruft der Ruby-Entwickler noch "seht her, was ich tolles gemacht habe!". Und das verschiebt das Bild. Andererseits: Für Konferenzen scheint es im Ruby- und Rails-Umfeld deutlich mehr Nachfrage zu geben und so etwas schafft Sichtbarkeit. Gerade auch bei Leuten, die den Kopf für Technologie-Entscheidungen hinhalten müssen (auch wenn sie die Technologie nicht kennen). So weiß ich von mehreren Unternehmen, die Python-basierte Lösungen (durch Java-basierte) ablösen wollen, weil sie die Abhängigkeit von einer selbst gestrickten Lösung, die nur eine Handvoll eigene Entwickler kennen, reduzieren wollen.

Aus einem Java-Umfeld kommend, finde ich bei Ruby praktisch, dass es mit JRuby einen praktikablen Weg gibt, die JVM als Plattform für verschiedene Sprachen zu nutzen und so die Stabilität von Java mit der Effizienz (in der Entwicklung) von Ruby zu kombinieren. Jython hat mich wie wirklich überzeugt. Und es hilft natürlich auch zu wissen, dass EngineYard drei Entwickler für JRuby beschäftigt, während Jython nach einer kurzen Phase der Förderung durch Sun wieder nur ein Hobbyprojekt ist.

@ms4py, wenn jemand wüsste, wie es in Zukunft funktioniert, würde ich das auch gerne wissen. Ich befürchte jedoch, es gilt der alte Grundsatz: Vorhersagen sind schwierig, insbesondere wenn sie die Zukunft betreffen.

Mein Vermutung ist, dass das Gros der Webentwickler bei sehr traditionellen Ansätzen bleiben wird. Ich jedoch halte "NoSQL" für ein Zukunftsthema. Ebenso "Cloud" und die Hoffnung, mit diesen beiden Technologien kostengünstige Skalierbarkeit von Anwendungen zu erreichen. Schließlich denke ich, dass der traditionelle Desktop-Browser vom iPad (Tablet) bzw. iPhone (Mobile) Browser verdrängt wird und man Anwendungen zukünftig dahingehend ausrichten werden wird. Und diese Anwendungen werden deutlich interaktiver werden. Einfach gesagt: HTML5 mit vollem Featureset ist die Zukunft.

Dies bedeutet alles aber entweder viel mehr JavaScript oder neue Abstraktionen, von denen es zwar schon seit Jahren welche gibt, die es aber alle nicht aus dem Labor "auf die Straße" geschafft haben. Vielleicht schafft es die Ruby Gemeinde es ja noch einmal (wie 2004 mit Rails), gute Ideen zu kombinieren und so die Entwicklung interaktiver und mobiler Anwendungen zu revolutionieren.

...oder die Python-Gemeinde. Da hätte ich dann auch nix gegen, nur passieren müsste es bitte :)

Stefan
metty
User
Beiträge: 99
Registriert: Samstag 13. Dezember 2008, 19:30

sma hat geschrieben: Doch während der typische Python-Entwickler einfach macht, ruft der Ruby-Entwickler noch "seht her, was ich tolles gemacht habe!". Und das verschiebt das Bild. Andererseits: Für Konferenzen scheint es im Ruby- und Rails-Umfeld deutlich mehr Nachfrage zu geben und so etwas schafft Sichtbarkeit. Gerade auch bei Leuten, die den Kopf für Technologie-Entscheidungen hinhalten müssen (auch wenn sie die Technologie nicht kennen). So weiß ich von mehreren Unternehmen, die Python-basierte Lösungen (durch Java-basierte) ablösen wollen, weil sie die Abhängigkeit von einer selbst gestrickten Lösung, die nur eine Handvoll eigene Entwickler kennen, reduzieren wollen.

Mein Vermutung ist, dass das Gros der Webentwickler bei sehr traditionellen Ansätzen bleiben wird. Ich jedoch halte "NoSQL" für ein Zukunftsthema. Ebenso "Cloud" und die Hoffnung, mit diesen beiden Technologien kostengünstige Skalierbarkeit von Anwendungen zu erreichen.
Ich bin ganz deiner Meinung! Bei Google wurde bzw. wird auch ein großer Teil mit Python entwickelt, aber das ganze wurde nie wirklich an die große Glocke gehängt. Ich habe mir jetzt ein Ruby-Buch geholt und versuche mich in das Thema Ruby reinzudenken und ich muss sagen, vieles davon finde ich nicht mal verkehrt. :oops:

Gefühlt ist die Ruby-Community wirklich ziemlich aktiv, es gibt imo mehr Vorträge, es wird alles in allem mehr geredet, diskutiert, was auch immer. Das kommt der ganzen Sache natürlich nur zu gute. Das Thema, das Ruby bzw. Rails-Entwickler mehr über das was sie entwickelt haben sprechen, kann ich an dieser Stelle nicht beurteilen. Aus meiner Erfahrung heraus, ist es leider oftmals so, das kleine Lösungen durch viel "heiße Luft in komprimierter Form" so groß geredet werden, obwohl sie es eigentlich gar nicht wert wären. Das gefällt mir persönlich weniger, weil man dann oft mit solchen Dampfplauderern "über einen Kamm geschoren wird". Sowas kennt man ja von: "Java-Anwendungen sind generell langsam!". Dabei liegt das meist (eigentlich meistens) am Entwickler.
Auf der anderen Seite finde ich es absolut legitim, über etwas das gut gelöst wurde, zu sprechen.

Deine Meinung zur zukünftigen Webentwicklung kann ich nur bejahen...
Die meisten der uns bekannten Webapplikationen werden vermtl. mit einer NoSQL-DB verwirklicht werden, weil es neben Geschwindigkeit auch auf eine einfache horizontale Skalierbarkeit ankommt/ankommen wird. Das selbe gilt für Cloud-Computing, wobei ich glaube das die jetzigen Ansätze von Virtualisierung etc. noch stark überarbeitet gehören. Ich würde unter Cloud verstehen, das ich meine entwickelte Website irgendwo "installiere" und sich das System dann automatisch so skaliert je nachdem wie stark frequentiert die Seite ist. Keine "stinknormalen" vorkonfigurierten Betriebssysteminstanzen die aufwendig miteinander verbandelt werden müssen. Ansätze wie Googles-Appengine sind imo der Richtige Ansatz.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Zu der Diskussion passt noch gut http://intridea.com/2010/4/28/the-futur ... -love-ruby ein, über das ich gerade gestolpert bin.

Stefan
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

sma hat geschrieben:Mein Vermutung ist, dass das Gros der Webentwickler bei sehr traditionellen Ansätzen bleiben wird. Ich jedoch halte "NoSQL" für ein Zukunftsthema.
Ehrlich gesagt sehe ich bei den Teilen nicht so die großen Anwendungsmöglichkeiten. Die meisten Daten an die ich so denke haben Beziehungen zueinander. Da brauche ich dann entweder eine relationale oder eine Objektdatenbank. Die Alternative wäre, diese Beziehungen manuell zu verwalten, aber dann hätte ich auch nichts gewonnen. Irgendwie wäre ich über ein Wiederaufleben der Objektdatenbanken glücklicher, als über die besseren Key-Value-Speicher die da jetzt aufkommen(ZODB ist ganz nett, aber eine skalierende Lösung kostet da auch wieder Geld).
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

@sma: diesen Hype um NoSQL DBs/Key-Value Stores kann ich nur teils verstehen und diese haben in manchen Fällen mit Sicherheit ihre Daseinsberechtigung, aber in der großen Menge ist eben eine relationale Datenbank doch das Mittel der Wahl - wie es Darii auch schon schrieb. Man muss meiner Meinung nicht auf jeder Welle mit schwimmen, nur weil das gerade einfach "angesagt" ist, man sollte das passende Tool für das richtige Anwendungsgebiet verwenden.

Inwiefern das für Rails zutrifft weiß ich nicht, allerdings hatte ich immer den Eindruck, dass da ein ziemliches Chaos herrscht. Und Kontinuität ist ja meiner Meinung nach auch ein großer Vorteil und spricht in gewisser Weise auch für Qualität.
BlackJack

@ahojnnes: Ein Hype ist es sicherlich, aber das ist vielleicht auch Notwendig um die Leute überhaupt dazu zu bringen etwas anderes als ein RDBMS in Betracht zu ziehen. Denn vielfach wird wohl auch nicht über das passende Werkzeug nachgedacht, sondern einfach ein RDBMS genommen, weil man das schon immer so gemacht hat, und was anderes gibt's ja auch gar nicht. Man braucht ja ACID. Braucht man das wirklich? Auf der Ebene die ein RDBMS bietet? Doch sicherlich für einen Onlineshop! Sieht Amazon nicht so. Denn die Achillesferse der traditionellen RDBMS scheint ja die Skalierbarkeit zu sein, wenn man das ganze stark verteilt betreiben will oder muss. Und das scheint immer mehr im Kommen zu sein. Vielleicht auch nur ein Hype. :-)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@Darii & @ajohannes: Bei Relationen kommt es ja aber auf die Kardinalität an! Eigentlich brauchst Du nur bei n:m-Relationen so etwas wie ein relationales Konzept. Alles andere kannst Du ja direkt ineinander schachteln (wie man es bei XML / JSON ja auch intuitiv macht). Insofern sind Projekte ohne n:m (oder mit nur wenigen) durchaus für "NoSQL" geeignet.
Antworten