sqlite 에서 1억건의 데이터를 저장하고 관리하려면 부담스러운가요?

pogusm의 이미지

1억건의 데이터, 각 row당 100바이트 = 약 10 기가바이트 에 대해
select, delete, insert, update 같은 처리를 할때,

일반 데스크탑이나 스마트폰에서 부담스러운 수준인가요?
1억건 정도되는 데이터를 관리하려면 적어도 mysql 정도는 되어야 하는건가요?

아니면, 1억건의 데이터를 저장할 공간만 있으면, 별로 상관 없는건가요?

ps. 여러 DBMS 에 대해서, 수억건에 대한 각종 처리에 관한 벤치마크 자료도 혹시 있을까요?

snowall의 이미지

스마트폰에서 10GB의 데이터라면 뭐가 되더라도 부담스러워 보이는데요...-_-

피할 수 있을때 즐겨라! http://melotopia.net/b

pogusm의 이미지

그럼, 스마트폰에 10GB의 데이터를 저장할 충분한 공간이 있어도 부담스러울까요?

snowall의 이미지

http://www.sqlite.org/speed.html

벤치마크 자료가 있는데,
The platform used for these tests is a 1.6GHz Athlon with 1GB or memory and an IDE disk drive. The operating system is RedHat Linux 7.2 with a stock kernel.
에서 수행된 자료랍니다.

이걸 보면, 어떤 쿼리든지 대략 수만건에 대해서 수초 걸립니다. 인덱싱 되어 있고, 1억건을 전부 다 한번에 처리해야 하는 상황이 아니라면 그럭저럭 할만 할 수도 있겠죠.

문제는 1억건 분량의 DB를 모두 램에 올려야 하는지 여부와(그럼 10GB이상의 "램"이 필요하죠.) CPU, 램, 저장장치 성능일텐데, 위의 플랫폼이 요즘 스마트폰 정도에 비견된다고 치면, 어떻게 개발하느냐에 따라 달라지겠지만 불가능한건 아니라고 생각됩니다. 하지만 1억건을 전부 접근하는 상황이라면 부담스러움을 넘어갈 것 같네요.

데탑이라면 가능하겠고, 스마트폰이라면 배터리 버너가 되겠죠...

이와 관련해서 질문이 몇개 있네요
http://stackoverflow.com/questions/784173/what-are-the-performance-char
acteristics-of-sqlite-with-very-large-database-file
시스템이 뭔지는 모르겠지만 7GB분량의 내용을 insert하는데 48시간이 되도록 안 끝났답니다.

http://stackoverflow.com/questions/4759907/dealing-with-a-large-database
-in-android
버클리DB를 고려해 보라는 의견도 있습니다

http://stackoverflow.com/questions/1711631/how-do-i-improve-the-performa
nce-of-sqlite
퍼포먼스는 이 글이 참고할만한 것 같아 보입니다.

*링크가 짤려서 다음줄에 이어붙였습니다. 주소창에 이어붙여서 쓰세요.

피할 수 있을때 즐겨라! http://melotopia.net/b

pogusm의 이미지

아주 좋은 참고가 되었습니다.

그리고, 제가 질문을 너무 큰범위로 해버렸네요...

제가 정말 궁금했던 건
1억건의 데이터가 있고,
요청이 있을때마다,
1개(또는 수개)의 row를 select, delete, insert, update 하는것이 얼마만큼이나 부담스러울까 였는데..

snowall 님의 답변을 보고, 또 곰곰히 생각해보니...
1억건의 데이터가 DB에 저장만 되어 있다면...
요청이 있을때마다 1개~수개의 row를 처리하는건 걱정할거리가 아니었던거 같습니다.. ㅠㅠ

snowall의 이미지

그런 경우라면, 미리 인덱싱만 해 둔다면 크게 부담 없어보이네요

피할 수 있을때 즐겨라! http://melotopia.net/b

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.