2015-11-25 15 views
5

Buduję aplikację Laravel, której podstawowe funkcje są sterowane raczej dużymi obiektami JSON. (największe to od 1000 do 1500 linii).Jaki jest najlepszy sposób przechowywania całkiem dużego obiektu JSON w MySQL

Wiem, że istnieje lepsza baza danych niż MySQL do przechowywania plików i bloków danych, ale z różnych powodów będę musiał użyć MySQL dla aplikacji.

Moje pytanie brzmi: jak przechowywać moje obiekty JSON najbardziej skuteczne w MySQL? Nie będę musiał wykonywać żadnych zapytań w kolumnie przechowującej dane, będą też inne kolumny służące do jej identyfikacji. Coś takiego:

id, tytuł, stworzony-u, zaktualizowane-u, JSON-blobthingy

Jakieś pomysły?

+1

Można go zapisać jako TEKST, ale zaleca się zmianę na MongoDB lub Redis, ponieważ są one przeznaczone do przechowywania dokumentów, a nie architektur relacyjnych. – thodorisbais

+0

'LONGTEXT' pomoże –

+0

@ dziękuję. Ale będę musiał użyć MySQL, a reszta systemu opiera się na relacyjnym kodzie danych. – Christoffer

Odpowiedz

10
  • Można użyć typu danych JSON, jeśli masz wersję MySQL 5.7.8 lub nowszej.
  • Można przechowywać plik JSON na serwerze i po prostu odwoływać się do jego lokalizacji za pośrednictwem MySQL.
  • Można również użyć jednego z TEXT types.
+1

O ile on nie musi robić żadnych zapytań na przechowywanym JSON, chciałbym przejść bezpośrednio do typu TEKSTU. Zachowaj ostrożność, aby nie indeksować tej kolumny. – yergo

+0

"LONGTEXT" pomoże. –

+0

Mam nadzieję, że mogą zaktualizować serwer do> = 5.7.8. Mimo to, nie sądzę, że będę musiał zweryfikować JSON podczas przechowywania go, ponieważ będę sprawdzać go za pomocą schematu podczas tworzenia i analizowania go. Potrzebuję też prostego, prostego sposobu na powiązanie go z relacyjną strukturą aplikacji. Więc mogę teraz iść do Tekstu. Dziękuję Ci! – Christoffer

Powiązane problemy