Gibt es Pläne für Wordpress, andere Datenbanken als MySQL zu unterstützen?

8

Ich habe mir lange gewünscht, dass Wordpress SQL Server unterstützen würde, aber es wäre auch wirklich erstaunlich, wenn es MongoDB unterstützen würde (zum Beispiel).

Meine Frage ist, gibt es überhaupt Pläne dazu?

Ist das Wordpress-Kernteam so engagiert für MySQL, dass es keine Pläne gibt, Unterstützung für andere DBs anzubieten (zumindest in Kürze?)

Dieser Beitrag lässt mich glauben, dass so etwas nicht passieren wird:

http://codex.wordpress.org/Using_Alternative_Databases

Als Beispiel (obwohl ich Wordpress sehr bevorzuge) bietet Drupal 7 jetzt eine ...

Datenbankabstraktionsschicht, die die Verwendung vieler Datenbanken wie Maria DB, Microsoft SQL Server, MongoDB, Oracle, MySQL, PostgreSQL oder SQLite ermöglicht

http://drupal.org/node/1015646

Justin Jenkins
quelle

Antworten:

5

Hallo @Justin Jenkins:

Es ist sehr schwer zu sagen, ob WordPress dies unterstützt oder nicht, da sie diese Entscheidungen treffen können und wir dies nicht können. Wir können uns jedoch einige Beweise ansehen.

SQL Server?

Für SQL Server wurde einerseits vor einem Jahr ein Trac-Ticket diskutiert und blockiert. Seitdem scheinen Automattic und Microsoft in jüngerer Zeit Geschäftsbeziehungen zu untersuchen:

Mongo DB?

Für Mongo DB gab es eine Unterstützungsfrage, die dies vorschlug, aber keine offizielle Bestätigung und keine wirkliche Traktion:

Prognose?

SQL Server sieht also wahrscheinlicher aus als MongoDB, zumindest kurzfristig von Automattic, aber das ist nur eine Vermutung und keine, auf die ich tatsächlich wetten würde.

Was ist mit Plugins?

Noch wichtiger ist, dass man bedenken muss, dass ein großer Vorteil von WordPress das riesige Repository an kostenlosen Plugins ist und viele davon MySQL direkt codieren und somit nicht mehr funktionieren und einen Großteil des Nutzens von WordPress abschwächen.

Drupal-Module und deren Unterstützung anderer Datenbanken neben MySQL

In der Drupal-Welt gibt es zwar Unterstützung für mehrere Datenbanken, aber die Realität ist, dass die überwiegende Mehrheit der Drupal-Module, die mit der Datenbank interagieren, nur MySQL unterstützen. Die Unterstützung mehrerer Datenbanken erfordert einen um ein Vielfaches höheren Aufwand, und die meisten Entwickler von Drupal-Modulen verfügen einfach nicht über die Ressourcen oder die Neigung, kostenlose Plugins mit diesen Unterstützungsstufen zu erstellen, und ich würde erwarten, dass dies auch für WordPress gilt.

Anwendungsfälle aus der Praxis?

Was mich zu einer ehrlichen Frage bringt: Was sind die realen Anwendungsfälle dafür? Als Technologe sehe ich diese Typen immer als wirklich cool an, aber als Unternehmer sehe ich sie auch pragmatisch und frage nach Anwendungsfällen. Gibt es Situationen, in denen MySQL wirklich keine Option ist, SQL Server jedoch? Sind die Installationen, in denen die Vorteile von Mongo DB die Nachteile übersteigen würden?

(Und genauso wichtig ist, dass es Unternehmen gibt, die dies wirklich brauchen und bereit sind, Geld für die Entwicklung und Wartung auszugeben? Insbesondere wäre ich neugierig auf Ihre Motivationen? Auch dies ist eine ehrliche Frage; Marktforschung wirklich und dich in keiner Weise zum Fragen herauszufordern.)

Nächste Schritte?

Wenn Sie es mehr aus dem Maul des Pferdes hören möchten, würde ich vorschlagen, aber auf der Mailingliste der wp-Hacker nachzufragen und ein Vorschlagsticket für MongoDB auf trac zu veröffentlichen .

AKTUALISIEREN

Ich bin gerade auf diese Seite auf Microsoft.com gestoßen , die behauptet, sie hätten einen Patch für die Verwendung von SQL Server mit WordPress. Ich habe es nicht ausprobiert, daher kann ich nicht dafür bürgen, obwohl hier die WordPress-Seite von Microsoft ist:

MikeSchinkel
quelle
Danke für die ausführliche Antwort. Die SQL Server-Nachrichten sind ziemlich interessant ... der Hauptgrund, den ich sogar frage, ist, dass in einer Umgebung, in der SQL Server (oder MongoDB zum Beispiel) ausgeführt wird, alle anderen Daten ... Intranet, Benutzer, CMS usw. usw. Sind SQL Server die Tatsache, dass Wordpress nur MySQL unterstützt, sehr einschränkend (zum Beispiel ist es schwierig, Synchronisierungen oder Benutzer durchzuführen oder Vorlagen usw. freizugeben). Die in SQL Server gespeicherten Back-End-Daten würden eine große Anzahl von Daten öffnen Optionen für uns.!
Justin Jenkins
@ Justin Jenkins - Danke für die Erklärung, warum du das willst; Server und Wartung zu minimieren. Eine weitere ehrliche Frage: Ist die Notwendigkeit von SQL Server / Mongo DB wichtig genug, um über WordPress auf eingeschränkte Funktionen zugreifen zu können? (dh weniger Plugin-Unterstützung.)
MikeSchinkel
7

Codec

