루비 온 레일즈 앱에서는 문서 당 약 300x300 요소의 큰 행렬 (부동 소수점 값, 대부분 다른 값)을 저장해야합니다. 문서를 검색 할 때마다 사용자 정의 계산을 위해 전체 행렬을로드해야합니다. 행렬도 자주 업데이트되므로 (쓰기 성능과 메모리 캐싱도 문제가됩니다).큰 행렬을 레일스 앱에 저장하십시오.
이러한 매트릭스를 저장하는 좋은 방법은 (성능면에서) 무엇입니까? 내 마음에 와서 몇 가지 대안 : 열 row
, column
및 value
와
- 테이블입니다. 하지만 (약 90000 세포와 함께) 전체 매트릭스를 가져오고 저장하는 것이 모든 요청에 대해 좋은 생각이 아닐 것으로 생각됩니다 (일부 메모리 캐싱이 도움이 될 것입니다).
- 텍스트 필드/열에 직렬화 된 행렬을 저장합니다. 성능 관점에서 비교하는 방법에 대한 아이디어가 있습니까?
- 일부 문서 데이터베이스 (예 : 몽고)를 사용하여 문서의 한 필드 안에 전체 행렬을 저장합니다 (2에 비해 이점이 없는지는 확실하지 않음).
의 데이터에 대한 인터페이스를 최적화 제공하는 방법 매트릭스 작업을 위해 R 또는 matlab에 등과 접선하고 무거운 하중을하자 어떻습니까? – fuzzyalej
은 스파 스 데이터가 아니더라도 여기에 약간 비슷한 질문에 대한 답을 제공하므로 모든 데이터가 관련되지는 않습니다. http://stackoverflow.com/a/2599384/178651- 내가 생각하는 트릭은 먼저 저장 방법에 대해 생각하는 것입니다./DB에서 효과적으로 검색하면, Rails에서 얼마나 많은 구문 분석, 비교 등이 필요한지 판단 할 수 있습니다. –
귀하의 필요에 맞는 독특한 시나리오가 주어지면 가장 좋아 보이는 몇 가지 옵션을 사용해 보시기 바랍니다. 나의 첫 번째 생각은 그냥 큰 얼룩으로 저장하는 것입니다 (CSV로 생각하십시오) (옵션 # 2). 하지만 필자는 요구 사항과 같은 것을 저장할 필요가 전혀 없으므로 예측하기 어려울 것입니다. 나는 이것을 위해서 MongoDB를 사용하지 않을 것이다. DB의 다른 기능이 필요한 것처럼 사용자의 설명이 들리지 않습니다. – WiredPrairie