CS 전공/리뷰2012. 1. 17. 23:06

지난 40년간 마그네틱 디스크는 가장 주요한 저장공간이었다.  대용량 데이터들은 디스크에 기록되고 읽혀졌으며, 상대적으로 용량이 작았던 메인 메모리 때문에 데이터 버퍼링 및 메모리의 효율적 사용이 매우 중요하였다.
때문에 Jim Gray의 5분의 규칙(five-minute rule) 과 같이 데이터 버퍼링 또는 캐싱에 대한  경험적 규칙이 얘기되어 왔다.  실제 디스크에 기반한 DBMS에서도 이 버퍼의 성능이 엄청나게 큰 영향을 미쳐왔다. 
 

5분의 규칙은 1987년, 짐 그레이가 SIGMOD Record에서 언급한 것[각주:1]으로 디스크와 메모리의 접근 시간과 용량을 간단히 수식화하여 약 5분 내 다시 참조될 데이터는 메모리에 올려두는 것이 좋다라고 언급한 것이다.
해당 논문이 쓰여지고 10년뒤 97년에 그레이는 다시 그당시의  저장 계층의 특성에 의해 이 규칙이 어떻게 변화되었는지 다시 소개[각주:2]하였고, 또다시 10년 뒤 2008년에는 고츠 그라페(Goetz Graefe)가 SSD의 출현에 의해 이 규칙이 어떻게 변화되는지를 소개하였다[각주:3].(2007년에 짐 그레이가 실종되서 그는 쓰지 못하였다.)  



디스크는 세월이 지남에 따라 그 저장용량(capacity)은  엄청나게 개선되어 왔다. 하지만, 저장 용량에 비해 접근 지연시간(latency)은 크게 개선되지 못하여 왔다. 아래 표를 보자.
 

 

이 표를 보면 디스크의 용량은 80년대 중반에 30MB인것이 2009년에는 500GB로 약 16,667배정도로 크게 늘어났다. 지금은 데스크탑의 경우 하드디스크의 용량이 1TB는 기본이다.  전송속도 또한 개선되었으나, 저장용량에 비해서는 크게 개선되지 못하였다. 가장 개선이 못된 것은 접근 지연시간이다.  마그네틱 구조의 특성상 회전하는 디스크 위에서 디스크 암이 움직여야 하므로 랜덤 I/O를 위핸 접근 지연시간은 현 HDD 구조에서는 피할 수 없는 특성이다. 그리고, 이것은 크게 개선되지 못하였다. 

따라서 저장용량을 bandwidth로 나누어보면, 용량에 비해 bandwidth 개선이 턱없이 부족함을 보이는 것을 확인할 수 있다.  80년대 중반 15초면 다 읽을 수 있던 것을 지금은 직렬 읽기만 해도 5,000초가 걸리고, 랜덤 읽기인 경우에는 약 58일이라는 엄청난 시간이 요구한다.

이에 따라 연구자들은 기존의 HDD를 대체하기 위해 SSD를 연구해 왔고, SSD는 이제 울트라북을 포함한 여러 PC에 널리 이용되고 있다. 하지만, 데이터센터 스케일에서도 SSD를 적용할 수 있을까? 
 

스탠포드대의 연구자들은 램클라우드라는 프로젝트를 통해 SSD나 디스크보다 이제는 DRAM을 주요 저장공간으로 활용해야 한다고 역설한다.  이들은 인터넷 스케일 서비스의 제공에 있어 HDD를 전혀 이용하지 않고, 수백, 수천대의 노드 컴퓨터들을 연결하여 이들의 메인 메모리들에 모든 데이터를 저장, 관리하는 것을 목표로 한다.

  이러한 목표를 제시한 근거에는 여러가지가 있지만, 우선 위 표를 다시 보면 
 짐 그레이의 5분의 규칙에 따라 5분 이내 재참조될 데이터는 메모리에 올려두었던 것이 이제는 30시간 내에 재참조되는 데이터이라면, 메모리에 올려두는 것이 더 낫다라는 결과를 얻게 되었다는 점이다. 즉, 현재는 가급적이면 모든 데이터를 메모리에 올려두는 것이 효과적이라는 것이다. 사실 이러한 현실은 이전의 Jim Gray의 예측과도 일치한다. 그는 예전에 "Memory becomes disk, disk becomes tape, and tape is dead."라 언급하였다.
 즉, 이제는 메모리를 이전의 디스크가 점유했던 주요 저장소로서 활용하고 디스크는 백업과 아카이빙을 위한 용도로 쓰자는 것이다. 
