
고성능 SQL 작성을 위해 알아야 할 것은 수없이 많습니다. 많은 노력과 경험이 필요합니다. 그중에서 제가 먼저 알면 좋은 TIP 3가지를 소개해 드립니다. 3가지 모두 설명해 드릴 수도 있겠으나, 각자 위 주제로 정보를 찾아보시는 것도 실력 향상에 많은 도움이 되니 저는 화두만 던져 보겠습니다. 특히 Java 개발자면서 ibatis 또는 mybatis를 사용하고 계신다면 두 번째 TIP인 Bind Variable 사용과 관련해서 #, $ 사용 방법을 확실하게 이해하셨으면 합니다.
PostgreSQL에서도 컬럼 확장 "CSTORE_FDW"를 사용할 수 있다고 해서, MairaDB ColumnStore 대안으로 사용할 수 있을 것 같아서 관련 자료를 찾아 봤다가 빠른 손절을 했습니다. 손절 이유는 cstore_fdw 제한 사항 때문입니다. CSTORE_FDW 제한 사항 불행히도 생산 준비를 줄이는 몇 가지 제한 사항이 있습니다. 예: 기본 키 및 외래 키 없음 파티션 지원 없음 업데이트/삭제 없음 SIMD 지원 없음 MariaDB ColumnStore는 파티션도 지원하고, 업데이트/삭제도 지원하기 때문에 비교 대상이 될 수가 없었습니다. 업데이트/삭제가 필요 없다면 ClickHouse가 더 좋을 것 같기도 하구요... https://citusdata.github.io/cstore_f..
오라클에서는 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. 접속..
- Total
- Today
- Yesterday
- Pixel Pals
- yugabyteDB
- 홈 오피스
- 고체 향수
- 솔리드 쿨론
- 톡토기
- 배당급
- 화분벌레
- JMW 헤어드라이기기
- Sybase IQ
- Life Chair
- 별잉 빛나는 밤
- weka
- 브리다 정수기
- 유가바이트디비
- 카카오 에드
- node.js
- 증권정보포털
- 파나소닉 비데 DL-EH10KWS
- 매직 트랙패드2
- GKRS
- 빈센트 반 고흐
- 코라나 19
- VARIDESK
- 별이 빚나는 밤
- 오미크론
- 루미큐브 종류
- 남설 팔찌
- 르세라핌
- 로니카 BCS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |