본문 바로가기

데이터베이스(DA, AA, TA)/대용량DB

(11)
[대용량DB] Sharding & Query Off Loading 출처: http://bcho.tistory.com/670 RDBMS는 크게 request 바로 처리하는 트랜잭션 처리용의 OLTP(On-Line Transaction Processing)성과, 데이터를 모아서 분석하고 리포팅하는 OLAP(On-Line Analytical Processing) 두가지로 분리됩니다. 여기서 설명하는 RDBMS는 OLTP성의 데이터베이스입니다. RDBMS는 2차원 테이블 구조의 데이터를 KEY 값을 중심으로 여러개의 컬럼으로 저장되며, 저장된 각각의 로우(행)은 다른 테이블의 로우와 관계를 가질 수 있습니다. RDBMS를 이요한 설계를 하는데, 고려할만한 아키텍쳐는 성능향상을 위한 Query Off Loading과, Sharding이라는 기법이 있습니다. Query Off L..
[대용량DB] Memory vs Disk I/O I/O 효율화 튜닝의 중요성 - 디스크를 경유한 입출력은 메모리를 통한 입출력보다 평균적으로 10,000배 이상 느립니다. - 데이터베이스는 하나의 파일 시스템입니다. SQL을 이용하여 데이터 파일에 데이터를 저장하고 출력시 DB 버퍼 캐쉬에 데이터가 없을 경우 디스크를 통하여 데이터를 버퍼 캐쉬에 저장한 후 결과를 줍니다. - 물리적 디스크 I/O가 필요할 경우 서버 프로세스가 디스크에서 원하는 블록을 가져오고, 같은 데이터를 원할 경우 경합이 발생하여 대기 시간이 길어집니다. - 모든 자료를 메모리에 저장하여 사용하면 좋지만 비용과 기술적 측면에서 한계가 있습니다. 시중에는 메모리 데이터베이스가 사용되지만 극히 빠른 액세스가 제한되는 업무 영업에 국한되어 사용되어지고 있습니다. - 유한한 메모리 자원..
[RDBMS] 파티셔닝 http://wiki.gurubee.net/pages/viewpage.action?pageId=3899999 http://www.zdnet.co.kr/news/news_view.asp?artice_id=00000039137247 ^^
[RDBMS] 성능향상을 위한 SQL 작성법 DBMS는 저장되어 있는 데이터를 효율적으로 검색할 수 있게 인덱스를 사용합니다. 웹 애플리케이션의 백엔드 성능을 높이려고 종종 실행하는 SQL 튜닝이란, SQL이 DBMS의 인덱스를 활용하도록 SQL을 수정하는 것이라고 할 수 있습니다. 그러니 인덱스를 잘 이해하고 있다면 더 좋은 SQL을 작성할 수 있을 것이고, 훨씬 더 성능 좋은 애플리케이션을 만들 수 있을 것입니다. 이 글에서는 CUBRID 2008 R4.0에 적용된 다양한 인덱스 기법을 중심으로 인덱스 구조와 인덱스 활용 기법을 설명하겠습니다. MySQL이나 MS-SQL, 오라클 등 다른 DBMS도 이 글에서 설명하는 기법과 같거나 유사한 인덱스 기법을 사용하고 있기 때문에 CUBRID를 사용하지 않더라도 자신이 사용하는 DBMS 인덱스를 이해..
[대용량DB] 데이터 테이블의 종류 및 특성 본 포스팅은 학습 용도로 작성되었습니다. 원본 출처는 http://blog.daum.net/hadmond/7 입니다. DW 시스템 구축시, 구축 대상이 되는 업무계(기간계)시스템의 테이블(table) 종류와 그 특성을 올바로 파악하고 대응하는 것이 중요합니다. 왜 중요한지는 차차 설명이 될것이며, 우선 원천 테이블의 종류와 그 특성에 대해 살펴보겠습니다. 여기서 테이블 종류는 관계형 데이터베이스 이론에 근거한 분류이거나 또는 관련 데이터베이스 솔루션(oracle, sysbase, tibero 등)에서의 테이블 종류가 아닌 업무적 관점에서의 테이블 종류를 말하는 것입니다. 업무관점의 데이터 테이블 종류 1. 원장성 테이블(Master Table) 1) 구성형태업무의 핵심 개체(entity)들로서 주로 업무..