여러 JDK가 존재하는 이유여러 JDK가 존재하는 가장 큰 이유는 라이센스 때문입니다.최신 버전의 Oracle JDK 17, 18의 경우 "Oracle No-Free Terms and Conditions(NFTC)" 라이센스가 적용됩니다. 사용 가능한 목적과 대상은 다음과 같으며 회사에서 상용 목적으로는 사용이 불가합니다."internally use the unmodified Programs for the purposes of developing, testing, prototyping and demonstrating your applications, and running the Program for Your own personal use or internal business operations” JAVA..
세그먼트(Segment)와 오브젝트(Object)데이터베이스에서 공간은 테이블스페이스(Tablespace)를 의미합니다. 테이블스페이스에 저장되는 요소에는 테이블(Table), 인덱스(Index), 파티션(Partition) 등이 있습니다. 이렇게 데이터를 가지고 있는 요소들을 세그먼트(Segment)라고 합니다. 반면, 트리거(Trigger), 프로시저(Procedure), 함수(function)과 같이 데이터를 가지고 있지 않고 어떠한 코드만 가지고 있는 것을 오브젝트(Object)라 합니다. 오브젝트(Object)는 세그먼트(Segment) 보다 조금 더 큰 개념으로 오브젝트(Object)는 세그먼트(Segment)를 포함하고 있습니다. 또한, 오브젝트(Object)는 저장 공간을 할당하지 않은 객..
인덱스의 구조에는 B- Tree, B+ Tree, Hash, Bitmap 등 다양한 구조가 있습니다. 이번 글에서는 Bitmap 구조에 대해서 알아보도록 하겠습니다.비트맵 인덱스(Bitmap Index)인덱스 칼럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법입니다.비트맵 인덱스의 목적은 키(Key) 값을 포함하는 행의 주소를 제공하는 것입니다.B-Tree 인덱스와 달리 카디널리터 값이 낮은 경우(특정 데이터 집합의 유니크한 값의 개수가 적은 경우. 즉, 중복도가 높은 경우)에 사용하기 좋습니다.비트 맵은 흔히 색상표를 예시로 많이 드는데, 아래와 같은 형태로 표현됩니다.분포도가 나쁜 Column에 사용하기 적합하며 성능 향상의 효과를 얻을 수 있습니다.데이터가 Bit로 구성되..
WAS(Web Application Server)WAS란 동적인 데이터를 처리하는 서버를 의미합니다.여기서 동적인 데이터란 데이터베이스와 연결되어 주고 받는 데이터를 의미합니다.게시판 웹사이트를 예로 들자면, 실시간으로 올라오는 게시글, 게시글 조회수, 게시글 이름 등의 계속해서 변화하거나 변화될 수 있는 값들을 의미합니다. 우리가 흔히 아는 WAS에는 Apache Tomcat이 있습니다. 여기서 Tomcat은 WAS를 말하고 Apache는 Web Server를 의미합니다. WAS의 내부에 Web Server가 존재하지만 별도의 Web Server와 WAS를 같이 사용하기도 합니다.그 이유는 WAS 하나가 동적/정적 데이터를 같이 처리한다면 과부하로 인해 사용자의 요청에 응답이 느려질 수 있기 때문입니다..
동시성 제어(Concurrency Control)동시성 제어란?동시성 제어란 DBMS가 다수의 사용자 사이에서 동시에 작용하는 다중 트랜잭션의 상호간섭 작용에서 데이터베이스를 보호하는 것을 의미합니다. 일반적으로 동시성을 허용하면 일관성이 낮아지게 됩니다. 그래서 DBMS는 동시성을 제어할 수 있도록 LOCK 기능과 트랜잭션의 격리성 수준을 조정할 수 있는 SET TRANSACTION 명령어를 제공하고 있습니다.이러한 동시성을 제어하는 방법에는 낙관적 동시성 제어와 비관적 동시성 제어가 있습니다.낙관적 동시성 제어사용자들이 같은 데이터를 동시에 수정하지 않을 것이라고 가정.데이터를 읽은 시점에 LOCK을 걸지 않는 대신 수정 시점에 값이 변경되었는지 반드시 검사해야 합니다.비관적 동시성 제어사용자들이 같..
JVM의 init 메서드, 객체 초기화를 위한 인스턴스 초기화 메서드인스턴스 초기화 메서드(instance initialization method)JVM은 객체 인스턴스를 초기화할 때 init 이라는 고유한 메서드를 활용합니다. 예를 들어, 다음과 같이 Object 객체를 생성하는 코드가 있다고 가정해보겠습니다.Object obj = new Object(); 해당 코드를 컴파일 한 후 Byte Code를 살펴보면 다음과 같습니다.0: new #2 // class java/lang/Object3: dup4: invokespecial #1 // Method java/lang/Object."":()V7: astore_1 JVM은 객체의 초기화를 위해 이라는 특별한 이름의 ..
백본여러 소형 네트워크들을 묶어 대규모 파이프라인을 통해 극도로 높은 대역폭으로 다른 네트워크들의 집합과 연결되는 네트워크를 백본망 또는 기간망이라고 합니다. 솔직히, 정의만 놓고 보면 조금 이해하기 어려우실 수도 있습니다. 예를 들어 설명해보겠습니다.우리가 집에서 인터넷을 사용하기 위해 먼저, 유/무선 공유기를 통해서 신호를 보내게 되는데, 이 때 유/무선 공유기에 연결되어 있는 케이블을 통해 신호를 전달하게 됩니다. 이 신호는 나아가 외부에 있는 인터넷 서비스 공급자(=통신사, SKT, KT, LG)의 거대한 네트워크 망으로 전달되어 집니다. 그리고 거대한 네트워크 망에서 처리된 신호가 반대로 사용자에게 전달됩니다. 여기서 다루는 거대한 네트워크 망, 사용자 신호들이 모이는 이 거대한 네트워크 망이..
Tablespace 확장 방법1. Resize 방법alter database datafile '+DATAC1/ORA19/DATAFILE/TS1_01' resize 10G;alter database tempfile '/u03/oradata/ORA10/TT_TEMP01.dbf' resize 1000M;TEMP_Tablespace: Sorting이나 GROUP BY 할 때 사용하는 임시적인 공간입니다.2. Add 방법alter tablespace TS1 add datafile size 10G; # Oracle Managed Filesystem의 경우 이렇게 파일 이름을 지정하지 않습니다.alter tablespace TS1 add datafile '+DATAC1/ORA19/DATAFILE/TS1_02' siz..
- Total
- Today
- Yesterday