데이터베이스
-
데이터베이스 인덱스는 왜 'B-Tree'를 선택하였는가개발 블로깅/Server&DataBase 개념 2020. 10. 25. 13:17
데이터베이스의 탐색 성능을 좌우하는 인덱스. 인덱스는 데이터 저장, 수정, 삭제에 대한 성능을 희생시켜 탐색에 대한 성능을 대폭 상승하는 방식이라 볼 수 있다. DB의 인덱스는 B-tree 자료구조를 이용하여 테이블의 요소를 빠르게 탐색하도록 설계되어있다. 그러면 인덱스는 그 많은 자료구조 중에 왜 하필 'B-tree'를 사용하는 것일까? 참고로 해당 글에서는 데이터베이스의 인덱스가 무엇인지에 대해서는 다루지 않는다. 하지만 인덱스에 대해 잘 몰라도 이 글을 읽는 것에 큰 어려움이 없을 것이다. DB를 직접 다루는 개발자가 아니더라도 SW 성능에 관심이 많거나 자료구조, 알고리즘 공부를 하는 사람이라면 관심을 가지고 읽어볼 만한 글이 될 것 같다. 인덱스가 B-Tree를 이용하는 이유에 대해 알기 위해,..
-
[2019.10.29] PostgreSQL - psql: could not connect to server: No such file or directory is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?개발 블로깅/Server&DataBase 개념 2019. 10. 29. 22:55
어제까지 잘 써왔던 Postgrsql 디비가 오늘 아침에 갑자기 접속이 안되었다... psql 접속을 할 수 없다고 하고, 포트번호를 확인하라고 한다. postico로도 접속을 할 수 없었다. 일시적인 에러인지 pc를 껐다 켜보았지만 여전하다.. PostgreSQL - psql: could not connect to server: No such file or directory is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? # 원인 pc 내부 프로세스의 일시적인 충돌로 인해 발생한 PostgreSQL서버 오류. # 해결 방법 터미널에 아래 명령어를 입력하면 된다. $ brew..
-
[2019.05.11] Express환경에서 mongoDB 사용하기개발 블로깅/Server&DataBase 개념 2019. 5. 11. 09:55
# mongoDB 개념 및 설치, 실행방법 mongoDB의 개념과 설치, 실행 방법은 이전에 블로깅 한 내용이 있어서 링크로 대체! https://helloinyong.tistory.com/42 [2019.03.26] NoSQL MongoDB 기초 MongoDB는 NoSQL의 종류 중 하나이다. NoSQL은 빅데이터 기반의 데이터베이스로, 정해진 칼럼이 아니라 컬렉션에 document가 계속 추가되는 방식이다. # MySQL과의 비교 mysql은 database를 새로 만들어주고 tabl.. helloinyong.tistory.com # express에서 MongoDB 사용법 express 안에서 mongoDB를 사용하기 위해서는 mongoose 모듈을 설치해야 한다. npm i -D mongoose n..
-
[2019.05.06] 코드에 DB 쿼리문은 그만! 유용한 Sequlize개발 블로깅/Server&DataBase 개념 2019. 5. 6. 10:37
기존에 웹 API 개발에 DB를 연동하여 사용하려면, 쿼리 명령어를 문자열로 저장하고 사용을 했어야 했다. DB연결 부분 생략 .... /* 쿼리 결과 값이 필요 없는 경우 */ var query = `insert into users(name) values('name')`; connection.query(query); /* 쿼리 결과 값을 받아올 경우 */ var query = `select * from users`; connection.query(query, function(error, rows, fields) { if(!error){ console.log(rows); console.log(JSON.parse(JSON.stringify(rows))) // 이렇게 해야 제대로 object 방식으로 사용 ..
-
[2019.04.29] Mysql 설치방법(맥북 환경) 및 node.js 연동개발 블로깅/Server&DataBase 개념 2019. 4. 29. 22:30
맥북에서는 Mysql을 엄청 쉽게 설치할 수 있다. # mysql 설치법 brew install mysql 설치 끝.. (mysql은 어느 ㅡ로젝트에서 자주 쓰이므로, 왠만하면 전역 설치를 추천!) # homebrew 설치법 https://brew.sh/index_ko # mysql 서버 실행 방법 mysql.server start // 서버 켜기 mysql.server stop // 서버 끄기 # 터미널에서 서버 접속 방법 mysql -u root -p // -u user명 :root, -p : 패스워드를 입력하곘다는 뜻 # mysql 접속 화면 # node.js 연동 방법 var mysql = require('mysql'); var connection = mysql.createConnection({ ..
-
[2019.03.26] NoSQL MongoDB 기초개발 블로깅/Server&DataBase 개념 2019. 3. 26. 21:54
MongoDB는 NoSQL의 종류 중 하나이다. NoSQL은 빅데이터 기반의 데이터베이스로, 정해진 칼럼이 아니라컬렉션에 document가 계속 추가되는 방식이다. # MySQL과의 비교mysql은 database를 새로 만들어주고 table을 생성할 때 칼럼명과 타입을 지정해 주며 생성.MongoDB는 database를 새로 만들어주고, collection을 생성, collection에 들어갈 document를 입력 (document는 json 타입) # MongoDB 설치 및 실행brew update brew install mongodb mkdir -p /data/db mongod # dbpath 지정 mongod --path 이후에 다른 터미널로 아래와 같이 명령어를 입력한다.$ mongo Mong..