2012-09-04 8 views
0

데이터베이스에서 실제로 복잡한보고를 실행합니다. 지금까지 복잡한 json 객체를 반환하고 javscript가 보고서를 렌더링하고있었습니다. 그러나이 json 객체를 만드는 것이 점점 커짐에 따라 시간이 오래 걸리고 있습니다.데이터베이스에 Json 객체 저장

다른 접근 방식으로 바꾸려고합니다. 사용자는 보고서 생성 요청을 만들고 서버 측 프로세스는 json을 생성하고 나중에 사용할 수 있도록 저장하여 사용자에게 링크를 전자 메일로 보냅니다.

json 개체를 데이터베이스에 저장하는 것이 안전한 방법입니까? 이를 저장하는 주요 이유는 사용자가 보고서를 실행하려고하는 열이 고정되지 않는다는 것입니다. NoSql을 사용해야할까요?

미리 감사드립니다.

+1

JSON 대신 thrift를 사용하는 것이 좋습니다. 저기, 저울 개체를 렌더링 할 수있는 자바 스크립트 중고품 라이브러리가 있으며 생성하는 것이 빠르고 효율적으로 모든 데이터베이스에 저장됩니다. – DigitalGhost

답변

1

데이터베이스에 JSON을 저장하는 것이 안전해야합니다. JSON은 단순한 텍스트입니다. 그런 의미에서이 접근법에는 아무런 문제가 없습니다.

1

구체적으로 말하면 Redis와 같은 키 - 값 저장소를 고려해야합니다. 당신은 store_user_id -> json_object를 저장할 수 있습니다. 키 - 값 저장소는 캐싱에 우수합니다. 본질적으로 당신이하는 것처럼 들립니다.

일반적으로 JSON을 저장할 수는 있지만 한 가지 중요한 점이 있습니다. SQL 쿼리에서 데이터의 의미를 사용하는 방법이 명확하지 않습니다. 예를 들어

{'color': blue, 'height': '40px'} 
{'color': blue, 'height': '50px'} 
{'color': red, 'height': '40px'} 

과 같은 레코드를 데이터베이스에 저장한다고 가정 해 보겠습니다.

"파란색"인 모든 요소를 ​​식별하려면 각 문자열 요소에서 "% blue %"문자열 만 검색하면됩니다. 이것은 비용이 많이 들고 오류가 발생하기 쉽습니다. JSON을 분리하여 데이터베이스로 저장하거나 일종의 키 - 값 쌍 또는 다른 저장소로 이동하는 것을 고려할 수 있습니다.

관련 문제