목록분류 전체보기 (7)
개발하는 너구리
Observable.merge(self.textfiled.rx.observe(String.self, "text"), self.textfiled.rx.controlEvent(.editingChanged).withLatestFrom(self.textfiled.rx.text)) .asObservable() .subscribe ....
Cocoapods 업데이트 gem install cocoapods --pre
공유잠금을 걸지 않고 곧바로 조회하겠다는 의미이다. 공유잠금이 걸리지 않으므로 , 읽는 동안 배타적잠금에 의해 insert, update, delete 가 발생할 수 있으며 , 경우에 따라 commit 되지 않은 데이터를 읽는 경우가 생길 수 있다. 따라서 , 상황에 맞게 해당 힌트를 쓸지 말지를 결정해야한다. ※ jojn 문을 사용하여 여러 테이블을 조회하는 경우에 with (nolock) 을 쓰는 경우 , 모든 테이블에 해당 힌트를 사용해야한다.
1) 교착 상태(DEADLOCK) 개요 교착상태 란, 둘 이상의 스레드 간에 특정 자원(테이블,행..) 대한 양방향 참조(종속) 관계가 발생한 경우를 말한다. 교착 상태는 주로 단순한 RDBMS 보다는, MULTI THREAD 가 가능한 시스템에서 발생할 가능성이 더 크다. 특정 트랜잭션의 스레드는 하나의 이상의 자원에 잠금을 얻을 수 있다. 지금까지 보았던 것처럼 잠겨진 자원을 다른 트랜잭션의 스레드가 엑세스하려 한다면, 대상 리소스가 해제될 때까지 기다려야 하는 BLOCKING 이 발생한다. 이 때 대기 중인 스레드는 리소스를 소유한 스레드에 대해 해당 리소스에 대한 종속 관계를 갖고 있다고 말한다. 예를 들어, 트랜잭션 1을 실행하는 스레드 T1에는 EMP 테이블에 대한 배타적 잠금이 있고, 트랜잭..
1) BLOCKING 시나리오 잠금에 대한 BLOCKING 문제의 대부분은 단일 프로세스가 오래도록 잠금을 유지하여 다른 모든 프로세스가 잠금 대기 상태로 되는 블로킹된 프로세스 체인을 초래하기 때문에 발생한다. 일반적인 BLOCKING 시나리오는 다음과 같다. 1] 실행 시간이 긴 쿼리 전송 실행 시간이 긴 쿼리는 다른 쿼리를 BLOCKING 할 가능성이 크다. 예를 들어, 많은 행에 영향을 주는 DELETE, UPDATE 작업에서는 테이블 전체에 대한 잠금과 상관없이, 다른 쿼리를 BLOCKING 하는 잠금을 많이 설정할 수 있다. 따라서, 일반적으로 실행 시간이 긴 OLAP 용 질의를 OLTP 와 동일한 데이터베이스나 서버에서 사용하는 것은 결코 권장하지 않는다. 물론 대용량 데이터베이스에서는 이런..
1. LOCK의 종류 공유잠금(Shared Lock) Select 배타적잠금(Exclusive Lock) Insert , Update , Delete 2. LOCK 단위 RID 행 식별자. 하나의 행을 잠글 때 사용 KEY 인덱스가 있을 때의 행 잠금단위. PAGE 8KB 데이터 페이지 또는 인덱스 페이지 EXTENT 인접한 8개의 데이터 페이지 또는 인덱스 페이지 TABLE 데이터와 인덱스가 포함된 전체 테이블 DB 데이터베이스 3. LOCK 종류 1) SHARED(S) 읽기 동안에만 일어나며 , 다른 S 락에 대해서는 공유하난 X에 대해서는 배타적이다. 데이터를 변경하거나 업데이트하지 않는 작업(읽기전용작업)에 사용한다. 공유잠금(S)를 사용하면 , 여러 트랜잭션이 동시이에 하나의 개체를 읽을 수 있..
기본적으로 Tomcat 은 세가지 세션관리자를 제공한다. Standard Manager 기본 세션 관리자 Persistant Manager File Store, JDBC Store Delta Manager multicast 방식 수신 그룹에 등록된 모든 서버에 세션 복제 Backup Manager Delta Manager 와 같으나 , 1대의 서버에 대해서만 백업 세션 클러스터링 설정 방법 1. Multicast Routing 설정 route add -net 224.0.0.0 net netmask 244.0.0.0 dev eth0 2. server.xml 설정