Speichern von JSON in der MySQL-Datenbank? [Duplikat]

8

Ist es akzeptabel, JSON-Daten in einer MySQL-Tabellenzeile zu speichern? Ich muss Arrays in einer MySQL-Datenbank speichern. Das Problem ist, ich weiß nicht, wie viele Spalten ich für jeden Benutzer brauche. Also dachte ich, dass ich JSON zum Beispiel in einer Zeile namens array speichern würde. Ist das der beste Weg?

Bearbeiten:

Ich verwende auch text als Tabellenspaltentyp.

    
user1947561 13.03.2013, 20:00
quelle

4 Antworten

12

Ja, es ist eine sehr gute Idee, mysql als Schlüssel-Wert-Speicher zu verwenden, tatsächlich macht Facebook das für einige Zwecke.

%Vor%

Die obige Tabellenstruktur wird Sie weit bringen. Es ist sehr einfach zu shard oder Cluster.

Edit: Der Punkt hier ist, PHP, Ruby usw. zu verwenden, um die json / data zu behandeln. Sie tun SELECT ... , machen Sie Ihre Änderungen, dann INSERT ... ON DUPLICATE KEY UPDATE ... .

    
Gustav 13.03.2013, 20:04
quelle
2

Das Speichern von mehr als einem Stück Daten in einem relationalen Datenbankfeld ist im Allgemeinen falsch. Es ist möglich, Fälle zu betrachten, in denen dies akzeptabel wäre, jedoch nicht zum Speichern eines gesamten Benutzers.

Wenn die Verwendung einer relationalen Datenbankstruktur nicht ausreicht, sollten Sie sich lieber eine NoSQL-Datenbank als MySQL anschauen.

    
jonixj 13.03.2013 20:06
quelle
0

Es ist kein Problem. mySQL kann bereits die meisten Klammern und funky Zeichen in ihrem Textfeld handhaben.

    
ApolloSoftware 13.03.2013 20:03
quelle
0

Ich denke es ist nicht. Vier Monate später entscheiden Sie, ob Sie Ihrer Entität ein neues Attribut hinzufügen oder einige Attribute aus Ihrer Entität entfernen möchten. Wie werden Sie Ihre alten JSON-Inhalte analysieren? Wenn Sie nicht wissen, wie viele Spalten Sie in Ihrer Tabelle benötigen, sollten Sie anders denken und vielleicht eine dynamische Struktur wie die user_column-Tabelle erstellen

    
sedat sevgili 13.03.2013 20:05
quelle

Tags und Links