(사실 테입이 완전히 사라진 것은 아니다. 아직 테입은 여러 데이터 센터에서 데이터 백업의 마지막 보루로 사용되고 있다.) 
 
메모리를 디스크처럼 쓰는 경우 가질 수 있는 많은 장점이 있다. 우선 접근지연시간(latency)가 현격하게 줄어든다. 현재의 데이터 센터를 통한 인터넷 서비스들은 인터넷-스케일이라는 규모가 큰 request들을 처리하는 것을 목적으로 한다. 때문에, 단일 노드로 구성되지 않고 데이터 센터에 많은 노드들을 네트워크로 연결하고 이를 통해 부하를 분산하는 분산 시스템이라는 특징을 가진다. 또한, 웹 서비스와 해당 서비스가 처리/제공하는 데이터가 서로 다른 노드에 위치하는 구조로 인해 접근지연시간이 단일 시스템 구조보다 느리다. 메모리를 디스크처럼 쓰는 경우 이러한 환경에서도 접근지연시간을 마이크로 세컨드 단위로 줄일 수 있다.
SSD를 디스크 대신 쓰는 경우에도 접근지연시간을 크게 줄일 수 있을 것이다. 하지만 저자들은 SSD의 접근지연시간은 디스크에 비해 훨씬 빠르지만, 그렇다하더라도 SSD보다 DRAM의 접근 지연시간 특히 쓰기지연시간이 훨씬 빠르므로 DRAM이 보다 경쟁성이 있다고 저자들은 얘기한다.
아래 그림은 디스크 드라이브, 플래시 메모리오 메모리의 특징을 그림으로 도식화한 것이다.
그림에서 보면 가장 덜 빈번하고, 한번에 요구되는 데이터 량이 큰 경우에는 디스크가 가장 경쟁력이 있고, 작은 크기의 데이터에 대한 매우 빈번한 질의에 대해서는 DRAM이 경쟁력이 있다. 그리고, 이들간의 경계는 시간이 지남에 따라 위쪽으로 이동하는 경향을 보인다. 이러한 경계의 이동은 DRAM의 경쟁력이 갈수록 커짐을 의미한다. 


 낮은 접근지연시간은 또한 온라인 트랜잭션 처리 비용을 줄이는데 큰 도움을 준다. 
예를 들어 일관성을 보장하는데 드는 비용, 즉 특정시간에 동시 수행되는 트랜잭션의 수(overlapping transactions)를 O라고 할 때 이는 새 트랜잭션의 도착비율(arrival rate) R과 각 트랜잭션의 운용기간(duration) D의 곱으로 간략히 표현할 수 있다.   O ~ R*D .
동시 수행되어야  할 트랜잭션의 수가 많을 수록 그만큼 트랜잭션들의 일관성을 보장하기위한 비용은 더 높아질  것이다. 
R 즉 새 트랜잭션의 도착 비율은 시스템의 스케일이 커가면서 계속 커지게 된다.
하지만, D 각 트랜잭션의 운용기간은 접근지연시간이 낮아짐에 따라 크게 개선되며 따라서 동시수행되는 트랜잭션 수를 줄어줄 수 있다. 사실 이러한 아이디어는 이전부터 메모리 상주형 DBMS(memory-resident DBMS 또는 in-memory DBMS)라는 형태로 구현되어 왔다. 하지만, 메모리 상주형 DBMS가 단일 또는 몇개의 노드를 이용하는 것에 국한되었던 것에 비해 램클라우드는 최소 수백대의 노드들의 메모리를 하나의 virtual storage로 보고 여기에 데이터를 저장시킨다는 점이 차이가 있다.

