jdbc를 통해서 특정 테이블의 데이터를 삭제할 때 발생될 수 있는 에러를 해결할 수 있는 방법입니다. 첫번째. delete large amount error ~~ 특정 rows 이상을 한번에 삭제하는 경우에 발생 합니다. ex) delete from t_orders where order_dt >= '20190101'; 이경우는 limit 절을 이용해 삭제할 대상을 split하면서 삭제하면 해결이 됩니다. ex) con.setAutoCommit(false); Statement stmt = con.createStatement(); int nDeleteRows; do { // 1만건씩 삭제하는 경우 nDeleteRows = (stmt.executeUpdate("delete from t_orders where..
현재 19.x 버전까지 CockroachDB의 Default Time Zone 은 'UTC' 입니다. Oracle, MySQL, PostgreSQL처럼 Default Time Zone를 바꿀 수 없는 것 같습니다. (아직 설정을 못 찾음) 공식 문서에서 Time Zone 관련해서 찾아 보면 Session 레벨에서 Time Zone를 변경하는 방법만 소개되어 있습니다. 즉, 매번 CockroachDB에 접속한 후에 Session에 Time Zone를 설정해줘야 now(), current_date()와 같은 함수 리턴 값이 시스템 시간과 동일하게 나옵니다. > > set time zone 9 위와 같이 해주면 시스템 시간과 동일해 집니다. 우리나라 time zone에 맞는 데이터를 저장해 보기 1. 위와 같..
PostgreSQL용 JDBC 드라이버를 이용해서 CockroachDB에 Batch Insert/Update (Bulk)하는 경우에 아래와 같은 에러가 종종 발생할 수 있습니다. org.postgresql.util.PSQLException: ERROR: restart transaction: TransactionRetryWithProtoRefreshError: TransactionAbortedError(ABORT_REASON_TIMESTAMP_CACHE_REJECTED_POSSIBLE_REPLAY): CockroachDB Document 중 Transaction부분에 위 에러를 대비해서 에러 발생시 재시도를 수행하는 부분을 넣어 둘 것을 권고하 고 있습니다. 저는 Batch Insert/Update 즉 e..
오늘 처음부터 새로 "CockroachDB" 클러스터를 구성해 보았습니다. 1. 3대의 서버에 CockroachDB 설치 (바이너리 파일 배치) 2. 사용자 인증(패스워드)를 위해서 CA 인증서 및 키 생성 3. root 사용자 인증서 생성 4. 클러스터 구성 5. 데이터베이스 생성 6. 일반 유저 생성 후 5단계에서 생성한 데이터베이스에 권한 부여 7. 첫번째 노드에 테이블을 생성하고, 데이터를 30만건 입력 8. 2~3번 노드에서 사용자 접속 후에 1번에서 입력한 데이터 확인 CockroachDB는 하나의 바이너리 파일이 모든 기능을 수행하는데, 클러스터 구성도 MongoDB에 비하면 훨씬 쉬웠습니다. 데이터 입력속도는 MongoDB에 비해서 성능이 좋지 못하지만, 데이터를 조회하는 속도가 Mongo..
국산 In-Memory DBMS의 대표주자인 "알티베이스"가 오픈소스로 전환이 되었습니다. (뒷북) 요즘 당면한 문제를 해결하기 위해서 "Redis", "CockroachDB", "MariaDB"등 여러가지 DBMS 제품을 검토하다가 알티베이스가 오픈소스로 전환이 된 사실을 알게 되었습니다. 글로벌 트렌드에 맞게 일반버전(커뮤니티)은 오픈소스로 공개하고, 엔터프라이즈급은 유료 라이센스를 취하는 방식을 선택한 듯 보입니다. 리눅스 버전만 다운로드 받을 수 있습니다. 오늘 다운로드 받아서 설치해 보았습니다. (굿)
CockroachDB 3노드를 구성한 후에 3개 테이블을 생성하고 각각 10만 / 18만/ 30만 rows 데이터를 넣었습니다. 각각 노드에 접속해서 테이블 총 rows를 조회해서 모두 복제가 된 것을 확인했습니다. 그리고 노드 하나를 강제로 종료 시킨 후에 데이터 파일을 모두 삭제하고, 다시 노드를 띄었습니다. 일정 시간이 지난 후에 접속해서 데이터를 보니 테이블 3개가 모두 생성이 되어 있고, 데이터도 모두 동기화 되어 있었습니다. 오라클과 같은 전통적인 RDMBS에서는 고가용성을 확보하려면 (RAC) 비용이 많이 들었고, 데이터를 실시간 동기화 하려면 SharePlex 또는 OGG 같은 CDC(Change Data Capture) 솔루션이 별도로 필요했습니다. 아직까지는 Mission Critica..
MongoDB v3.6.2 vs CockroachDb v19.1.2 CockroachDB와 MongoDB를 각각 3개의 서버로 클러스터링을 구성한 후에 8만건 데이터를 입력해 보았습니다. 환경에 따라 다르겠지만, CockroachDB와 MongoDB를 1000개의 Rows(Document)로 입력 하도록 했습니다. TEST_1 - 기본 설정 MongoDB = 3초 CockroachDB = 41초 TEST_2 - CockroachDB 테스트시 JDBC Connection( PostgreSQL) 설정 변경으로 50% 빨리짐(?) TRANSACTION ISOLATION LEVEL를 TRANSACTION_REPEATABLE_READ로 변경함. TRANSACTION_REPEATABLE_READ외에 다른 TRANS..
- Total
- Today
- Yesterday
- weka
- 별이 빚나는 밤
- 카카오 에드
- Pixel Pals
- 파나소닉 비데 DL-EH10KWS
- JMW 헤어드라이기기
- VARIDESK
- 배당급
- 톡토기
- 유가바이트디비
- 오미크론
- 르세라핌
- 고체 향수
- 남설 팔찌
- 홈 오피스
- 매직 트랙패드2
- node.js
- yugabyteDB
- 코라나 19
- Sybase IQ
- 별잉 빛나는 밤
- 빈센트 반 고흐
- GKRS
- Life Chair
- 솔리드 쿨론
- 브리다 정수기
- 화분벌레
- 증권정보포털
- 로니카 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 |