사례로 알아보는 MariaDB 마이그레이션
현대적인 IT 환경과 애플리케이션을 만들기 위해 우리는 오늘도 고민을 거듭합니다. 최근 들어 오픈소스 DB가 많은 업무에 적용되고 검증이 되면서, 점차 무거운 상용 데이터베이스를 가벼운 오픈소스 DB로 전환하는 움직임이 대기업의 미션 크리티컬 업무까지로 확산하고 있습니다. 이는 클라우드 환경 및 마이크로 서비스 개념 확산과도 일치하는 움직임입니다.
상용 DB를 MariaDB로 이관한 사례를 통해 마이그레이션의 과정과 효과를 살펴 볼 수 있습니다.
MariaDB로 이관하는 것은 어렵다는 생각을 막연히 가지고 계셨다면 본 자료를 통해 이기종 데이터베이스를 MariaDB로 마이그레이션 하는 작업이 어렵지 않게 수행될 수 있다는 점을 실제 사례를 통해 확인하시길 바랍니다.
웨비나 동영상
https://www.youtube.com/watch?v=xRsETZ5cKz8&t=52s
사례로 알아보는 MariaDB 마이그레이션
현대적인 IT 환경과 애플리케이션을 만들기 위해 우리는 오늘도 고민을 거듭합니다. 최근 들어 오픈소스 DB가 많은 업무에 적용되고 검증이 되면서, 점차 무거운 상용 데이터베이스를 가벼운 오픈소스 DB로 전환하는 움직임이 대기업의 미션 크리티컬 업무까지로 확산하고 있습니다. 이는 클라우드 환경 및 마이크로 서비스 개념 확산과도 일치하는 움직임입니다.
상용 DB를 MariaDB로 이관한 사례를 통해 마이그레이션의 과정과 효과를 살펴 볼 수 있습니다.
MariaDB로 이관하는 것은 어렵다는 생각을 막연히 가지고 계셨다면 본 자료를 통해 이기종 데이터베이스를 MariaDB로 마이그레이션 하는 작업이 어렵지 않게 수행될 수 있다는 점을 실제 사례를 통해 확인하시길 바랍니다.
웨비나 동영상
https://www.youtube.com/watch?v=xRsETZ5cKz8&t=52s
Scala, Spring-Boot, JPA를 활용한 웹 애플리케이션 개발 과정에 대해 다룬다. Spring-Boot와 JPA 조합만으로도 생산성 있는 웹 애플리케이션 개발이 가능하다. 이 조합만으로도 충분히 의미가 있지만 여기에 Scala라는 약간은 불편한 듯 보이는 언어를 도입함으로써 얻을 수 있는 즐거움을 공유한다. Spring-Boot + JPA 조합에 Scala를 적용하면서의 좌충우돌 경험담을 전한다.
Scala, Spring-Boot, JPA를 활용한 웹 애플리케이션 개발 과정에 대해 다룬다. Spring-Boot와 JPA 조합만으로도 생산성 있는 웹 애플리케이션 개발이 가능하다. 이 조합만으로도 충분히 의미가 있지만 여기에 Scala라는 약간은 불편한 듯 보이는 언어를 도입함으로써 얻을 수 있는 즐거움을 공유한다. Spring-Boot + JPA 조합에 Scala를 적용하면서의 좌충우돌 경험담을 전한다.
1. NoSQL & Data Modelling
Cassandra와 RMS history
20160225
CDNetworks/Backend Team
박재홍
2. index
1. NoSQL?
2. NoSQL의 종류
3. NoSQL 분류
4. 있다! 없다!
5. NoSQL과 RDMS의 데이터 모델링의 차이
6. NoSQL의 모델링
7. Cassandra의 구조
8. RMS history data
9. Cassandra에서의 RMS history Data Modeling
10.적용 결과
11.정리
3. index
1. NoSQL?
2. NoSQL의 종류
3. NoSQL 분류
4. 있다! 없다!
5. NoSQL과 RDMS의 데이터 모델링의 차이
6. NoSQL의 모델링
7. Cassandra의 구조
8. RMS history data
9. Cassandra에서의 RMS history Data Modeling
10.적용 결과
11.정리
NoSQL!
NoSQL Data Modeling
RMS Data Modeling
12. 3. NoSQL 분류
1. Key/Value Store
a. Redis, Tokyo Cabinet
2. Ordered Key/Value Store
a. Cassandra, influxDB, HBase
13. 3. NoSQL 분류
1. Key/Value Store
a. Redis, Tokyo Cabinet
2. Ordered Key/Value Store
a. Cassandra, influxDB, HBase
3. Document Key/Value Store
a. CouchDB, MongoDB
16. 4. 있다! 없다!
● 있다.
Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)
● 없다.
17. 4. 있다! 없다!
● 있다.
Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)
Get : Select * from TABLE where KEY=”key”
● 없다.
Ÿ
18. 4. 있다! 없다!
● 있다.
Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)
Get : Select * from TABLE where KEY=”key”
● 없다.
Ÿ Sorting (SQL의 Order By)
19. 4. 있다! 없다!
● 있다.
Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)
Get : Select * from TABLE where KEY=”key”
● 없다.
Ÿ Sorting (SQL의 Order By)
Ÿ Join (RDBMS에서 두개의 Table을 Foreign Key를 이용하여 join)
20. 4. 있다! 없다!
● 있다.
Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)
Get : Select * from TABLE where KEY=”key”
● 없다.
Ÿ Sorting (SQL의 Order By)
Ÿ Join (RDBMS에서 두개의 Table을 Foreign Key를 이용하여 join)
Ÿ Grouping (SQL문의 group by)
21. 4. 있다! 없다!
● 있다.
Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)
Get : Select * from TABLE where KEY=”key”
● 없다.
Ÿ Sorting (SQL의 Order By)
Ÿ Join (RDBMS에서 두개의 Table을 Foreign Key를 이용하여 join)
Ÿ Grouping (SQL문의 group by)
Ÿ Range Query (where key>”start” and key<”end” 와 같이 일정 범위내의 내용을 쿼리해오는 기능)
Ÿ
22. 4. 있다! 없다!
● 있다.
Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)
Get : Select * from TABLE where KEY=”key”
● 없다.
Ÿ Sorting (SQL의 Order By)
Ÿ Join (RDBMS에서 두개의 Table을 Foreign Key를 이용하여 join)
Ÿ Grouping (SQL문의 group by)
Ÿ Range Query (where key>”start” and key<”end” 와 같이 일정 범위내의 내용을 쿼리해오는 기능)
Ÿ Index (RDBMS에 Index를 지정하여 select query 성능을 높이는 기능)
26. 6. NoSQL의 모델링
1. 도메인 모델 파악
2. 쿼리 결과 디자인 (데이타 출력형태 디자인)
3. 패턴을 이용한 데이타 모델링
4. 최적화를 위한 필요한 기능들을 리스팅
5. 후보 NoSQL을 선정 및 테스트
6. 데이타 모델을 선정된 NoSQL에 최적화 및 하드웨어 디자인
29. 9. Cassandra에서의 RMS history data modeling
1. 도메인 모델 파악
a. VIP에 대해 측정항목에 대한 값을 시간별로 조회 해야 한다.
2. 쿼리 결과 디자인 (데이타 출력형태 디자인)
a. select * from rms_history where vip_id=100 and created_at between and probe_id=10;
3. 패턴을 이용한 데이타 모델링
a. Denormalization, Aggregation, Application Side Join
4. 최적화를 위한 필요한 기능들을 리스팅
a. Time Sequencial Data, Denormalize, Paging, Unbounded Data, Secondary Index, Delete Data
5. 후보 NoSQL을 선정 및 테스트
6. 데이타 모델을 선정된 NoSQL에 최적화 및 하드웨어 디자인