string 변수 약 삼천만개를 메모리에 올려야 하는데 올릴수 있는 방법이 있을까요? 속도때문에 file db 에 저장하기가 좀 뭐합니다 os는 win 64고, 프로그램은 32bit입니다
문제가 애매하군요. 아래와 같은 정보가 더 필요합니다.
1. 문자열의 총 길이가 어느 정도인가? 간단히 계산해보면 문자열당 길이가 평균 70바이트 정도가 되어도 총 문자열 길이만 2GB 가깝게 나오는군요. 문자열 길이에 따라서 32bit 어플리케이션 주소 공간 안에 다 들어가지 못할 수도 있겠습니다.
2. 그 문자열 가지고 무슨 작업을 할 것인가? 뭐 예컨대 그냥 메모리에 올리기만 하는 게 목적이라면, 주소 공간이 넘치지만 않으면 무작정 올릴 수는 있을 겁니다. 그렇지 않다면 필요한 문자열을 쉽게 찾을 수 있도록 인덱스를 만들어야 합니다.
3. 어떤 작업이, 얼마나, 속도에 민감한가? 일반적인 용도의 DBMS의 속도에 만족할 수 없는 상황이라면, 뭔가 특수한 상황에 맞는 도구가 필요하다는 말씀이시겠지요.
문제를 좀 더 잘 이해하고 나면 해결책이 보일 수도 있겠습니다. 저라면 이런 것부터 찾아보겠네요:https://en.wikipedia.org/wiki/In-memory_database
vector 에러관련https://kldp.org/node/160091
30,000,000 개 * 30 문자 = 900,000,000 BYTE
1 KB == 1,000 BYTE 1 MB == 1,000,000 BYTE 1 GB == 1,000,000,000 BYTE
900 MB 정도. 메모리 사용하니 되겠죠.
---------------------------------------------------------------------------- 젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다. 정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
문제가 애매하군요. 아래와 같은 정보가 더 필요합니다
문제가 애매하군요. 아래와 같은 정보가 더 필요합니다.
1. 문자열의 총 길이가 어느 정도인가?
간단히 계산해보면 문자열당 길이가 평균 70바이트 정도가 되어도 총 문자열 길이만 2GB 가깝게 나오는군요.
문자열 길이에 따라서 32bit 어플리케이션 주소 공간 안에 다 들어가지 못할 수도 있겠습니다.
2. 그 문자열 가지고 무슨 작업을 할 것인가?
뭐 예컨대 그냥 메모리에 올리기만 하는 게 목적이라면, 주소 공간이 넘치지만 않으면 무작정 올릴 수는 있을 겁니다.
그렇지 않다면 필요한 문자열을 쉽게 찾을 수 있도록 인덱스를 만들어야 합니다.
3. 어떤 작업이, 얼마나, 속도에 민감한가?
일반적인 용도의 DBMS의 속도에 만족할 수 없는 상황이라면, 뭔가 특수한 상황에 맞는 도구가 필요하다는 말씀이시겠지요.
문제를 좀 더 잘 이해하고 나면 해결책이 보일 수도 있겠습니다. 저라면 이런 것부터 찾아보겠네요:
https://en.wikipedia.org/wiki/In-memory_database
이거예요
vector 에러관련
https://kldp.org/node/160091
30,000,000 개 * 30 문자 = 900,000,000 BYTE
1 KB == 1,000 BYTE
1 MB == 1,000,000 BYTE
1 GB == 1,000,000,000 BYTE
900 MB 정도. 메모리 사용하니 되겠죠.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기