2015-11-25 14 views
5

Sto costruendo un'app Laravel le funzionalità principali sono guidate con oggetti JSON piuttosto grandi. (i più grandi sono tra 1000 e 1500 linee).Qual è il modo migliore per archiviare un oggetto JSON piuttosto grande in MySQL

So che ci sono scelte di data base migliori rispetto a MySQL per l'archiviazione di file e blocchi di dati, ma per varie ragioni sarà necessario utilizzare MySQL per l'applicazione.

Quindi la mia domanda è: come archiviare i miei oggetti JSON più efficaci in MySQL? Non avrò bisogno di fare alcuna query sulla colonna che contiene i dati, ci saranno altre colonne per identificarlo. Qualcosa di simile a questo:

id, titolo, creato-in, aggiornati-at, JSON-blobthingy

Tutte le idee?

+1

Si può andare a salvarlo come TEXT, ma io raccomanderei di passare a MongoDB o Redis, in quanto sono progettati per l'archiviazione dei documenti piuttosto che per le architetture relazionali. – thodorisbais

+0

'LONGTEXT' aiuterà –

+0

@toubou grazie. Ma avrò bisogno di usare MySQL, e il resto del sistema è basato su una datamodel relazionale. – Christoffer

risposta

10
  • è possibile utilizzare il tipo di dati JSON se si dispone di versione di MySQL 5.7.8 o superiore.
  • È possibile memorizzare il file JSON sul server e fare semplicemente riferimento alla sua posizione tramite MySQL.
  • È possibile utilizzare anche uno degli TEXT types.
+1

Per quanto non abbia bisogno di fare alcuna query sul JSON memorizzato, vorrei andare direttamente al tipo di TESTO. Con cautela su non indicizzare quella colonna. – yergo

+0

'LONGTEXT' sarebbe d'aiuto. –

+0

Spero che possano aggiornare il server a> = 5.7.8. Tuttavia, non penso che dovrò convalidare il JSON quando lo sto archiviando, poiché lo convaliderò attraverso uno schema quando lo creo e lo analizzo. Inoltre, ho davvero bisogno di un modo semplice per collegarlo alla struttura relazionale delle applicazioni. Quindi potrei andare per il testo per ora. Grazie! – Christoffer

Problemi correlati