공부하고 기록하는, 경제학과 출신 개발자의 노트

MySQL 3

Transaction Isolation - MySQL과 Postgresql 비교

Transaction Isolation Level / read phenomena ACID 4요소 중 하나가 isolation. 가장 높은 수준의 isolation -> all concurrent txn will not affect each other. 반대로 말하면, txn이 다른 txn에게 영향을 줄 수 있는 정도가 구분된다는 뜻. 이걸 Read Phenomenon이라 부른다. Dirty Read : uncommitted txn값을 읽어들이는 것. txn이 commit일지 rollback일지 알 수 없기 때문에 incorrect data를 사용하게 될 가능성이 높음 Non-Repeatable Read : 동일한 쿼리 요청을 했는데 응답값이 달라지는 경우 Phantom Read : 2와 비슷하지만, 하나..

빠르게 정리하는 데이터베이스 (2) - MySQL Stored Procedure

Stored Procedure SQL은 근본적으로는 non-procedure Language이지만, Stored Procedure가 있기 때문에 procedural Language 취급을 받기도 한다. 반복되는 작업 수행을 위해 서버에 저장해 둔 일련의 명령을 의미함. compiled Language만큼 빠르진 않지만 속도도 나쁘지 않음. Application Independent. 애플리케이션 구현 언어에 독립적으로 작동 가능하다. 애플리케이션에 필요한 기능을 모아두고, 매번 sql문을 생성하고 실행할 때보다 시간 / 돈 절약이 가능함. 애플리케이션은 DB와 통신하는데, 보통 여기가 bottleNeck인 경우가 많음. 직접 쿼리를 internet 통해서 DB 서버로 전송할 경우, 인터넷 속도가 곧 애플..

Ubuntu 인스턴스에 MySQL 올리기

Ubuntu 16.04에 Mysql 5.7 / 8.0.22를 설치하면서 구글링했던 내용들 정리 Mysql 설치하기 mysql-client : 데이터베이스에 연결하고, CLI로 mysql 명령어를 실행하기 위한 프로그램 mysql-server : 데이터베이스를 host, 관리하기 위한 프로그램. 일반적으로 둘 다 필요한 경우가 많음. sudo apt-get update sudo apt-get install mysql-server mysql-client cf. mysql 버전 8을 설치하고 싶은데, sudo apt-get으로 실행하면 5.7이 설치되는 경우 # 실행중인 mysql 프로세스를 종료한 뒤 sudo apt-get remove --purge mysql* sudo apt-get autoremove s..