그렇다면 디스크 전체를 메모리로 대체하는 경우 그 비용은 어떨까? 비현실적이지는 않을까?
여기에 저자들이 조사한 간단한 통계정보가 있다.
 


2009년 당시 Amazon과 UA에서의 데이터량과 그당시의 메모리 가격을 가지고 해당 데이터를 모두 메모리에 얹기 위해서 소요되는 비용을 계산해 보았더니, Amazon의 경우 적게는 2.4만불에서 24만불 정도가 소요될 거라 한다. UA의 데이터는 그보다 더 작을 것이라 한다. 
즉, 메모리는 HDD나 SSD에 비해 빠를 뿐더러 I/O집중인 작업에 보다 싸면서 효과적일 수 있다는 것이다.

그렇다면 메모리 캐싱하고 이 램클라우드하고는 어떻게 틀린가? 인터넷 규모의 서비스를 제공하는 ISP들은 Memcached와 같은 분산 메모리 캐싱을 지원을 한다.  2009년 페이스북은 약 4,000개의 MySQL 서버를 이용해서 데이터 요청을 분산하였다 한다. 작업부하의 분산은 페이스북 자체의 코드로 이루어졌다고 한다. 그러다 이또한 바로 한계에 봉착해서 2,000개의 memcached 를 투입하였다고 한다. 
사실 램클라우드는 인터넷 규모의 서비스 제공에 있어 확장성(scalability)을 제공하기 위해 분산 메모리 구조를 지원한다는 점이서는 memcached와 같은 기존 분산 캐싱 기술들과 크게 유사해 보인다. 차이점은 램클라우드는 캐싱이 아닌 아예 데이터를 통채로 메모리에 올리겠다는 것이다. 페이스북 사례와 같은 경우에는 캐쉬된 데이터와 MySQL에 저장된 실 데이터 간의 불일치에 따른 일관성 유지에 따른 관리의 복잡성이 대두될 수 있다. 또한, 데이터가 캐슁되지 않은 경우에는 결국에는 디스크 접근을 필요로 한다. 데이터 접근의 분데이터가 메모리에 캐싱되어 있다면 메모리 접근지연시간을 보장할 수있지만 만약 해당 데이터가 메모리에 캐싱되어 있지 않으면, 디스크에 접근을 하면서 그만큼 접근지연시간이 늦어질 것이라는 점 때문이다.  

단일 사이트에서 동작하도록 설계된 DBMS의 제한된 확장성의 문제는 여러 곳에서 이미 지적된 바 있다. 이러한 문제를 해결하기 위한 현재의대표적인 기술은 NoSQL이라 볼 수 있다. 하지만 NoSQL은 확장성을 위해 기존의 DBMS가 가졌던 주요한 기능, 관계형 모델 대신 단순한 key-value model과 제한된 일관성 지원 정책 등의 한계를 또한 갖는다. 그리고 이들 또한 대부분 디스크에 기반한 저장소를 기준으로 설계되어 있으며, 관계형 DBMS만큼 범용적이지도, 호환적이지도 않다라고 저자들은 언급한다.

RAMCloud는 이러한 문제들을 해결하면서, 보다 큰 확장성과, 더짧은 접근지연시간을 제공하는 범용의 저장 시스템을 제공하기 위해 고안되었다. 

하지만, 이렇게 모든 데이터를 메모리에 올려놓았을때 문제점은 메모리 자체의 휘발성에 따라 장애 시 데이터가 유실될 수 있다는 점이다. 이에 대한 해결책은 크게 다른 데이터 노드에의 메모리에 데이터를 복제해 두거나 디스크에의 로깅을 생각해 볼 수 있다.

데이터들을 복제해서 모두 메모리에 두는 방식은 synchronous I/O를 가지고도 고성능을 보장할 수 있는 장점이 있지만, 상대적으로 비싼 DRAM이라는 저장장치의 공간을 크게 낭비하게 된다.
반대로, 데이터의 복제나 로그를 디스크에 위치시키는 것은 디스크의 접근지연시간에 따른 비효율성을 피할 수 없다. 때문에 이들은 메모리에의 로그 복제와, 메모리에서 디스크로의 비동기적인 data flushing을 통해 이 문제를 해결하려고 하고 있다.

