오라클에서는 VARCHAR2 타입으로 최대 4000 byte 까지만 저장할 수 있습니다. 4000 byte가 넘는 문자열을 저장하기 위해서는 CLOB 타입으로 컬럼을 생성해야 하죠. 4000 byte가 넘는 데이터에서 특정 문자열을 찾아 치환(replace)하고 싶을 때 어떻게 해야 할까요? 저장된 값이 4000 byte 이하라면 아래와 같이 replace() 함수를 사용할 수도 있습니다. EX) BIG_TEXT 컬럼에서 '대한민국' 문자열을 찾아 'KOREA'로 변경 SELECT TO_CLOB(REPLACE(TO_CHAR(BIG_TEXT), '대한민국','KOREA')) FROM T_TABLE 저장된 값이 4000 byte가 넘는다면, 정규 표현식 함수 'REGEXP_REPLACE()'를 사용하면 됩니..
관계형 데이터베이스는 대부분 데이터를 저장할 때에 "행 지향" 또는 "열 지향"으로 저장합니다. OLTP 용 데이터베이스를 가장 많이 사용하게 됨으로 여러분이 사용 중인 데이터베이스는 대부분 "행 지향"으로 저장하고 있을 확률이 높습니다. 행 지향은 행 (row) 단위로 데이터를 쭉 이어서 저장하는 방식입니다. OLTP는 소량의 데이터를 다수의 사용자가 사용할 때 최적의 성능을 발휘하도록 설계가 되어 있기 때문에 행 단위로 저장하여 사용하는 것입니다. 반면에 열 지향은 데이터를 각각의 컬럼 별로 저장하는 방식입니다. 소수의 사람이 다량의 데이터를 처리할 경우에 적합니다. 주로 DW(데이터웨어하우스)에 사용되는 DBMS가 제공하는 방식입니다. 하나의 SQL에서 처리하는 행이 1억 건일 경우 행 지향 보다 ..
https://db-engines.com 에 방문해 보면 300여개가 넘는 데이터베이스를 만나 볼 수 있습니다. 관계형, 키-벨류, 와이트 컬럼 (키 패밀리), 도큐먼트, 그래프, 타임시리즈 등으로 분류하여 각각의 순위도 알 수가 있고요. 저는 가끔 방문해서 어떤 데이터베이스가 요즘 관심을 받는지를 보는 것도 좋아합니다. 그렇게 해서 올해 초에 "yugabytedb"를 알게 되어서 몇몇 글을 포스팅하기도 했었습니다. 관계형 데이터베이스는 세상에 나온 후로 오늘날까지 가장 광범위하게 사용되는 데이터베이스 모델입니다. 하지만 빅데이터가 출연한 이후로는 관계형 데이터베이스로 처리할 수 없는 곳이 생겨나면서 NoSQL이 출현했습니다. 데이터 일관성을 엄격하게 보장하는 관계형 데이터베이스와는 달리 어느 정도 일관..
"데이터베이스"가 중요한 이유를 먼저 알면 "SQL"를 왜 배워야 하는 이유를 더 분명히 알 수 있습니다. 페이스북, 아마존, 넷플릭스, 구글 등 모두가 알만한 기업들이 가치가 높고, 실제로도 시가 총액이 상상을 초월합니다. 제가 생각하는 일들 기업의 가치는 "알고리즘"과 보유한 막대한 "데이터"에 있다고 생각합니다. 이 중에 데이터는 대부분 다양한 데이터베이스에 저장되어 있습니다. 그리고 정제되고 가치가 있는 데이터는 관계형 데이터베이스에 대부분 존재하고, 관계형 데이터베이스에 있는 데이터를 활용할 수 있는 1차적인 언어는 SQL뿐입니다.
오라클을 공부하기 위해서 Oracle 11g Enterprise를 설치하는 것은 매우 번거로운 작업입니다. 이를 해결하는 방법은 도커 환경을 이용하는 것입니다. 아래 순서대로 따라 하시면 몇 분 만에 환경을 구축할 수 있습니다. 1. 도커 이미지를 다운로드 받습니다. docker pull loliconneko/oracle-ee-11g 2. 다운로드 받은 이미지를 이용해 컨테이너를 실행합니다. mkdir /home/user/data docker run -d -p 8080:8080 -p 1521:1521 -v /home/user/data:/u01/app/oracle -e DBCA_TOTAL_MEMORY=2048 loliconneko/oracle-ee-11g docker container ls -a 3. 접속..
저는 Oracle Query Tool로 Orange를 제일 좋아합니다. 단점은 윈도즈 버전만 있다는 것이죠. 물론 Toad, SQL Gate도 좋은 툴입니다. Orange / Toad가 상대적으로 가격이 비싸기 때문에 SQL Gate를 회사에서 많이 사용을 했습니다. 올해 이직을 했는데, 비용 때문인지 DBA를 제외하고는 대부분 SQL Developer (무료)를 사용하고 있었습니다. SQL Developer도 나름 좋지만, 윈도즈에서만 사용할 경우에는 살짝 아쉬운 부분이 많이 있습니다. 그런데 특정 부서에서는 유료로 "PL/SQL Develper 를 구매해서 사용하고 있었습니다. 처음 들어본 툴인데, 이름부터가 PL/SQL 코딩에 특화된 것처럼 보이죠. 가장 큰 매력이 가격인 것 같았습니다. 50 Us..
회사에서 특정 쿼리 수행시간이 오래 걸려서 튜닝 요청을 받았습니다. 처음 보는 쿼리라서 먼저 실행계획을 봤는데, 특이 사항이 없어서 쿼리에서 처리하는 데이터를 본 후에 문제점을 발견할 수 있었습니다. 오라클 11g 였는데, 쿼리의 SELECT LIST 부분에 WM_CONCAT 함수가 수행 시간을 오래 걸리게 만들었습니다. 저는 평소에 "행 -> 열"로 만들어야 하는 경우에는 주로 "LISTAGG" 함수를 사용합니다. WM_CONCAT은 사용하기는 편하나, 오라클 매뉴얼에도 없는 비공식 함수기 때문에 가급적 사용을 안합니다. WM_CONCAT이 문제가 되었던 거는 처리해야 하는 행(값)이 너무 많아서 였습니다. 조회 조건을 변경 하면은 대부분 10개 내외로 WM_CONCAT() 함수가 사용이 되어졌는데, ..
- Total
- Today
- Yesterday
- 고체 향수
- JMW 헤어드라이기기
- 남설 팔찌
- 톡토기
- 카카오 에드
- GKRS
- 오미크론
- 르세라핌
- 화분벌레
- 브리다 정수기
- 배당급
- 증권정보포털
- 홈 오피스
- Pixel Pals
- 코라나 19
- weka
- 솔리드 쿨론
- 파나소닉 비데 DL-EH10KWS
- Life Chair
- node.js
- 로니카 BCS
- 매직 트랙패드2
- 빈센트 반 고흐
- 유가바이트디비
- 별잉 빛나는 밤
- 별이 빚나는 밤
- Sybase IQ
- VARIDESK
- 루미큐브 종류
- yugabyteDB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |