xml db?

hun98의 이미지

java app 입장에서 xml db가 일반 db와 어떻게 틀린가요?

일반적으로 java app 에서 db에 쓰고 읽고, 수정하는 작업을
jdbc라는걸로.. DB의 종류에 관계없이 sql로 처리 할수 있는데..
(표준sql만 썼다면)

1. xml db는 db에 읽고, 쓰고, 수정하는 작업을 어떤 방식으로 하죠?
이것도 jdbc를 제공하나요? 아니면 xml db에 따라 다른가요?
2. xml db도 테이블 생성하고.. 뭐 이런 작업은 동일한지요..
3. 프로시져니 펑션이니.. 인덱스니 이런것은 존재하는지요..

마지막으로
그리고 eXcelon이라는 xml db가 있던데..
이건 어떤가요?

펑키의 이미지

Quote:
java app 입장에서 xml db가 일반 db와 어떻게 틀린가요?

java app뿐만 아니라 일반 APP에서도 XML DB와 일반 DB와 그리 커다란 차이는 없을겁니다. 다만 일반 SQL DB에 XML 엔진이 덧붙여졌다고 생각하시면 쉬울것입니다. 요즈음에 출시되는 대부분의 SQL SERVER들은 XML 엔진들을 포함하고 있습니다.

DB의 구조를 보시면 이것이 왜 XML로 손쉽게 전환이 가능한지를 생각하시면 됩니다. 예를 들면

SALES 라는 테이블이 존재하고

A B C 라는 필드에
1 2 3 이라는 값이 있다고 하면
4 5 6
이것을 XML로 간단히 표현하면

<?XML 어쩌구>
....
<SALES>
   <ROW = "1">
       <A>1</A>
       <B>2</B>
       <C>3</C>
   </ROW>
   <ROW = "2">
       <A>4</A>
       <B>5</B>
       <C>6</C>
   </ROW>
</SALES>

이렇게 가능할겁니다. 즉, 데이터의 XML전환이 손쉽게 되는데 SQL 서버에서 이러한 기능들(실제들은 이보다 훨씬 다양하고 방대할겁니다)을 지원하게 되는것입니다. 다만 XML자체가 DB 형식을 지원하는 XML DB는 잘 모르겠습니다. 대부분 SQL 서버에 XML을 부가적으로 지원하는 정도만....

Quote:
1. xml db는 db에 읽고, 쓰고, 수정하는 작업을 어떤 방식으로 하죠?
이것도 jdbc를 제공하나요? 아니면 xml db에 따라 다른가요?

기본의 방식과 동일하다고 생각하시면 됩니다. 다만 XML에 따른 처리만 조금 다르게 해주시면 됩니다.

Quote:
2. xml db도 테이블 생성하고.. 뭐 이런 작업은 동일한지요..

네에 똑같습니다.

Quote:
3. 프로시져니 펑션이니.. 인덱스니 이런것은 존재하는지요..

동일

Quote:
마지막으로
그리고 eXcelon이라는 xml db가 있던데..
이건 어떤가요?

제가 그거 한번 찾아 보았는데 별다른것을 모르겠습니다. 그냥 요즈음 출시되는 일반 SQL 서버와 특별히 다른것은 못느꼈습니다.

즐거운 하루 되세요.

netj의 이미지

hun98 wrote:

1. xml db는 db에 읽고, 쓰고, 수정하는 작업을 어떤 방식으로 하죠?
이것도 jdbc를 제공하나요? 아니면 xml db에 따라 다른가요?
2. xml db도 테이블 생성하고.. 뭐 이런 작업은 동일한지요..
3. 프로시져니 펑션이니.. 인덱스니 이런것은 존재하는지요..

XML DB를 제대로 사용해보지는 않아 자세히는 모르지만, XML 문서를 다루는 질의 언어라 해서 XQuery(내지는 XQL)이 있습니다. 현재 w3.org에서 표준화가 얼마나 진행되었는지는 잘 모르겠지만, 아마도 결국에는 SQL이 일반 DB에서의 SQL 같은 위치즈음이 되지 않을까 싶군요.

xml db에서도 일반적 관계형 db들처럼 테이블 세상 위에서 놀아야하는 것은 아니라고 생각됩니다. 단순히 관계형 db의 자료들을 xml로 받아오고 집어넣고 하는 것도 xml db라고 할 수도 있겠지만, 관계 모델에 너무 빠져있는 시각이 아닐까 싶습니다. 물론 관계형 db를 이용해서 xml db를 구현할 수도 있겠지만, 관계 모델에 속하지 않는 semi-structured data 모델만의 특성이 있을테니 원래의 관계형 db와는 사뭇 다른 모습이 될 것 같습니다.

댓글 달기

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