아래 그림은 초기에 저자들이 생각하는 내고장성을 지원하기 위한 방법을 도식화한것이다. 

데이터에 대한 쓰기 연산은 마스터 노드의 메모리 상에서 바로 처리하고, 그에 따른 로그 엔트리들은 다른 노드들의 메모리에 임시적으로 위치시킨다. 그리고, 비동기적으로 각 노드의 메모리에 저장된 로그 데이터를 디스크에 기록한다.  


하지만, 아직 어떠한 방식으로 장애에 대한 내고장성을 지원하는지에 대해서는 구체적으로 연구결과를 내놓았다고 보기 어렵다. 아직까지는 이 연구는 실제 적용된 시스템이라기 보다는 일종의 비전에 가깝다. 하지만, 기술의 트렌드는 저자들이 생각하는데로 변화해 나갈것이라 생각된다.

RamCloud에 대한 간단한 소개와 그들의 프로젝트 홈페이지는 아래와 같다.

written by bart7449

  1. The 5 minute rule for trading memory for disc accesses and the 10 byte rule for trading memory for CPU time, ACM SIGMOD Record, 1987 [본문으로]
  2. The five-minute rule ten years later, and other computer storage rules of thumb, ACM SIGMOD Record, 1997 [본문으로]
  3. The five-minute rule 20 years later (and how flash memory changes the rules), ACM Queue, 2008 [본문으로]
Posted by Bart
CS 전공/리뷰2010. 10. 11. 10:54
지난 주 금요일에 있은 seminar에 Stefan Tai  박사가 오셔서 Cloud Service Engineering이라는 제목으로 약 90분간 발표. Host인 송준화 박사님의 말에 따르면, 가장 성공한 한인 2세대 중 한 명일 것이라고. 태씨라고..독일에서 태어나 미국의 대학을 거쳐 IBM Watson 에서 연구원으로 있다가 지금은 독일의 Karlsruhe Institute of Technology(KIT)에 교수로 초빙받아 가 계신다고.

Seminar는 technical depth가 깊지는 않은, 좀 개념적이고 비즈니스 쪽 얘기도 좀 있었지만 갈무리할만 내용들(특히 정의 관련하여) 이 있어서 정리를 해보자면,
  • Cloud services are infinite IT(compute, storage) resources.
    • available when needed
    • Ubiquitously accessible
    • offered in an open market of competitive service providers
    • cost-efficient ( if not free)

Cloud computing

  • Cloud computing is a business model, and a distributed computing model
    • building compute or storage virtualization, cloud computing provides scalable, network-centric, abstracted IT infrastructure, platform, and applications as on-demand services that are billed by consumption.
  • Three main objectives
    • Enterprise-grade system management
      • Under-utilized: waste computing power & energy
      • Over-utilized: cause interruption or degradation of service levels
    • Internet-scale service computing
      • Services, Internet-scale
      • Sophisticated infrastructure, platform& applications available as modular services
      • The Web as a combined computing, business and collaboration platform
    • Understanding business opportunities
      • Faster time-to-market & cost-effective innovation processes
      • Dynamic, open business, networks
  • Cloud Service Engineering-> business engineering + software engineering
  • "A service is a means of delivering value to customers by facilitating outcomes customers want to achieve without the ownership of specific costs and risks" - ITIL Handbook Service Definition

그리고, 현재 KIT에서 IBM과 같이 수행하고 있는 두 과제를 소개하였는데..

1) Recovery Cloud
 기본 개념은 재해에 대비한 데이터 복제를 cloud 기반으로 하자는 것인데, Tai 박사는 이를 Recovery-as-a-service, Business continuity services 등으로 설명. 결국엔 replica를 cloud platform위에 올리자는 얘기인데 이때의 ownership이나 보안 문제는 어떻게 해결할 것인가 의구심이 좀 든다. recovery가 필요한 기업의 운영 데이터를 클라우드 제공자에게 맡긴다라.

