일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 다독
- Java
- 책알남
- 서평
- algorithmtraining
- 백준알고리즘
- 책을알려주는남자
- 알고리즘공부
- 자바스크립트
- 지혜를가진흑곰
- 경제
- 독후감
- 독서
- algorithmStudy
- 주식
- 투자
- 화장품
- 채권
- 성분
- 프로그래밍언어
- 돈
- 알고리즘 공부
- 재테크
- 알고리즘트레이닝
- 자바
- algorithmTest
- C++
- 프로그래머스 알고리즘 공부
- JavaScript
- C
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터)/DATABASE (6)
탁월함은 어떻게 나오는가?
1) 서론현재 프로젝트를 진행 중이며, 주요 기능들은 어느 정도 완성되었고 실제 운영을 고려해볼 단계에 접어들었다. 이 과정에서 "운영 중 데이터베이스에 문제가 생긴다면 어떻게 대처할 것인가?" 와 "사용자들이 불편함을 느끼지 않도록 서비스를 지속적으로 제공하려면 어떻게 해야 하는가?" 라는 고민이 생겼다. 이 질문들에 대한 답으로 데이터베이스 이중화라는 솔루션에 도달했다. 소프트웨어 아키텍처의 선택은 상황에 따라 다양하게 적용될 수 있으므로, 개념적으로 정리를 잘해두는 것이 중요하다고 생각한다. 이를 기반으로 내가 원하는 아키텍처 조합을 의도한 대로 설계하고 동작하게 만들 수 있기 때문이다. 2) 데이터베이스 이중화를 도입한 이유현재 서비스는 아직 실제 사용자가 없는 초기 단계이다. 하지만 이..
PSQL을 사용하다가 Inex를 사용할려고 한다. 그러다가 정말 index를 설정한다면 이론적으로와 동일하게 더 빠르게 동작을 할까? 라는 의문이 생겨서 테스트를 시작하게 되었다. 테스트를 위한 코드이다 보니 매우 간결하게 테이블을 만들기로 했다. 1 2 3 4 5 6 7 8 9 model Users { @@map(name: "users") id String @id accountId String nickname String password String } cs 4가지의 컬럼만 사용할 예정이다. 사용하는 S/W, H/W의 스펙 OS: macOS Ventura 13.3.1 memory: 32GB chip: Apple M1 Pro postgres(PostgresSQL): 14.6 Test Start!! 1) ..
참조 무결성이란 데이터베이스 상의 참조가 모두 유요함을 일컫는다. 관계형 데이터베이스에서 하나의 속성이 다른 테이블의 속성을 참조하고 있다면, 참조한 해당 속성이 필히 존재해야한다. 참조 무결성을 통해 Primary Key(PK, 기본키)와 Foreign Key(FK, 외래키) 간의 관계가 항상 유효하도록 관리한다. 따라서 PK를 참조하는 FK가 있다면, 해당 PK는 수정과 삭제가 불가능해진다. FK의 역할은 두 개의 테이블을 연결해주는 연결 다리 역할을 한다. 기본키가 중복된 데이터가 하나의 테이블에 삽입되는 것을 방지하는 역할을 하는것처럼 외래키 역시 비슷하게 문제를 방지하는 역할을 수행한다.(무결성 유지를 위해서) FK는 새롭게 추가되는 행에서 외래키에 해당하는 값이 외래키가 참조하는 테이블에 존재..
공부용으로 직역해놓은 정보입니다. 직역이 틀린 부분이 있다면 지적 감사히 받겠습니다. Mysql에서 빠른 페이지네이션 - Limit와 Offset을 사용하면 Order By가 느린 이유는? Limit와 Offset이 포함된 쿼리는 페이지네이션이 필요한 애플리케이션에서 일반적으로 쓰이며 경우에 따라서는 한동안 잘 작동한다. 하지만 많은 경우에 Offset이 높은 값을 가지면 느리며 고통을 가져온다. OFFSET은 왜 느릴까? 많은 케이스에서 낮은 오프셋 쿼리는 느리지 않다. 문제는 높은 오프셋 값으로 시작된다. 쿼리의 리미트 절: "LIMIT 50000, 20" 을 사용한다면, 그것은 실제로 50,020행을 요청하고 처음 50,000 행을 삭제 요청을 한다. 이 작업은 높은 비용과 충격적으로 느린 응답의 ..
정규화란? 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화 하는 프로세스를 정규화라고 부른다. 데이터베이스 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있다. 일반적으로 정규화란 크고, 제대로 조직되지 않은 테이블들과 관계들을 작고 잘 조직된 테이블과 관계들로 나누는 것을 포함한다. 데이터베이스 디자인의 표준은 데이터베이스가 완전히 정규화되게 디자인 되어야 한다. 그 뒤 일부는 성능상의 이유로 비정규화될 수 있다. 정규화된 결과를 정규형이라고 하며, 정규형은 기본 정규형 고급 정규형으로 나뉜다. - 기본 정규형 : 제1정규형, 제2정규형, 제3정규형, BCNF(보이스/코드 정규형) - 고급 정규형 : 제4정규형, 제5정규형 정규화의 장점으로는 이상 ..
1) sudo apt-cache search mysql-server 2) dpkg -1 | grep mysql 3) lsb_release -a 4) sudo apt-get update 5) sudo apt-get install mysql-server 6) sudo 1) sudo apt-cache search mysql-server 2) dpkg -l | grep mysql 3) lsb_release -a 4) sudo apt-get update 5) sudo apt-get install mysql-server 6) sudo mysql_secure_installation 7) service mysql restart 8) netstat -na | grep mysql 9) sudo mysql -u root -..