티스토리 뷰

반응형

이전 글에서 yb_demo 데이터베이스에 접속할 수 있게 설정을 완료하였으므로, 이번에는 DBeaver를 사용해서

접속해 보겠습니다.

DBeaver 21.1.4 Cummnity Edition

 

1. 새 데이터베이스 연결


yugabyteDB 아이콘 선택

DBeaver에서 기본으로 yugabyteDB를 지원하고 있습니다.

도커로 실행할때 5433번 포트를 사용했기 때문에, 연결할때 해당 포트를 적어 주면 됩니다.

5433 포트

 

yugabyteDB는 PostreSQL과 드라이버를 공유하기 때문에 PostgreSQL Driver를 다운로드 하면 됩니다.

DBeaver가 드라이버가 없으면 자동으로 감지해서 인터넷에서 받아올 수 있게 합니다.

드라이버를 받았다면, 이전 Step 2에서 구성했던 정보를 아래와 입력해 주시면 됩니다.

접속정보 입력

 

정보를 입력하고 확인을 누르면 데이터베이스에 연결이 됩니다.

yugabyteDB에 연결된 모습

 

2 . 데이터 조회해 보기


데모 데이터 조회

 

* 데이터 출력창에서 숫자 타입의 컬럼에 콤마(,)가 안보이게 하려면,  그림과 같이 환결설정에서 Use Group 항목의 체크를

해제하면 됩니다.  (윈도우 -> 설정 -> 편집기 - > 데이터 편집기 -> 데이터포맷 에서 Type 항목을 Numbers 선택

 

 

3. 쿼리 실행계획 보기


orders 테이블을 Seq Scan( Full Table Scan)하면서, products 테이블과 Nested Loop 조인을 하고 있습니다.

orders 테이블 조회시 별도의 조건이 없기 때문에 Full Scan이 효율 적이지요.

products 에 잇는 id 컬럼에 있는 인덱스를 활용했고, 집계함수인 sum()를 수행한 후에, 마지막으로

윈도우 그룹함수 count()를 수행했습니다.

 

orders 에 인덱스가 id 컬럼에만 있네요. 인덱스를 추가한 후에 조회 조건으로 줘 보겠습니다.

orders 테이블에 user_id 컬럼에 인덱스 생성

 

조회조건으로 user_id = 2372 추가

user_id 조건으로 새로 추가된 인덱스를 scan한 것을 볼 수 있습니다.

 

여기까지 해서 도커로 yugabyteDB를 실행해보았습니다.

막상 사용해 보니 더 궁금한 점이 있어서, 아래와 같은 다양한 주제로 좀 더 공부하고 싶다는 생각이 들었습니다.

  • 100% 오픈소스이기 때문에 "실시간 백업" & "테이블 파티셔닝"이 되는 지~~~
  • CDC를 사용할 수 있는 지
  • 제가 좋아하는 CockroachDB와의 성능 비교 

 

yugabyteDB의 아키텍처와 사용된 기술이 CockroachDB와 매우 유사했습니다.

 

How We Built a High Performance Document Store on RocksDB? - The Distributed SQL Blog

Learn how YugabyteDB leverages RocksDB’s strengths as the per-node storage engine of DocDB, YugabyteDB's distributed document store

blog.yugabyte.com

 

Why we built CockroachDB on top of RocksDB

CockroachDB uses RocksDB for its storage engine because of RocksDB's rich feature set, which is necessary for a complex product like a distributed SQL database.

www.cockroachlabs.com

서로의 장.단점을 비교해 정리해 보는 것도 좋은 경험이 될 것 같습니다.

 

 


 

반응형