2) Cloud meta-storage
이것은 여러 다양한 클라우드 기반 저장소들(BigTable, HDFS, Dynamo 등)을 대상으로 공통된 abstraction을 제공하는 시스템의 개발을 목적으로 하는데, 쓰여져 있는 바로는

"For purposes of provider independence & scalability (data volume & concurrent users), 
store data with diverse cloud storage service providers on multiple replicas" 
-> High-available, single storage provider architectures to a service value network of multiple storage service providers"

이를 위한 설계 원리는
  • Implement a simple key-value storage model, following the REST architectural style
  • Trade-off "C" for "A" (cf. CAP theorem)
  • Consider failures/outages to be the norm, not the exception)
    • Quorum-based system with hinted handoff
  • Use asynchronous message within the system
  • Use custom levels of security (authentication, additional encryption, file transfer via https)
  • Elevate concept from storage solution like Amazon Dynamo, GFS, Yahoo! PNUTS to a cloud storage SVN(Service Value Network)
와 같이 기술. 사실 기술적 특성은 Amazon의 Dynamo와 유사한듯 싶고, Mediator-Wrapper 형태의 상위 시스템을 만든다라고 봐야할까.. 






Posted by Bart
CS 전공/책, 자료들2009. 9. 12. 09:30
이번에 모 단체에 DB 관련 기술들에 대한 소개나 기술 동향, summary 논문등을 소개하고, 이를 검토하는 일을 맡았다.
 많고 많은 연구 논문들 중에서 너무 깊게 들어가지는 않으면서 그렇다고 너무 가볍지도 않게, 동종 분야의 연구자들이 쉽게 연구동향을 파악하기 좋도록 논문들을 선별해야 하는데 한달에 1건씩 제안할 수 있다니 1년에 12건 정도를 제안할 수 있겠다.

아래는 현재까지 정리해본 리스트:

1. Database Optimizations for Modern Hardware, Proceedings of IEEE, Vol 96(5), May 2008 pp.863-878
2. Breaking the memory wall in MonetDB, Communiactions of ACM, 12/08, pp.77-85
3. Data Management in the Cloud: Limitations and Opportunities, Data Engineering Bulleting, March 2009, Vol. 32, No.1, pp.3-13
4. Integrating NAND Flash Devices onto Servers, Communications of ACM, 04/09, pp.98-106
5. A Comparison of Approaches to large-Scale Data Analysis, In Proceedings of SIGMOD'09 June 09 
   & HadoopDB, In Proceedings of VLDB'09
6. A Survey of Uncertain Data Algorithms and Applications, IEEE TKDE Vol. 21, No.5, 609-623,  May 2009
7. Hard Disk Drives: The Good, The Bad and The Ugly, Communications of ACM,06-09, pp 38-45
8. The Claremont Report on Database Research Communications of ACM 06/09, pages. 56-65.
   SIGMOD Record March 2009
9. The Five-Minute Rule 20 Years Later (and How Flash memory Changes the Rules), Communications of ACM 07/09 pp. 48-59
10. Probabilistic Databases: Diamonds in the Dirt, Communications of ACM 07/09, pp. 86-95
11. The Pathologies of BIg Data, Communications of ACM 08/09, pp. 36-44

위 리스트는 확정된 것이 아니고, 상황에 따라 유동적이다.
다른쪽 세부분야의 논문들도 보면 좋겠는데, 지식의 한계로 본인이 그나마 먼지나 알고 있는 분야에서 논문들이 추려지는 느낌이다.  또 최근에 출간된 논문 내에서만 추려야 하다보니, 예전부터 사람들이 지긋이 파고 있는 분야는 넣기도 또 애매한 면이 있다.

혹, 다른 DB 업자들이 봐두면 좋을 것 같은 최근의(2009년 이후 출간된) introductory또는 survey paper를 가지고 계시다면, 추천해 주세요. 

Posted by Bart
CS 전공/학회와 정보2009. 7. 11. 02:31
흔히들 DB공부한다고 하면, Oracle, MySQL 다루는거 배우는 걸로 생각한다.
사실은 DB Internal이나, 또는 데이터의 관리/처리를 효율적으로 하기 위한 여러 기법들을 고안/개발하는 일인데 말이다.
실제 업계에서는 알고리즘 개발보다는 설치/응용 개발이 대부분이라 그렇겠지만 말이다.

