왜 모니위키는 DB 를 사용하지 않나요?

sugarlessgirl의 이미지

안녕하세요..
요즘 wiki 에 대해 궁금한 점이 많습니다.-_-;

kldp 에서 쓰는 모니위키뿐만이 아니라 제가 본 위키들은 전부 다
문서를 파일시스템을 사용해서 관리하는데요..

위키가 DB 를 사용하지 않는 개념적이라던가 구현상의 특별한 이유가 있나요?

답변부탁드립니다.
좋은하루되세요

랜덤여신의 이미지

호환성 증진을 위해서입니다.

DB 가 불가능한 상황에서도 쓰기 위한...

chaeso의 이미지

꼭 DB 를 써야할 이유가 있는지 궁금 합니다.
파일 처리 부분만 매우 빠르게 한다면야.. DB 보다 더 빠를거 같네요(DB 막 배우는 단계라 불확실^^;)
백업하기도 매우 편리하고..
그리고 모니위키 말고도 다른 위키에다가 복사도 가능하다고 들었어요

nohmad의 이미지

거꾸로 DB를 쓰는 다른 웹어플리케이션들에 대해 "왜 DB를 사용하십니까?"라고 묻는 건 어떨까요? :)

BBS는 기본적으로 다양한 방식의 정렬과 추출을 위해 여러 토큰(필드)들로 이루어진 레코드라고 하는 복잡한 자료형을 유지/통제할 필요가 있습니다. 시간순으로 정렬해야 하고, 목록이 한 번에 볼 수 없을 정도로 길어지면 끊어서 보여주어야 하고, 제목, 날짜, 작성자 등 여러 항목에 대해 검색할 수 있도록 해야 하고 등등. 각각의 토큰들이 의미를 가지도록 하기 위해서는 이 단위를 조직하기 위한 또다른 데이터, 메타데이터라고 할 수 있는 시퀀스의 역할이 중요해집니다. 데이터베이스 이론에서는 각 레코드를 identify해주는 '키' 개념에 해당한다고 할 수도 있겠습니다.

위키위키에서는 위키네임(==페이지명)이 이 정보 시스템을 조직하는 기본 단위입니다. 위키위키에서는 이 유니크한 위키네임을 통해 (암시적으로) 데이터들 사이에 연결이 형성됩니다. 모든 것은 위키네임을 사용하기로 마음먹은 사용자들에 의해 만들어지는 것이고, 기능적으론 매우 단순하다고 할 수 있습니다. 그런데 오히려 이러한 기능적 단순함이 확장에 열려져 있어, 다양한 부가기능을 추가하는 것을 가능하게 해주면서, 모니위키까지 오게 되었다고 할 수 있습니다.

[url=http://no-smok.net/nsmk/저자동고유연성]'저자동고유연성'[/url]이란 개념은 이러한 현상의 맥을 잘 짚어서 설명한 개념입니다.

랜덤여신의 이미지

그런데 파일시스템을 사용하면...

DB 에 비해 검색 등의 동작이 느리지 않나요?

yundream의 이미지

별도의 db환경을 구축할 필요가 없고..
파일복구도 편하고.. 변경된 히스토리가 남길 수 있고.
(파일시스템의 특징이라기 보다는.. 대부분의 위키가 가지는 기능적인 특징이지만, DB로는 구현하기가 좀 그렇죠)
검색에 있어서 좀 느릴 수도 있는데, 위키의 특성상 빠른시간에 대규모의 데이터가 쌓이는 일이 별로 없구요. 그러다 보니 검색의 속도가 아주 중요해지는 그런 경우는 없습니다.
검색은 구글같은 검색엔진에 맡기는 방법도 있구요.

feanor의 이미지

검색은 DB 자체의 기능이라기보다는 DB에서 Full text indexing을 지원하는 것 아닌가요? glimpse 같은 DB와 무관한 인덱싱 엔진도 있습니다. 아마도 이런 것을 위키에 붙이면 전체 검색도 빨라지리라 생각합니다.

--feanor

advanced의 이미지

barosl wrote:
그런데 파일시스템을 사용하면...

DB 에 비해 검색 등의 동작이 느리지 않나요?

파일 시스템을 사용해도 느리지 않습니다.

페이지의 변화등의 log 를 기록해야 하는데

현재는 CVS , 예전엔 RCS 를 사용했었죠

그런데 DB 를 사용하면 이런 데이터를 이중으로 부담해야 하는 요인도

있구요

여담입니다만 예전에 DB 시스템을 활용하게끔 하는 코드가 개발 중간에

들어간적도 있었으나 다른 기타 이유로 보류되었습니다

정태영의 이미지

feanor wrote:
검색은 DB 자체의 기능이라기보다는 DB에서 Full text indexing을 지원하는 것 아닌가요? glimpse 같은 DB와 무관한 인덱싱 엔진도 있습니다. 아마도 이런 것을 위키에 붙이면 전체 검색도 빨라지리라 생각합니다.

--feanor

full text indexing 은 한글관련해서는 대부분 기본으로 지원이 안될걸요 ;)
(디비에서 얘기입니다..)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

juneaftn의 이미지

현재 주류인 RDB에는 적합한 정보 구조가 있습니다. 소위 structured and relational information이 그것입니다.

위키의 자료는 textual/unstructured(혹은 semi-structured)가 많습니다.

대부분의 검색엔진(구글 등)에서도 실제 텍스트 자료는 RDB에 저장하지 않는 것으로 알고 있습니다.

댓글 달기

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