DB 3

[DB] 데이터베이스를 지탱하는 기술 Chapter 2

데이터베이스를 사용하는 이유- 대용량 데이터 처리- 일반적인 자료구조로는 인메모리로만 사용 가능- 디스크를 이용할 수 있어야 한다.- 빠른 탐색이 가능해야 한다.- 인덱스 (BTree 자료구조)- 장애 발생 시 데이터 백업 및 복구- 데이터가 사라지지 않도록 해야 한다.- 데이터의 무결성을 위해 '트랜잭션' 개념 적용- 해당 솔루션을 제공- Redis의 경우 Replication 및 RDB / AOF 옵션- 병렬성 제어가 어려움- Lock 개념이 들어감.- 성능과 상황에 따라 Table Lock / Row Lock 등을 사용할 수 있도록 해당 기능을 제공해 줌- InnoDB의 경우 Isolation Level 옵션 등 NoSQL- 기존 DB에서 충분한 성능이 나오지 않거나, 여러 서버를 구축하기 어려운 ..

DB 2018.11.11

[Database][BTree] Clustered index & Non clustered index의 이해

리그오브레전드 랭킹을 보여주는 사이트를 구현한다고 생각해 보자.테이블에 유저이름과 랭점이 하나의 Row를 구성하고, 이렇게 100만 개의 Row가 있다고 치자.물론 아무것도 안 해 놨는데 데이터베이스가 자동으로 정렬을 하진 않았을 것이다. 어떤 이가 사이트에 접속을 했다.이걸 그냥 ORDER BY로 처리할 수도 있을 것이다. 느리겠지만.하지만.... 이렇게 계속 사이트에 접속하는 유저 한명한명 정렬해주다간 더더더 느려질 것이다... 그럼 당연히 생각나는 건 하나다.'데이터를 넣을 때 정렬을 하게 하면 되지!'그게 바로 index 방식에서 하는 일이다. Clustered index : 데이터를 인덱스 + 물리적으로 모두 정렬되어 있음. Non-Clustered index : 데이터를 인덱스로만 정렬해 놓음..

DB 2016.09.25

[Postgresql] DB Server 'windows to linux(ubuntu)' migration - pgsql backup/restore

Windows에서 pgadmin으로 Postgresql을 쓰다가, 리눅스로 갈아타려고 멀티부팅으로 설치했는데, 윈도우에 있는 걸 그대로 복원할 수 있더라. 방법은 pg_dumpall 이나 pg_dump 기능을 이용하는 것이다. pg_dump는 데이터베이스 하나하나 백업이 가능하고, pg_dumpall은 서버 전체를 백업한다. Windows에서 백업 cmd로 작업한다.옵션은 간단하게-h : hostname-p : port-U : username-f : file이렇다. 자세한 옵션은 문서를 참조 : https://www.postgresql.org/docs/current/static/app-pgdump.html pg_dump pg_dumpall암호라고 뜨는 건 Database 수만큼 권한 때문에 비밀번호를 입..

DB/PostgreSQL 2016.09.24
반응형