어쨌든 DB쪽 특히 연구쪽 내용들과 산업계쪽 소식을 전하는 중요한 블로그들이 있어 갈무리 해본다.
RSS Feed를 받아서 읽어보면 유용할 듯.

이외에 *좋은 블로그*들 있으면 알려주세요. 공유합시다.

  1. DBMS2 blog: http://www.dbms2.com/ -Curt Monash라는 analyst가 운영하는 블로그. DB에 관한 산업계 전반의 최근 소식들을 소개하고, 그 이슈들을 중심으로 다루는 블로그, 매일매일 올라오는 feed들을 보면, 정말 열심히 소식들 갈무리 하여 올린다는 것을 알 수 있다.
  2. The Database Column : http://databasecolumn.vertica.com/- Vertica라고 Column-based DBMS를 판매하는 회사에서 운영하는 블로그인데, 여기 참여하는 대학 교수들이 M. Stonebraker, D. DeWitt등 모두 학계에서도 쟁쟁한 사람들이다(E.F.Codd Award 수상자들). 자기네 회사와 연관되어 있어서 그런지 다루는 주제가 약간은 편향(?) 되어 있기도 하지만, 어쨌든 Column store DBMS나 OLAP, Cloud computing 관련하여 업자들이 보기에 좋은 내용들이 많다.
  3. Google Research blog. http://googleresearch.blogspot.com/- Google의 researcher들이 자신이 개발하는 시스템이나, 논문을 요약해서 올리는 블로그, 업자들도 봐둬야할 내용들이 많다. 이런 회사에 가 있는 researcher들은 정말 학계에서도 많은 좋은 논문을 내고 들어간 사람들이 대부분이라(UW의 Alon Halevy같이 교수로 일하다가 가는 사람들도 많고...), 학술적인 가치가 상당한 내용들이다. 논문만큼 어렵게 쓰지는 않아서 보기도 수월.
  4. Stanford InfoLab blog: http://infoblog.stanford.edu/ - DB 쪽 관련하여 언제나 UC Berkeley 등과 함께 최고의 랩으로 불리는 Infolab의 구성원들이 꾸미는 블로그. 아쉬운 점은 글이 아주 드문드문 올라온다는 것.
  5. Data Beta: http://databeta.wordpress.com/ - UC Berkeley의 Hellerstein 교수의 기술 블로그. 이 분도 이 바닥에서 아주 유명한 학자이다.

  6. * 아래는 블로그가 아닌 RSSfeed를 이용한 학계 소식 전달로 보면 된다*
  7. Communications of ACMhttp://cacm.acm.org/magazine.rss- ACM에서 발행하는 일종의 학회지이다. CS 분야의 전반적인 이슈와 트렌드에 대한 아주 좋은 참고자료가 된다.
    (회원이 아닌 일반에게도 전문 보기가 열려 있는 듯 하다.)
  8. ACM Queue: http://queue.acm.org/ - ACM에서 발행하는 기술잡지 Queue의 최근호의 cover story를 RSS feed로 제공해준다. 
  9. ACM SIGMOD: http://www.sigmod.org/ :ACM SIGMOD의 소식만 RSS feed 전달해준다. 오직 소식만...
  10. IEEE Internet Computing : http://www2.computer.org/portal/web/internet - IEEE에서 펴내는 인터넷 기술 잡지의 최근호에 대한 RSS feed 제공 (전문을 보기 위해서는 개인, 또는 기관회원이어야 한다)
  11. IEEE TKDE : http://www2.computer.org/portal/web/tkde - IEEE TKDE journal의 최근호 목차와 요약 제공(전문을 보기 위해서는 개인, 또는 기관회원이어야 한다)
Posted by Bart
CS 전공/책, 자료들2008. 3. 25. 17:41

Readings in Database Systems, Third Edition

Edited by

Michael Stonebraker
University of California, Berkeley

Joseph M. Hellerstein
University of California, Berkeley

CHAPTER 1 The Roots