Siehe: http://codex.wordpress.org/Using_Alternative_Databases#Solutions/

Plugin Alternative

Ich habe dieses Plugin kürzlich verwendet: http://wordpress.org/extend/plugins/pdo-for-wordpress/ , um WordPress auf meinem NAS mit einer SQLITE-Datenbank im Backend anstelle von MySQL auszuführen, was hervorragend funktioniert hat.

Welche Datenbanken werden unterstützt?

Derzeit unterstützt die Basisschicht alle Datenbanken, die von PDO unterstützt werden.

  • MS SQL Server (PDO) - Microsoft SQL Server- und Sybase-Funktionen (PDO_DBLIB)
  • Firebird / Interbase (PDO) - Firebird / Interbase-Funktionen (PDO_FIREBIRD)
  • IBM (PDO) - IBM Funktionen (PDO_IBM)
  • Informix (PDO) - Informix-Funktionen (PDO_INFORMIX)
  • MySQL (PDO) - MySQL-Funktionen (PDO_MYSQL)
  • Oracle (PDO) - Oracle-Funktionen (PDO_OCI)
  • ODBC und DB2 (PDO) - ODBC- und DB2-Funktionen (PDO_ODBC)
  • PostgreSQL (PDO) - PostgreSQL-Funktionen (PDO_PGSQL)
  • SQLite (PDO) - SQLite-Funktionen (PDO_SQLITE)
  • Beachten Sie, dass über die Erweiterung PDO_ODBC alle von ODBC unterstützten Datenbanken ebenfalls unterstützt werden, sofern Treiber verfügbar sind

JEDOCH benötigt jede Datenbank einen eigenen Treiber und derzeit sind die einzigen Treiber, die für dieses Plugin geschrieben wurden, für

  • SQLite und
  • MySQL

Für MySQL sollte also jemand einen Treiber schreiben

Edelwasser
quelle
Vielen Dank für die Informationen zu PDO (SQLite) für WordPress, sieht interessant aus.
Justin Jenkins
1
Dieses Plugin wurde seit über zwei Jahren nicht mehr berührt und unterstützt WP 3.x nicht mehr. Es ist ein interessanter Fund und wäre schön, wenn jemand ihn aktualisieren und debuggen könnte, aber im Moment ist er keine sehr nützliche Lösung. Es gibt eine Handvoll Beiträge in den Foren, in denen die Leute es in Stücke gehackt haben, um es halb funktionsfähig zu machen, aber es scheint viel mühsamer zu sein, als es wert ist.
SickHippie
2

Ich habe nach Möglichkeiten gesucht, WordPress auf MongoDB oder eine andere NoSQL-Datenbank zu migrieren, um es wirklich skalierbar zu machen. Nähte gibt es ziemlich gute Möglichkeit (leider keine kurze), um dies zu erreichen.

Zunächst habe ich in PHP ein kleines Skript erstellt, das MySQL-Tabellen in Mongo-Sammlungen migriert und dabei einige Aggregationen unter Beibehaltung der ursprünglichen relationalen Abhängigkeiten vornimmt:

https://github.com/virtimus/mysql2mongo

Der nächste Schritt, an dem ich gerade arbeite, besteht darin, MongoDB etwas verständlich zu machen, das SQL "nahe" kommt - ich habe es "nSQL" genannt - es ist ein json-basierter SQL-Dialekt, der mit hierachischen Sammlungen arbeitet

https://github.com/virtimus/nsqlserver

Es ist eine laufende Arbeit - noch nichts festgeschrieben - aber ich habe bereits eine Offline-Prototyp-Version, die einfache nSQL-Abfragen des Formulars verarbeitet:

db.runCommand(
    {nsQL:
        {
           sel:['id','emailUse','emailType','emailSubject'],    // properties/colums to return
           flt:{emailUse:0,emailType:'test'},           // filter (where phrase equivalent)
           ctb:'wp_eshop_emails'                // table equivalent (can be agregated in collection as path)
        },
        cid:ci,                         //connection id
        sid:si                          //session id
    })

Es kann sowohl mit MySQL, MongoDB als auch mit fast jedem anderen relationalen / nicht relationalen Backend funktionieren. Es besteht aus zwei Projekten: - einer MongoDB-Gabel (leicht erweiterte MongoDB-Version um einige "nSQL" -Befehle) - einer Gabel des SQLRelay-Projekts (relationale DB-Proxy-Behandlung) viele SQL-Backends)

OK - also wäre die obige Komponente der Hauptteil der Arbeit. Es gibt eine Menge Entwicklung, um es voll funktionsfähig zu machen (Handhabung von Aggregationen, Sortierung, Filter für Unterdokumente, Einfügungen / Aktualisierungen / Löschungen, möglicherweise auch Verknüpfungen usw.). Der Endeffekt scheint im Allgemeinen sehr vielversprechend zu sein - nicht nur für WP. Stellen Sie sich zum Beispiel die Migration von SQL zu NoSQL mit mehreren einfachen "INSERT FROM INTO" -Befehlen vor ...

Der Rest der Arbeit wäre, es mit WordPress zu verbinden - über eine Art SQL2NSQL-Übersetzer (dh dieses PDO-Plugin oben)

Ist da jemand interessiert? Hilfe bei Analyse / Entwicklung? Finanzinvestitionen?

Virtimus
quelle
-1

PDO für WordPress funktioniert fantastisch, wenn es Ihnen nichts ausmacht, bei WP 2.9.1RC1 hängen zu bleiben, da es in WP 3.x nicht unterstützt wird. Leider gibt es viele Plugins, die nur für WP 3.x geschrieben wurden

IronHammer
quelle