조금은 황당한 질문.. 데이터 검색 속도에 관해서...

sadrove의 이미지

1문장이 대충 50글자라고 치면, 약 100바이트..
10MB에 1십만 문장을 저장할 수 있다고 가정할 때..
이 데이터를 갖고 하는 일은 특정 단어나 문장을 검색해서 가져오는 일이나 저장하는 일이라고 할 때요..

text파일에 저장된 문장을 모두 읽어들여서 배열이나 기타 방법으로 램상에 올려놓고 조작하는 방법과..
데이터베이스를 이용하는 방법 중 어떤게 더 빠를까요..?..

램에서 조작하는게 더 빠를꺼라는 생각이 들지만 실제로 그럴까하는 생각도 들고요...

어떨까요..?

익명 사용자의 이미지

DBMS 역시 파일에 저장된 데이터를 램(메모리)으로 읽어들이는 절차가 있습니다
디스크 I/O라고 표현하도록 하죠
다만 일반 파일을 사용할 것이냐, DBMS를 사용할 것이냐의 차이는 데이터의 탐색을 위한 자료구조와 인덱스 구조를 어떻게 하느냐에 있게 됩니다

단순히 파일 하나에 저장된 데이터는 별도의 인덱스 구조를 가지지 못하기 때문에 모든 데이터를 읽어들여야 하지만, DBMS를 이용할 경우에는 별도의 인덱스 데이터를 먼저 탐색하여 필요한 데이터만 읽어들입니다

디스크(파일)에 저장된 데이터를 매번 읽어들이는 것과 한번에 메모리에 로딩한 후 처리하는 것과는 엄청난 속도의 차이가 있습니다
당연히 메모리에서 처리하는 것이 훨씬 빠르죠

다만 님의 고민은 데이터의 로딩여부가 문제가 아니라 빠른 탐색을 하기 위해 데이터의 인덱스를 어떻게 구조적으로 설정하느냐로부터 시작되어야 할 것 같습니다

송효진의 이미지

전체 문장을 메모리에 올려두고 하시려는거면,
DBMS 의 temp(heap) 타입으로 하시면 되겠네요.

익명 사용자의 이미지

DBMS가 사용한 검색알고리즘 보다 나은(?) 접근이라면, 당연히, 메모리에 놓고 하는것이 빠르지요.
DBMS는 일반적인 목적을 위해 다소 복잡한 기능이 보다 많이 들어가 있습니다.
특정 목적을 위해 사용한다면, 하나 만들어 쓰는게...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.