A Relational Model of Data for Large Shared Data Banks, CACM 13(6) 1970
Edgar F. Codd
System R: Relational Approach to Database Management, TODS 1(2) 1976
Morton M. Astrahan, Mike W. Blasgen, Donald D. Chamberlin, Kapali P. Eswaran, Jim Gray,
Patricia P. Griffiths, W. Frank King III, Raymond A. Lorie, Paul R. McJones, James W. Mehl,
Gianfranco R. Putzolu, Irving L. Traiger, Bradford W. Wade, and Vera Watson
The Design and Implementation of INGRES, TODS 1(3) 1976
Michael Stonebraker, Eugene Wong, Peter Kreps, and Gerald Held
A History and Evaluation of System R, CACM 24(10) 1981
Donald D. Chamberlin, Morton M. Astrahan, Mike W. Blasgen, Jim Gray, W. Frank King III,
Bruce G. Lindsay, Raymond A. Lorie, James W. Mehl, Thomas G. Price, Gianfranco R. Putzolu,
Patricia G. Selinger, Mario Schkolnick, Donald R. Slutz, Irving L. Traiger, Bradford W. Wade,
and Robert A. Yost
Retrospection on a Database System, TODS 5(2) 1980
Michael Stonebraker

CHAPTER 2 Relational Implementation Techniques

Operating System Support for Database Management, Database Engineering Bulletin 9(3) 1986
Michael Stonebraker
R-Trees: A Dynamic Index Structure for Spacial Searching, SIGMOD 1984
Antonin Guttman
Generalized Search Trees for Database Systems, VLDB 1995
Joseph M. Hellerstein, Jeffrey F. Naughton, and Avi Pfeffer
An Evaluation of Buffer Management Strategies for Relational Database Systems, Algorithmica 1(3) 1986
Hong-Tai Chou and David J. DeWitt
Join Processing in Database Systems with Large Main Memories, TODS 11(3) 1986
Leonard D. Shapiro
Access Path Selection in a Relational Database Management System, SIGMOD 1979
Patricia G. Selinger, Morton M. Astrahan, Donald D. Chamberlin, Raymond A. Lorie, and Thomas G. Price
Query Rewrite Optimization Rules in IBM DB2 Universal Database
T. Y. C. Leung, H. Pirahesh, P. Seshadri, and J. Hellerstein

CHAPTER 3 Transaction Management

Granularity of Locks and Degrees of Consistency in a Shared Data Base, IFIP Working Conference on Modelling in Data Base Management Systems 1976
Jim Gray, Raymond A. Lorie, Gianfranco R. Putzolu, and Irving L. Traiger
On Optimistic Methods for Concurrency Control, TODS 6(2) 1981
H. T. Kung and John T. Robinson
Concurrency Control Performance Modeling: Alternatives and Implications, TODS 12(4) 1987
Rakesh Agrawal, Michael J. Carey, and Miron Livny
Efficient Locking for Concurrent Operations on B-Trees, TODS 6(4) 1981
Philip L. Lehman and S. Bing Yao
Principles of Transaction-Oriented Database Recovery, ACM Computing Surveys 15(4) 1983
Theo Härder, Andreas Reuter
ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging, TODS 17(1) 1992
C. Mohan, Donald J. Haderle, Bruce G. Lindsay, Hamid Pirahesh, and Peter M. Schwarz
The Design of a POSTGRES Storage System, VLDB 1987
Michael Stonebraker
The ConTract Model, Database Transaction Models for Advanced Applications 1992
Helmut Wachter and Andreas Reuter

CHAPTER 4 Distributed Database System

