현대 애플리케이션
개발자 생산성
인프라 민첩성
빅 데이터, 다형(多形) 데이터
성급하고 요구사항이 많은 사용자
현대 애플리케이션을 위한 최고의 데이터베이스,
MongoDB
분산 시스템 어디에서나 실행문서 모델
운영 데이터 플랫폼코어 MongoDB
데이터베이스
데이터를 수월하게 만드는 방법
코어 MongoDB
데이터베이스
분산 시스템
문서 모델
자연스러운 모델링
자연스러운 쿼리
동적 스키마
문서 모델
분산 시스템
높은 가용성
확장성
워크로드 분리
지리적-배치
4.2
4.2
트랜잭션
4.0
복제 세트 트랜잭션
익숙
대화형
고성능
복제 세트 트랜잭션 구문
function quit_social_media( dbName, session, quitter ) {
session.start_transaction()
const sessionDB = session.getDatabase(dbName)
db.users.removeOne( { "_id": quitter } )
db.users.update(
{ "followers": { "$elemMatch": { "_id": quitter } } },
{ "$pull": { "followers": quitter } })
session.commit_transaction()
}
분산 트랜잭션
4.2
복제 세트 트랜잭션 구문
function quit_social_media( dbName, session, quitter ) {
session.start_transaction()
const sessionDB = session.getDatabase(dbName)
db.users.removeOne( { "_id": quitter } )
db.users.update(
{ "followers": { "$elemMatch": { "_id": quitter } } },
{ "$pull": { "followers": quitter } })
session.commit_transaction()
}
분산 트랜잭션 구문
분산 트랜잭션 클라이
언트
샤드 1샤드 1샤드 0
update()
update()
커밋!
커밋!
준비!레디!
성공!
update()
update()
mongos
쿼리 라우터
커밋!
조정자
분산 트랜잭션
대화형 구문
ACID
자신의 기록을 열람
복제 세트 트랜잭션과
동일
4.2의 트랜잭션
분산 트랜잭션
대형 트랜잭션
이변(易變) 샤드 키 값
글로벌 클러스터 로컬
재배치
{
order_id,
customer_id
}
{
line_item_id,
order_id
}
session.start_transaction()
db.line_items.update(
{ order_id : my_order_id } ,
{ $mul : { price : discount } },
session = my_session)
db.orders.update(
{ order_id : my_order_id } ,
{ $mul : { order_total : discount
} },
session = my_session )
session.end_transaction()
// an order document
{
"_id" : 3027,
"customer_id": 925305,
"line_items": [
{
"title" : "Leafie's Revenge",
"price" : 23.50,
"qty" : 1,
},
{ ... },
// more line items
]
}
분산 트랜잭션: 큰 권한에는 무거운 책임이 동반
존 유(John Yu)
스태프 엔지니어, 교육
시간 – 10:45 AM-11:25AM
언어 – 영어
MongoDB의 데이터 모델링에 대한 완전한 방법론
김준(Jun Kim)
선임 솔루션 아키텍트
시간 – 4:15 PM - 4:55 PM
언어 – 한국어
4.2
트랜잭션
4.2
읽기 & 쓰기 재시도
4.2
더 풍부한 표현 업데이트
4.2
주문형 구체화 뷰
Aggregation Pipeline Power++: MongoDB 4.2 파이프 라인이
쿼리, 업데이트 및 구체화된 뷰를 강화하는 방법
김준(Jun Kim)
선임 솔루션 아키텍트
시간 – 1:50 PM - 2:30 PM
언어 – 한국어
4.2
주문형 구체화 뷰
4.2
와일드카드 인덱스
타임 리드의 글로벌 포인트
다중-CA & 온라인 교대
Agg Pipeline ++
새로운 인덱스 구축
10배 더 빠른 stepDown
스토리지 노드 워치독
Z표준 압축
4.2
https://www.mongodb.com/download-center
현재 Atlas에서 사용 가능
분산 트랜잭션
재시도가능한 읽기 & 쓰기
표현 업데이트
주문형 구체화 뷰
와일드카드 인덱스
현대적 애플리케이션을 위한
최고의 데이터베이스
모든 사용 사례, 모든 플랫폼
현대 운영
가용성
모니터링 & 경보
백업
셀프서비스
APIs
현대 운영
온-프레미스 MongoDB를
운영하는 최고의 방법
Ops Manager 백업
강력한 기능
적시 복원
쿼리가능한 스냅샷
(과거의) 과제
움직이는 다수의 조각
높은 비용
Ops Manager 백업 아키텍처 간소화
기존 온-프레미스 백업 아키텍처
새로운 백업 아키텍처
앱 서버/백업 DaemonMongoDB 에이전트
Oplog
S3 스냅샷 저장소
백업용 앱 서버
백업 에이전트
모니터링 에이전트 Oplog 백업
Daemon
HeadDB
백업
Daemon
HeadDB
백업
Daemon
HeadDB
블록저장소
프라이빗 클라우드
승자!
Kubernetes Operator
복잡한 클러스터 토폴로지
VM 확장
확장성
자가 치료
처음부터 완벽한 보안
모든 Kubernetes 배포와 함께 작동
오픈 소스
인증
퍼블릭 클라우드 MongoDB를
운영하는 최고의 방법
통합
Atlas 자동 확장
부하에 맞게 즉시 확장
부하 감소에 따른 축소
보안
SOC 2 유형 2
HIPAA
ISO 27001
PCI 규정준수
인증
{
"_id": 923452345,
"name": "John Doe",
"ssn": "555-55-5555,
"addresses": {
"home": {
"street": "123 secret way",
"state": "NV",
"zip": "89429"
} }
}
{
"_id": 923452345,
"name": "John Doe",
"ssn": "9+4/J%|]yr4t4M(",
"addresses":
"cEfgjCW,WqK+vB4V&fX1{G4XI*oi?OmQA7kT9>,}1vo
SG!5cJkl0?6ckTmL*9TmZ^[x`2gRkCYpP)~Ol5dpBz"
}
클라이언트측 필드 수준 암호화
개발자에게 투명
유연한 동적 키 선택
클라우드에 데이터를 저장하는
가장 안전한 방법
개발자들에게 수월한 데이터
만들기
검색은
대부분의
애플리케이션에 필요
Sync
Full Text Search
김동한(DongHan Kim)
선임 컨설팅 엔지니어
Atlas Full Text Search
완벽하게 통합
손쉬운 설정
Lucene의 완벽한 힘
MongoDB Charts
직관적
인터랙티브
문서-인식
인터랙티브 차트 구축
라이브 대시보드 구성
Grigori의 트래커
9,836 단계
오늘
퍼블릭, 프라이빗 또는 개별화된 공유
차트 및 임베디드 차트
MongoDB Charts
토니 리 첵 와이(Tony Li Cheuk Wai)
선임 컨설팅 엔지니어
MongoDB Charts로 데이터 여정을 시작해보세요!
김동한(DongHan Kim)
선임 컨설팅 엔지니어
시간 – 2:55 PM - 3:35 PM
언어 – 한국어
문서 데이터를 시각화하는
최고의 방법
Triggers
Kafka Connector
Apache Kafka를 위한 MongoDB Connector
MongoDB가 지원 Gold 인증
싱크
소스
Apache Kafka를 위한 MongoDB Connector
Confluent Hub에서 사용 가능: www.confluent.io/hub/mongodb/kafka-connect-mongodb
Realm이
모바일
개발자에게
사랑받는
이유
개발자들이 생각하는 방식으로 작동 – 개체
언어 & 플랫폼에 깊이 통합
개체처럼 인식되지만 강력한 부수 기능 동반:
• 식별 가능
• 동시 운영
• 트랜잭션
보일러플레이트 코드가 필요 없음
Realm Core의
미래
JSON 데이터베이스가 되지 않지만:
비정형 데이터를 위한 새로운 데이터 유형
• 사전
• 세트
• 모든/혼합
캐스캐이딩 삭제
상속
분석 및 변형 쿼리
더 많은 플랫폼 지원
로드맵
Realm, 모바일에서
데이터를 다루는 최고의
방법
보편적 싱크 솔루션 구축
백업
기기 간 싱크
모바일 & 웹을 위한 통합
백엔드
맞춤형 액세스 제어 코드
대체
MongoDB Realm
RealmDB
Sync
모바일
인증 & 규칙
기능
코드 배포
코어 백엔드
어디에서나 쿼리
정적 호스팅
어디에서나 데이터-집약형
애플리케이션을 구축하는
최고의 방법
Atlas Data Lake
Query S3 데이터
서버리스 / 종량제
JSON, BSON, CSV, TSV, Avro,
& Parquet 포맷
압축 지원
표준 MQL 및
MongoDB API
모든 도구와 호환
데모
MongoDB Atlas Data Lake에 관한 심층 기술 설명
스티븐 스테네커(Stephen Steneker)
선임 기술 서비스 엔지니어
시간 –12:40 PM - 1:20 PM
언어 – 영어
MongoDB
분산 트랜잭션
재시도가능한 읽기 &
쓰기
표현 업데이트
주문형 구체화 뷰
와일드카드 인덱스
운영
Ops Manager 헤드리스
백업
Ops Manager K8 GA
Atlas 자동 확장
Atlas ISO 규정준수
필드 수준 암호화
플랫폼
Atlas Full-Text Search
MongoDB Charts GA
Atlas Triggers
Apache Kafka Connector
MongoDB Realm
Atlas Data Lake
개발자들에게 수월한 데이터
만들기

MongoDB 신제품 및 신기능 소개