ClickHouse는 컬럼 지향(Column-Oriented) 구조를 사용하여 전통적인 행 기반 데이터베이스보다 100배 빠른 쿼리 성능을 제공하며, 90%의 스토리지 절감 효과를 보입니다. 오늘은 Cloudflare, Uber, Spotify 같은 글로벌 기업들이 선택한 ClickHouse에 대해 함께 알아보겠습니다.
대량의 데이터를 빠르게 분석해야 하는 상황, 누구나 한 번쯤 겪어보셨을 겁니다. 기존 데이터베이스로 복잡한 집계 쿼리를 돌리면 몇 분씩 기다려야 하는 경우도 있죠. 그런데 같은 쿼리를 단 몇 초 만에 처리할 수 있다면 어떨까요?

1. ClickHouse, 정확히 무엇인가요?
ClickHouse는 2016년 러시아의 대형 IT 기업 Yandex에서 개발하여 오픈소스로 공개한 OLAP(Online Analytical Processing) 전용 데이터베이스 관리 시스템(DBMS, Database Management System)입니다.
원래는 Yandex가 자사의 웹 분석 서비스인 Yandex.Metrica를 위해 내부적으로 개발한 시스템이었는데요. 실시간으로 대용량 데이터 스트림에서 직접 분석 보고서를 생성해야 하는 중요한 문제를 해결하기 위해 만들어졌습니다.
현재는 독립 회사로 분사되어 ClickHouse, Inc.가 운영하고 있으며, Apache License 2.0 오픈소스 라이선스로 제공됩니다.
2. OLAP vs OLTP, 무슨 차이인가요?
데이터베이스를 이해하려면 먼저 OLAP과 OLTP의 차이를 알아야 합니다.
| 구분 | OLTP (온라인 트랜잭션 처리) | OLAP (온라인 분석 처리) |
|---|---|---|
| 목적 | 일상적인 거래 처리 | 데이터 분석 및 보고서 생성 |
| 작업 유형 | 삽입, 수정, 삭제 | 복잡한 조회 및 집계 |
| 데이터 양 | 소량, 최신 데이터 | 대량, 이력 데이터 |
| 응답 시간 | 밀리초 단위 | 초~분 단위 |
| 사용 예시 | 주문 처리, 계좌 이체 | 매출 분석, 사용자 행동 분석 |
| 대표 DB | PostgreSQL, MySQL | ClickHouse, BigQuery, Redshift |
OLAP 시스템은 비즈니스 인텔리전스(Business Intelligence) 목적의 데이터 분석, 리포팅(Reporting), 예측을 위해 대규모 데이터셋에 대한 복잡한 쿼리를 수행하도록 설계된 시스템입니다.
쉽게 말해서, “지난달 서울 지역 30대 남성 고객의 평균 구매 금액은?”같은 질문에 답하는 게 OLAP이고, “김철수 고객이 방금 10만원 결제했어요”를 처리하는 게 OLTP입니다.
3. 왜 ClickHouse가 이렇게 빠른가요?
ClickHouse의 핵심 비밀은 바로 컬럼 지향 스토리지(Columnar Storage)에 있습니다.
행 기반 vs 컬럼 기반, 실제 차이는?
전통적인 행 기반(Row-Based) 데이터베이스 (PostgreSQL, MySQL 등):
[ID=1, 이름=김철수, 나이=25, 도시=서울]
[ID=2, 이름=이영희, 나이=30, 도시=부산]
[ID=3, 이름=박민수, 나이=28, 도시=서울]
ClickHouse의 컬럼 기반(Column-Based) 저장 방식:
[ID 컬럼: 1, 2, 3, ...]
[이름 컬럼: 김철수, 이영희, 박민수, ...]
[나이 컬럼: 25, 30, 28, ...]
[도시 컬럼: 서울, 부산, 서울, ...]
컬럼 지향 데이터베이스는 같은 컬럼의 값들을 함께 저장하며, ClickHouse는 데이터를 행이 아닌 컬럼 단위로 저장합니다.
실전 예시를 들어볼까요? “30세 이상 사용자의 평균 나이는?”이라는 분석 쿼리를 생각해보세요:
- 행 기반 DB: 모든 행을 다 읽어서 나이 컬럼만 추출 → 느림
- 컬럼 기반 DB: ‘나이’ 컬럼만 바로 읽음 → 빠름
이 차이가 10배~100배의 성능 차이를 만듭니다.
압축의 마법
같은 종류의 데이터가 연속적으로 저장되면 압축률도 훨씬 높아집니다.
예를 들어:
- 도시 컬럼: [서울, 서울, 서울, 부산, 부산, 서울…]
- 압축 후: [서울x3, 부산x2, 서울x1…]
ClickHouse의 컬럼 형식은 효율적인 압축 알고리즘(Compression Algorithms)과 결합되어 스토리지 비용을 대폭 줄이면서 쿼리 속도를 극적으로 향상시킵니다.
벡터화 처리와 병렬 실행
ClickHouse는 벡터화된 쿼리 실행(Vectorized Query Execution)을 사용하여 데이터를 한 행씩이 아닌 컬럼 배치로 처리합니다.
또한 분산 아키텍처(Distributed Architecture)를 지원해서:
- 데이터를 여러 서버에 샤딩(Sharding) 가능
- 쿼리를 병렬로 처리하여 속도 향상
- **수평 확장(Horizontal Scaling)**으로 성능 개선
데이터가 여러 서버에 분산되어 쿼리가 병렬로 처리될 수 있어, 마치 여러 요리사가 식사의 다른 부분을 동시에 작업하는 것처럼 훨씬 빠릅니다.
4. 실제 기업들은 어떻게 사용할까?
숫자로만 보면 와닿지 않을 수 있으니, 실제 기업들의 사례를 살펴볼까요?
Cloudflare의 사례: 초당 수억 건 처리
Cloudflare는 ClickHouse의 초기 도입 기업 중 하나로, 2016년 오픈소스 공개 직후 그해 말부터 프로덕션 환경에서 사용하기 시작했습니다.
Cloudflare는 ClickHouse를 다음 용도로 활용합니다:
- HTTP 및 DNS 분석(Analytics): 대규모 웹 트래픽 모니터링
- 로깅 분석(Logging Analytics): 트래픽 및 봇 관리
- 고객 대시보드(Customer Dashboards): 실시간 데이터 제공
- 방화벽 분석(Firewall Analytics) 및 Cloudflare Radar
Cloudflare는 초당 수억 건의 행을 처리하며, 실시간으로 봇과 실제 사용자를 구분합니다.
Uber의 놀라운 성과
Uber는 로깅 시스템을 ClickHouse로 이전한 후 10배의 성능 향상을 달성했으며, 하드웨어 비용을 절반으로 줄였습니다.
eBay의 DevOps 혁신
eBay는 실시간 OLAP 이벤트 인프라에 ClickHouse를 사용하며, DevOps 부서의 노력을 줄이고 10배 적은 하드웨어를 사용하면서도 Grafana를 통한 시각화 및 분석에서 더 나은 결과를 달성했습니다.
국내 스타트업의 변화
한국의 한 모바일 앱 스타트업은 하루 백만 명 이상의 사용자로부터 1억 개 이상의 이벤트를 수집하여 ClickHouse로 처리하고 있습니다.
ClickHouse 기반 분석 파이프라인 도입 후 분석 속도가 기존 대비 10배~100배 이상 빨라졌으며, A/B 테스팅(Testing)과 코호트 분석(Cohort Analysis)을 무리 없이 수행할 수 있게 되었습니다.
5. ClickHouse의 핵심 특징 한눈에 보기
| 특징 | 설명 | 비고 |
|---|---|---|
| 처리 속도 | 초당 수십억 행 처리 가능 | 일반 DB 대비 100배 빠름 |
| 스토리지 효율 | 컬럼 압축으로 90% 절감 | 저장 공간 대폭 감소 |
| 실시간 분석 | 서브 세컨드(1초 이하) 응답 | 대시보드에 최적 |
| 확장성 | 수평 확장 지원 | 서버 추가로 성능 향상 |
| SQL 호환 | 표준 SQL 문법 사용 | 학습 곡선 낮음 |
| 오픈소스 | Apache License 2.0 | 무료 사용 가능 |
| 데이터 수집 | Kafka, CSV, API 등 지원 | 실시간 스트리밍 가능 |
| 클라우드 | AWS, GCP, Azure 모두 지원 | 관리형 서비스 제공 |
6. 언제 ClickHouse를 사용해야 할까요?
✅ 적합한 사용 사례
1. 실시간 분석 대시보드
- 웹 분석 (Web Analytics)
- 사용자 행동 분석 (User Behavior Analytics)
- 비즈니스 인텔리전스 대시보드 (BI Dashboards)
2. 로그 분석 (Log Analytics)
- 애플리케이션 로그
- 시스템 로그
- 보안 로그 (SIEM)
3. 시계열 데이터 (Time-Series Data)
- IoT 센서 데이터
- 모니터링 메트릭 (Metrics)
- 성능 지표
4. 대규모 집계 쿼리
- 매출 통계
- 트렌드 분석
- 월간/연간 리포팅
❌ 적합하지 않은 경우
ClickHouse는 다음과 같은 경우에는 적합하지 않습니다:
1. 빈번한 업데이트/삭제가 필요한 경우
- 전자상거래 주문 관리
- 은행 애플리케이션
- 재고 관리 시스템 → 대안: PostgreSQL, MySQL, TiDB
2. 복잡한 조인(Join)이 많은 경우
- ERP 시스템
- 관계형 BI 애플리케이션
- 복잡한 스타 스키마(Star Schema) → 대안: StarRocks 또는 멀티 테이블 조인에 최적화된 DB
3. 트랜잭션 무결성(ACID)이 중요한 경우
- 금융 거래
- 결제 시스템
- 회원 정보 관리
7. ClickHouse 설치하기: 가장 쉬운 방법부터
이제 본격적으로 ClickHouse를 시작해볼까요? 실용성 순서로 설명드리겠습니다.
방법 1: ClickHouse Cloud (가장 간편, 추천!)
개발 환경 설정이 번거롭다면 클라우드 서비스가 가장 좋습니다. 30일 무료 체험이 제공되며, AWS, GCP, Azure 모두 지원합니다.
시작 방법:
- ClickHouse Cloud 접속
- 이메일로 회원가입
- 클라우드 제공업체 선택 (AWS/GCP/Azure)
- 리전(Region) 선택
- 클러스터 자동 생성 완료!
클라우드 버전의 장점:
- ✅ 샤딩(Sharding), 복제(Replication) 자동 처리
- ✅ 자동 업그레이드(Auto-Upgrade)
- ✅ 자동 스케일링(Auto-Scaling)
- ✅ 복잡한 데이터베이스 시스템 관리 불필요
방법 2: Docker로 빠르게 시작하기 (로컬 개발용)
로컬에서 테스트하고 싶다면 Docker가 가장 간편합니다.
단일 컨테이너 실행:
# ClickHouse 서버 실행
docker run -d \
--name clickhouse-server \
-p 8123:8123 \
-p 9000:9000 \
clickhouse/clickhouse-server
# 클라이언트로 접속
docker exec -it clickhouse-server clickhouse-client
Docker Compose로 실전 환경 구축:
docker-compose.yml 파일 생성:
version: '3'
services:
clickhouse-server:
image: clickhouse/clickhouse-server
ports:
- "8123:8123" # HTTP 인터페이스
- "9000:9000" # 네이티브 TCP
volumes:
- ./data:/var/lib/clickhouse # 데이터 영구 저장
- ./logs:/var/log/clickhouse-server # 로그
ulimits:
nofile:
soft: 262144
hard: 262144
clickhouse-client:
image: clickhouse/clickhouse-client
entrypoint: /bin/sleep
command: infinity
depends_on:
- clickhouse-server
실행 방법:
# 디렉토리 생성
mkdir -p data logs
# 서비스 시작
docker-compose up -d
# 클라이언트 접속
docker-compose exec clickhouse-client clickhouse-client --host clickhouse-server
# 웹 UI로 접속
# 브라우저에서 http://localhost:8123/play 열기
포트 설명:
- 8123: HTTP 인터페이스 (웹 기반 쿼리, REST API)
- 9000: 네이티브 TCP 프로토콜 (클라이언트 연결)
방법 3: 공식 스크립트로 설치 (Linux/macOS)
서버에 직접 설치하고 싶다면:
# 설치
curl https://clickhouse.com/ | sh
# 서버 시작
./clickhouse server
# 다른 터미널에서 클라이언트 접속
./clickhouse client
Ubuntu/Debian APT 패키지:
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
sudo service clickhouse-server start
clickhouse-client
공식 설치 가이드: ClickHouse 설치 문서
8. 첫 번째 쿼리 실행하기: 실전 예제
설치가 완료되었다면 이제 실제로 사용해볼까요?
데이터베이스 및 테이블 생성
-- 데이터베이스 생성
CREATE DATABASE IF NOT EXISTS tutorial;
-- 데이터베이스 사용
USE tutorial;
-- 웹 로그 테이블 생성
CREATE TABLE web_logs (
timestamp DateTime,
user_id UInt32,
page_url String,
response_time UInt16,
country String,
device String
) ENGINE = MergeTree()
PARTITION BY toYYYYMM(timestamp)
ORDER BY (timestamp, user_id);
중요 개념 설명:
- ENGINE = MergeTree(): ClickHouse의 핵심 스토리지 엔진(Storage Engine)
- PARTITION BY: 데이터를 월별로 분할 → 쿼리 최적화
- ORDER BY: 정렬 키(Sorting Key) → 빠른 검색
테스트 데이터 입력
-- 샘플 데이터 입력
INSERT INTO web_logs VALUES
('2025-11-04 10:00:00', 1001, '/home', 120, 'KR', 'mobile'),
('2025-11-04 10:01:00', 1002, '/products', 250, 'US', 'desktop'),
('2025-11-04 10:02:00', 1001, '/checkout', 180, 'KR', 'mobile'),
('2025-11-04 10:05:00', 1003, '/home', 95, 'JP', 'tablet'),
('2025-11-04 10:10:00', 1002, '/cart', 200, 'US', 'desktop');
-- 데이터 확인
SELECT * FROM web_logs LIMIT 5;
실전 분석 쿼리
-- 1. 평균 응답 시간 구하기
SELECT avg(response_time) as avg_response
FROM web_logs;
-- 2. 국가별 페이지뷰 수
SELECT
country,
count() as pageviews,
avg(response_time) as avg_response
FROM web_logs
GROUP BY country
ORDER BY pageviews DESC;
-- 3. 시간대별 트래픽 분석
SELECT
toStartOfHour(timestamp) as hour,
count() as pageviews,
uniq(user_id) as unique_users
FROM web_logs
GROUP BY hour
ORDER BY hour;
-- 4. 디바이스별 성능 비교
SELECT
device,
count() as requests,
avg(response_time) as avg_response,
quantile(0.95)(response_time) as p95_response
FROM web_logs
GROUP BY device;
CSV 파일 불러오기
실제 데이터를 다룰 때 가장 많이 사용하는 방법입니다:
-- CSV 파일에서 직접 조회
SELECT *
FROM file('data.csv', 'CSV', 'timestamp DateTime, user_id UInt32, page String')
LIMIT 10;
-- CSV를 테이블로 불러오기
INSERT INTO web_logs
SELECT *
FROM file('data.csv', 'CSV');
-- S3에서 직접 불러오기도 가능
SELECT *
FROM s3('https://mybucket.s3.amazonaws.com/data.csv', 'CSV')
LIMIT 10;
9. 실시간 데이터 수집: Kafka 연동하기
ClickHouse는 CSV 파일 같은 배치 업로드부터 Apache Kafka를 사용한 실시간 스트림까지 다양한 방식으로 데이터 수집을 처리합니다.
Kafka 테이블 엔진 설정
-- Kafka에서 데이터를 읽는 테이블 생성
CREATE TABLE kafka_queue (
timestamp DateTime,
user_id UInt32,
event_type String,
event_data String
)
ENGINE = Kafka
SETTINGS
kafka_broker_list = 'localhost:9092',
kafka_topic_list = 'events',
kafka_group_name = 'clickhouse_consumer',
kafka_format = 'JSONEachRow',
kafka_num_consumers = 2;
-- 영구 저장용 테이블
CREATE TABLE events (
timestamp DateTime,
user_id UInt32,
event_type String,
event_data String,
processed_at DateTime DEFAULT now()
) ENGINE = MergeTree()
PARTITION BY toYYYYMM(timestamp)
ORDER BY (timestamp, user_id);
-- Materialized View로 자동 전송
CREATE MATERIALIZED VIEW events_mv TO events AS
SELECT
timestamp,
user_id,
event_type,
event_data
FROM kafka_queue;
이제 Kafka에 데이터가 들어오면 자동으로 events 테이블에 저장됩니다!
10. 시각화 도구와 연동하기
ClickHouse는 다양한 BI(Business Intelligence) 도구와 연동됩니다.
지원하는 주요 도구
| 도구 | 특징 | 적합한 용도 |
|---|---|---|
| Grafana | 실시간 모니터링 대시보드 | 시스템 메트릭, 로그 분석 |
| Metabase | 사용자 친화적인 오픈소스 BI | 비즈니스 리포팅 |
| Superset | Apache의 강력한 BI 플랫폼 | 복잡한 데이터 탐색 |
| Tableau | 엔터프라이즈급 분석 | 대기업 BI 솔루션 |
| Redash | SQL 기반 시각화 | 개발자 친화적 |
Grafana 연동 예시
- Grafana 플러그인 설치:
grafana-cli plugins install grafana-clickhouse-datasource
- Grafana에서 데이터 소스 추가:
- Configuration → Data Sources → Add data source
- “ClickHouse” 선택
- 서버 정보 입력 (localhost:9000)
- 대시보드 생성 및 쿼리 작성
공식 가이드: ClickHouse + Grafana 통합
11. 다른 데이터베이스와 비교하기
많은 분들이 궁금해하시는 부분이죠. 객관적으로 비교해보겠습니다.
ClickHouse vs PostgreSQL
| 항목 | PostgreSQL | ClickHouse |
|---|---|---|
| 주 용도 | OLTP (트랜잭션) | OLAP (분석) |
| 데이터 무결성 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 분석 성능 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 업데이트/삭제 | 빠름 | 느림 |
| 대용량 집계 | 느림 | 매우 빠름 |
실전 활용법: 두 개를 함께 사용!
- PostgreSQL: 트랜잭션 처리 (주문, 회원 정보)
- ClickHouse: 데이터 분석 (매출 통계, 사용자 행동)
- CDC(Change Data Capture)로 PostgreSQL → ClickHouse 데이터 복제
ClickHouse vs BigQuery/Redshift
| 항목 | BigQuery | Redshift | ClickHouse |
|---|---|---|---|
| 가격 모델 | 쿼리당 과금 | 시간당 과금 | 인프라 비용만 |
| 성능 | 빠름 | 보통 | 매우 빠름 |
| 관리 난이도 | 쉬움 | 보통 | 어려움 |
| 오픈소스 | ❌ | ❌ | ✅ |
| 클라우드 종속 | GCP만 | AWS만 | 모든 클라우드 |
최근 벤치마크에 따르면 ClickHouse는 대부분의 시나리오에서 Redshift를 능가하며, 쿼리에 따라 1.5배에서 5배 더 빠릅니다.
ClickHouse vs Apache Druid
| 항목 | Apache Druid | ClickHouse |
|---|---|---|
| 강점 | 이벤트 스트림 분석 | 범용 OLAP |
| 시계열 데이터 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| SQL 지원 | 제한적 | 완전한 SQL |
| 운영 복잡도 | 높음 | 중간 |
| 성능 | 빠름 | 더 빠름 |
12. 주의사항과 실전 팁
🚨 주의해야 할 점
1. 업데이트/삭제는 비용이 큽니다
-- ❌ 피해야 할 패턴
UPDATE users SET status = 'active' WHERE user_id = 123;
-- ✅ 권장 패턴: 새 행 추가 + 쿼리 시 필터링
INSERT INTO users VALUES (123, 'active', now());
SELECT * FROM users
WHERE user_id = 123
ORDER BY timestamp DESC
LIMIT 1;
2. 배치 삽입을 사용하세요
-- ❌ 느린 방법: 한 줄씩
INSERT INTO logs VALUES ('log1');
INSERT INTO logs VALUES ('log2');
-- ✅ 빠른 방법: 배치 삽입 (최소 1000행 권장)
INSERT INTO logs VALUES
('log1'), ('log2'), ('log3'), ... ('log1000');
3. 파티션 키를 잘 설계하세요
-- ✅ 좋은 예: 월별 파티션
CREATE TABLE events (
timestamp DateTime,
data String
) ENGINE = MergeTree()
PARTITION BY toYYYYMM(timestamp) -- 월별로 데이터 분리
ORDER BY timestamp;
-- 쿼리 시 특정 파티션만 스캔
SELECT * FROM events
WHERE timestamp >= '2025-11-01'
AND timestamp < '2025-12-01';
💡 성능 최적화 팁
1. Materialized View 활용
-- 자주 사용하는 집계 쿼리를 미리 계산
CREATE MATERIALIZED VIEW daily_stats
ENGINE = SummingMergeTree()
PARTITION BY toYYYYMM(date)
ORDER BY (date, country)
AS SELECT
toDate(timestamp) as date,
country,
count() as pageviews,
uniq(user_id) as unique_users,
avg(response_time) as avg_response
FROM web_logs
GROUP BY date, country;
-- 이제 이 쿼리가 초고속!
SELECT * FROM daily_stats WHERE date = today();
2. 적절한 데이터 타입 선택
-- ❌ 비효율적
CREATE TABLE bad_example (
id String, -- 숫자를 문자열로
amount Float64, -- 소수점이 필요없는데 Float 사용
created String -- 날짜를 문자열로
);
-- ✅ 효율적
CREATE TABLE good_example (
id UInt64, -- 적절한 정수 타입
amount Decimal(10,2),-- 금액은 Decimal
created DateTime -- 날짜 타입 사용
);
13. 학습 리소스와 커뮤니티
📚 공식 문서 및 학습 자료
- ClickHouse 공식 문서: https://clickhouse.com/docs
- ClickHouse Academy: 무료 온라인 강좌 https://clickhouse.com/learn
- ClickHouse GitHub: https://github.com/ClickHouse/ClickHouse
- 예제 데이터셋: https://clickhouse.com/docs/en/getting-started/example-datasets
👥 커뮤니티 및 지원
- ClickHouse Slack: 실시간 질문 및 토론
- GitHub Discussions: https://github.com/ClickHouse/ClickHouse/discussions
- Stack Overflow:
clickhouse태그 - 공식 블로그: https://clickhouse.com/blog
🎥 추천 영상 및 튜토리얼
- Getting Started 공식 영상: ClickHouse 시작하기
- ClickHouse 밋업 영상들: 실제 사용 사례 공유
마무리하며…
ClickHouse는 빅데이터 분석의 판도를 바꾸고 있는 강력한 도구입니다. Anthropic의 경우 “ClickHouse는 Claude 4를 개발하고 출시하는 데 중요한 역할을 했습니다”라고 밝혔으며, Tesla는 “ClickHouse는 모든 요구사항을 충족했습니다. 가용성, 속도, 내구성 등 우리가 원하는 모든 것을 갖추고 있습니다”라고 평가했습니다.
물론 모든 프로젝트에 완벽한 해답은 아닙니다. 트랜잭션 처리나 빈번한 업데이트가 필요한 경우에는 전통적인 RDBMS가 더 적합할 수 있습니다.
하지만 다음과 같은 경우라면 ClickHouse를 적극 고려해보세요:
- ✅ 대규모 데이터를 빠르게 분석해야 할 때
- ✅ 실시간 대시보드가 필요할 때
- ✅ 로그 데이터를 효율적으로 저장하고 분석해야 할 때
- ✅ 스토리지 비용을 절감하고 싶을 때
- ✅ 오픈소스 솔루션을 선호할 때
중소규모 서비스에서 합리적인 성능을 제공하면서 빠르게 가동할 수 있는 OLAP용 데이터베이스가 필요하다면, ClickHouse를 시도해보는 것을 추천합니다.
여러분의 데이터 분석 환경을 한 단계 업그레이드할 준비가 되셨나요? 오늘 바로 ClickHouse Cloud에서 무료로 시작해보세요!