R*: An Overview of the Archtecture, JCDKB 1982
R. Williams, Dean Daniels, Laura M. Haas, George Lapis, Bruce G. Lindsay,
Pui Ng, Ron Obermarck, Patricia G. Selinger, Adrian Walker, Paul F. Wilms,
and Robert A. Yost
R* Optimizer Validation and Performance Evaluation for Distributed Queries, VLDB 1986
Lothar F. Mackert and Guy M. Lohman
Transaction Management in the R* Distributed Database Management System, TODS 11(4) 1986
C. Mohan, Bruce G. Lindsay, and Ron Obermarck
The Dangers of Replication and a Solution, SIGMOD 1996
Jim Gray, Pat Helland, Patrick E. O'Neil, and Dennis Shasha
Mariposa: A Wide-Area Distributed Database System, VLDB Journal 5(1) 1996
Michael Stonebraker, Paul M. Aoki, Witold Litwin, Avi Pfeffer, Adam Sah,
Jeff Sidell, Carl Staelin, and Andrew Yu

CHAPTER 5 Parallel Database System

Parallel Database Systems: The Future of High Performance Database Systems, CACM 35(6) 1992
David J. DeWitt and Jim Gray
The Gamma Database Machine Project, TKDE 2(1) 1990
David J. DeWitt, Shahram Ghandeharizadeh, Donovan A. Schneider, Allan Bricker, Hui-I Hsiao,
and Rick Rasmussen
AlphaSort: A Cache-Sensitive Parallel External Sort, VLDB Journal 4(4) 1995
Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray, and David B. Lomet
Coloring Away Communication in Parallel Query Optimization, VLDB 1995
Waqar Hasan and Rajeev Motwani

CHAPTER 6 Objects in Databases

The ObjectStore Database System, CACM 34(10) 1991
Charles Lamb, Gordon Landis, Jack A. Orenstein, and Danel Weinreb
QuickStore: A High Performance Mapped Object Store, SIGMOD 1994
Seth J. White and David J. DeWitt
Client-Server Caching Revisited, IWDOM 1992 (SIGMOD 1991)
Michael J. Franklin and Michael J. Carey
The Database Language GEM, SIGMOD 1983
Carlo Zaniolo
Inclusion of New Types in Relational Data Base System, ICDE 1986
Michael Stonebraker
The POSTGRES Next-Generation Database Management System, CACM 34(10) 1991
Michael Stonebraker and Greg Kemnitz

CHAPTER 7 Data Analysis and Decision Support

Improved Query Performance with Variant Indexes, SIGMOD 1997
Patrick E. O'Neil and Dallan Quass
Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals, Data Mining and Knowledge Discovery 1(1) 1997 (ICDE 1996)
Jim Gray, Surajit Chaudhuri, Adam Bosworth, Andrew Layman, Don Reichart,
Murali Venkatrao, Frank Pellow, and Hamid Pirahesh
An Array-Based Algorithm for Simultaneous Multidimensional Aggregates, SIGMOD 1997
Yihong Zhao, Prasad Deshpande, and Jeffrey F. Naughton
Fast Algorithms for Mining Association Rules in Large Databases, VLDB 1994
Rakesh Agrawal and Ramakrishnan Srikant
Online Aggregation, SIGMOD 1997
Joseph M. Hellerstein, Peter J. Haas, and Helen J. Wang

CHAPTER 8 Benchmarking Database Systems

A Measure of Transaction Processing Power
Anon et al.
The OO7 Benchmark, SIGMOD 1993
Michael J. Carey, David J. DeWitt, and Jeffrey F. Naughton
The Sequoia 2000 Storage Benchmark, SIGMOD 1993
Michael Stonebraker, James Frew, Kenn Gardels, and Jeff Meredith

CHAPTER 9 Vision Statements

Database Metatheory: Asking and Big Queries, PODS 1995
Christos H. Papadimitriou
Database Systems: Achievements and Opportunities, CACM 34(10) 1991
Abraham Silberschatz, Michael Stonebraker, and Jeffrey D. Ullman
Strategic Directions in Database Systems - Breaking Out of the Box, ACM Computing Surveys 28(4) 1996
Abraham Silberschatz and Stanley B. Zdonik

'CS 전공 > 책, 자료들' 카테고리의 다른 글

Introductory or Survey Papers  (0) 2009.09.12
Handbook of Technical Writing  (3) 2008.09.06
Readings in Information Retrieval  (0) 2008.03.25
Jennifer Widom 강의 자료  (0) 2008.02.22
웹 2.0 시대의 기회 시맨틱 웹  (0) 2007.11.12
Posted by Bart