it-swarm.com.de

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

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

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

Hat sich das Wordpress-Kernteam so für MySQL engagiert, dass es keine Pläne gibt, irgendeine Art von 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 nun ein ...

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

8
Justin Jenkins

Hallo @Justin Jenkins:

Es ist sehr schwer zu sagen, ob WordPress es 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?

Einerseits wurde für SQL Server ein Trac-Ticket vor einem Jahr debattiert und blockiert. Seitdem scheinen Automattic und Microsoft Geschäftsbeziehungen zu untersuchen:

Mongo DB?

Für Mongo DB gab es eine Support-Frage, die es vorschlug, aber keine offizielle Bestätigung und keine echte 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 wirklich wetten würde.

Was ist mit Plugins?

Noch wichtiger ist, dass man bedenken muss, dass ein Hauptvorteil von WordPress das riesige Repository an kostenlosen Plugins ist und dass viele davon MySQL direkt codieren und daher nicht mehr funktionieren und den größten Teil des Nutzens von WordPress reduzieren.

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

Darüber hinaus gibt es in der Drupal-Welt Unterstützung für mehrere Datenbanken. In Wirklichkeit unterstützen die meisten Drupal-Module, die mit der Datenbank interagieren, nur MySQL. Die Unterstützung mehrerer Datenbanken ist um ein Vielfaches aufwändiger und die meisten Drupal-Modulentwickler haben einfach nicht die Ressourcen oder die Neigung, kostenlose Plug-ins mit diesen Unterstützungsstufen zu erstellen, und ich würde erwarten, dass dies auch für WordPress zutrifft.

Anwendungsfälle aus der Praxis?

Was mich zu einer ehrlichen Frage bringt: Was sind die realen Anwendungsfälle dafür? Als Technologe betrachte ich diese Typen immer als sehr cool, aber als Unternehmer sehe ich sie auch pragmatisch an 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. Genauer gesagt, ich bin gespannt auf Ihre Motive. Auch das ist eine ehrliche Frage: Marktforschung wirklich, und Sie in keiner Weise für das Fragen herauszufordern.)

Nächste Schritte?

Wenn du es mehr aus dem Maul des Pferdes hören willst, würde ich vorschlagen, aber auf der wp-hackers mailing list nachzufragen und ein Ticket für MongoDB auf trac zu posten.

AKTUALISIEREN

Ich bin gerade auf diese Seite auf Microsoft.com gestoßen, das besagt, dass es einen Patch für die Verwendung von SQL Server mit WordPress gibt. Ich habe ihn nicht ausprobiert, kann mich also nicht dafür verbürgen, obwohl hier Microsoft WordPress ist Seite:

5
MikeSchinkel

Codec

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

Plugin Alternative

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

Welche Datenbanken werden unterstützt?

Derzeit unterstützt die Basisschicht jede Datenbank, die von PDO unterstützt wird.

  • 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 PDO_ODBC-Erweiterung auch alle ODBC unterstützten Datenbanken unterstützt werden, sofern Treiber verfügbar sind

JEDOCH JEDOCH benötigt jede Datenbank einen eigenen Treiber und momentan sind die einzigen für dieses Plugin geschriebenen Treiber für

  • sQLite und
  • mySQL

Für MySQL sollte also jemand einen Treiber schreiben

7
edelwater

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 ganz gute Möglichkeiten (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 durchführt, wobei die ursprünglichen relationalen Abhängigkeiten erhalten bleiben:

https://github.com/virtimus/mysql2mongo

Der nächste Schritt, an dem ich jetzt arbeite, besteht darin, MongoDB etwas verständlicher zu machen, das "nah" an SQL ist - ich habe es "nSQL" genannt - es ist ein json-basierter SQL-Dialekt, der auf hierachischen Sammlungen arbeitet

https://github.com/virtimus/nsqlserver

Es ist eine in Bearbeitung befindliche - noch nicht festgeschriebene -, jedoch habe ich bereits eine Offline-Prototyp-Version, die einfache nSQL-Abfragen der Form 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 auf MySQL, MongoDB als auch auf fast jedem anderen relationalen/nicht relationalen Backend funktionieren. Es besteht aus zwei Projekten: - einem MongoDB-Zweig (leicht erweiterte MongoDB-Version mit einigen "nSQL" -Befehlen) - einem Zweig eines SQLRelay-Projekts (relationales DB-Proxy-Handling) viele SQL-Backends)

OK - so über Komponente wäre der Hauptteil der Arbeit. Es gibt eine Menge Entwicklung, um es voll funktionsfähig zu machen (Umgang mit Aggregationen, Sortieren, Filtern von Filtern von Filtern, Einfügen/Aktualisieren/Löschen, möglicherweise auch Verknüpfen usw.). Der Endeffekt scheint im Allgemeinen sehr vielversprechend zu sein - nicht nur für WP. Stellen Sie sich zum Beispiel die Migration von SQL nach NoSQL mit mehreren einfachen "INSERT FROM INTO" -Befehlen vor ...

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

Ist da jemand interessiert? Hilfe bei Analyse/Entwicklung? Finanzielles Investieren?

2
Virtimus