옵션 2. 또한 조각으로 자르지 만 여전히 체계화하십시오. 마치 사전에서 단어를 찾는 것처럼. "A.txt" 파일에서 찾고 있는 문자 "A"로 시작합니다. 따라서 데이터를 트리 형태로 정렬할 수 있습니다(사전과 유사: 폴더 A, B ... 폴더 AA, AB 등의 폴더 A에 있음). 검색이 매우 빠르게 수행됩니다.
데이터 구조 와 수행되는 작업의 세부 사항을 알지 못하면 일반적인 조언만 제공될 수 있습니다. 옵션 중 하나의 핵심은 원시 데이터를 하나 이상의 패스(디스크 삭제 없이)(동일한 4GB)에서 더 작은 메타데이터로 변환한 다음 이미 메타데이터(집계 값, 일부 매개변수에 의한 절단 등)로 작업하는 것입니다. .). 이것이 작동하지 않으면 - 데이터를 DBMS로 이동하십시오.
비슷한 문제와 C ++로 해결하기 위한 옵션에 대해 토론한 사이트 가 생각났습니다.
고마워, 내가 읽을게.
물론 미안하지만 64비트를 시도하거나 MT가 32비트만 된다면
x64로 전환하면 천장이 그리 멀지 않고 이동됩니다. 16GB의 메모리를 추가로 요청하지 않으시겠습니까? ;)
1. 당연히 x64 시스템을 사용합니다.
2. Amazon EC2 클라우드에서 더 강력한 시스템을 임대하고 계산합니다.
3. 압축된 데이터를 사용하고 메모리에서 즉석에서 압축을 해제합니다. 실제 데이터는 스트림(부호/가수/지수)으로 분할할 때 더 잘 압축됩니다. 12비트 부동 소수점을 사용할 수 있습니다(정밀도를 희생하여).
4. EA 외부에서 빅 데이터(Matlab/R/etc)로 작업할 수 있는 계산을 수행합니다.
1.2 : 천정을 옮기는 이야기인데 특정한 숫자에 얽매이지 않고 문제를 풀고 싶다.
3. 문제는 디스크의 데이터 양이 아니라 메모리의 양입니다. 10-20% 더 압축할 수 있지만 다시 말하지만 문제가 해결되지 않습니다.
4. 당분간은 샌드박스에 머물기를 바랍니다. 나중에 복사기 / 동기화 장치를 작성하지 않도록 ...
참여해주셔서 감사합니다!
x64로 전환하면 천장이 그리 멀지 않고 이동됩니다. 16GB의 메모리를 추가로 요청하지 않으시겠습니까? ;)
당신은 항상 그런 데이터로 작업하지 않습니까? x64에서 직접 작성하고 필요할 때 Amazon에서 실행합니다. 마이크로 인스턴스에서 디버깅할 수도 있습니다.
그럼에도 불구하고 이러한 작업이 지속적으로 발생하면 Corsair Vengeance Pro CMY64GX3M8A2133C11과 같이 64GB의 메모리를 약 $ 1k에 구입할 수 있습니다.
또는 알고리즘의 구조를 재고하여 데이터에 대해 한 번에 작동할 수 있습니다.
ps 압축된 데이터를 메모리에 저장하고 처리에 충분한 시간 동안 필요에 따라 압축을 해제할 수도 있습니다.
고마워, 내가 읽을게.
x64로 전환하면 천장이 그리 멀지 않고 이동됩니다. 16GB의 메모리를 추가로 요청하지 않으시겠습니까? ;)
옵션 1. 파일을 조각으로 자릅니다.
옵션 2. 또한 조각으로 자르지 만 여전히 체계화하십시오. 마치 사전에서 단어를 찾는 것처럼. "A.txt" 파일에서 찾고 있는 문자 "A"로 시작합니다. 따라서 데이터를 트리 형태로 정렬할 수 있습니다(사전과 유사: 폴더 A, B ... 폴더 AA, AB 등의 폴더 A에 있음). 검색이 매우 빠르게 수행됩니다.
따라서 여러 번 읽어야 하며 다음과 같습니다.
가상 RAM 디스크를 구출합니다 ;)
구멍이 없으며 속도가 마음에 드실 것입니다.
전체 볼륨을 즉시 사용할 수 있습니다.
조각이 작업에 맞지 않기 때문에 조각으로자를 필요가 없습니다.
1. 이것은 캐시입니다... 아니면 무슨 말인지 이해가 되지 않습니다. 필요한 부분을 지속적으로 읽는 내 변형?
음... 래퍼를 통해 파일을 읽기 위해 래퍼는 파일의 작은 부분을 메모리에 유지하고 읽지 않고 대체합니다. 내 말은, 파일이 어떻게 사용되는지 알고 있으므로 래퍼가 매우 효율적이어야 합니다.
젠장...
같은 계란, 측면 만. 읽기 속도가 빨라질 수 있지만 이것이 전 세계적으로 문제를 해결하는 것은 아닙니다.
뭐, 작은 규모에서 반복적인 행동을 생각하고 있었다.
매핑을 사용하는 것은 직접 작성하는 대신 Windows 캐시를 사용하는 것입니다. 나는 한 조각을 다운로드하고, 읽고, 업로드했습니다. 조각이 자주 사용되는 경우 Windows는 해당 조각을 메모리에 보관합니다.
3. 압축된 데이터를 사용하고 즉시 메모리에서 압축을 해제합니다. 실제 데이터는 스트림(부호/가수/지수)으로 분할할 때 더 잘 압축됩니다. 12비트 부동 소수점을 사용할 수 있습니다(정밀도를 희생하여).
4. EA 외부에서 빅 데이터(Matlab/R/etc)로 작업할 수 있는 계산을 수행합니다.
많은 양의 정보가 있습니다(텍스트 파일의 경우 약 20GB).
...
그리고 이 파일이 아카이버에 의해 압축된 경우 볼륨은 어떻게 됩니까(결국 텍스트는 매우 잘 압축되어야 함)?